All Projects → GT-Corp → myths-and-facts-about-programming

GT-Corp / myths-and-facts-about-programming

Licence: other
No description or website provided.

Projects that are alternatives of or similar to myths-and-facts-about-programming

Swift Daily Tips
Daily Tips from Swift World
Stars: ✭ 1,351 (+4258.06%)
Mutual labels:  tips
Vim Galore
🎓 All things Vim!
Stars: ✭ 12,610 (+40577.42%)
Mutual labels:  tips
Guides
Here you will find Guides mainly for Sonarr/Radarr/Bazarr and everything related to it.
Stars: ✭ 207 (+567.74%)
Mutual labels:  tips
Synology
Cheatsheet and bash scripts sripts for Synology Nas Stations cheet cheat sheet nas networkdisk
Stars: ✭ 125 (+303.23%)
Mutual labels:  tips
Book Open Source Tips
Open Source book on Open Source Tips
Stars: ✭ 152 (+390.32%)
Mutual labels:  tips
Torchfunc
PyTorch functions and utilities to make your life easier
Stars: ✭ 177 (+470.97%)
Mutual labels:  tips
Ctf Pwn Tips
Here record some tips about pwn. Something is obsoleted and won't be updated. Sorry about that.
Stars: ✭ 1,249 (+3929.03%)
Mutual labels:  tips
Git Usage
자주 사용하는 깃 명령어 모음
Stars: ✭ 214 (+590.32%)
Mutual labels:  tips
Zmjtipview
Fully customisable tooltip view in Objective-C for iOS.
Stars: ✭ 156 (+403.23%)
Mutual labels:  tips
Cs Univ Wiki
컴공생을 위한 대학 생활 가이드라인
Stars: ✭ 202 (+551.61%)
Mutual labels:  tips
Search Engine Optimization
🔍 A helpful checklist/collection of Search Engine Optimization (SEO) tips and techniques.
Stars: ✭ 1,798 (+5700%)
Mutual labels:  tips
Pine Utils
Code Snippets + Tricks & Tips to help Pine Script developers
Stars: ✭ 149 (+380.65%)
Mutual labels:  tips
Git Tips
这里是我的笔记,记录一些git常用和一些记不住的命令。
Stars: ✭ 185 (+496.77%)
Mutual labels:  tips
Oscp Prep
my oscp prep collection
Stars: ✭ 105 (+238.71%)
Mutual labels:  tips
Preguntas Y Respuestas Entrevistas Frontend
Un listado de preguntas y respuestas que hemos y nos han preguntado en entrevistas para Ingenieros y Desarrolladores de Front End (Para facilitar las entrevistas y el estudio)
Stars: ✭ 207 (+567.74%)
Mutual labels:  tips
React Native Root Tips
very simple and powerful way to show a toast in react-native
Stars: ✭ 86 (+177.42%)
Mutual labels:  tips
Pharo Wiki
Wiki related to the Pharo programming language and environment.
Stars: ✭ 161 (+419.35%)
Mutual labels:  tips
Awesome Android Tips
some code tips for android 💯
Stars: ✭ 2,490 (+7932.26%)
Mutual labels:  tips
Awesome Mac Things
some useful mac things:scripts, shells, doc, shortcut keys
Stars: ✭ 210 (+577.42%)
Mutual labels:  tips
Vue Cheatsheet
Modified version of the official VueMastery cheatsheet
Stars: ✭ 188 (+506.45%)
Mutual labels:  tips

What's this?

A collection of common myths and facts (opinionated) about computer programming that I wish I knew in my early career.

How to contribute?

  • Submit a pull request with new Q/A and updates

Programming requires math

  • Neutral.
  • Only a few percentages of programmers deal with math problems in their careers.
  • Analytical skills help to break down the problem. Think of programming as understanding the problem, breaking down into smaller steps, and solving it. Similar to math right?
  • However, people who are bad at Math can be a good programmer. It also depends on the type of role and type of problem they are trying to solve.

Programming job is similar to a typist. It's all about typing code.

  • False

  • Programming(at entry level) is about:

    • reading documentation and requirements
    • documenting stuff
    • thinking how to write code
    • writing code
    • testing
    • debugging bugs
    • deploying
    • discuss with team member/management
  • The amount of time you spend typing code depends on your role and job description. There will be days you won't be typing any code.

  • Majority of programming job requires maintaining an existing system written over the years by several people. You will be required to add features, customize, fix bugs, etc

You won't require a college degree to be a programmer

Everyone can learn and be a programmer within months

Programming is really hard

  • Neutral.
  • It depends on the individual, their learning/intellectual capability, and the type of programming role they learn/get into.
  • There will be certain things you can learn easily. But a college degree will help to broaden your perspective and learn things quickly.

Programming is monotonous. Its like working in the assembly line at a factory

  • False
  • On certain days or working in the same role for a long time, you may get a feel of your job being monotonous.
  • But it's not like working in the assembly line. It requires lots of thinking and analysis.

Programming is not for girls

  • False

You need to keep reading new stuff throughout your career

  • Neutral
  • You don't "need to". But learning new stuff helps advance your career.
  • Also, it depends on the type of tool and technologies you are using. Some tools/technology (eg: JS Frameworks) get deprecated every few years. Sometimes
  • Learning a new paradigm, best practices, new architecture concepts is always useful.

Machine Learning and AI seems easy to learn.

I don't have any knowledge of statistics/probability/modeling. However, the ML/AI tutorial I found online is just 10 lines of code and it seems easy.

  • False
  • It may seem easy to use ML/AI tools created by somebody else or follow a cookbook. But you will need to understand many concepts to use those tools when solving real problems. Don't get intimidated by simple tutorials. Start by the basics and dig into the tools.

Using long variable makes program slow. So I should program like this:

int a = read()
int b = 1000
if(a > 18 && b > 50)
    println("Entry allowed")


  • False

  • With compiled languages, no. With interpreted languages, possibly but the difference would be negligible.

  • Always focus on readability. Compare the above code with the following:

int age = readMemberAge()
int balance = 1000
if(age > 18 && balance > 50)
    println("Entry allowed")

I have to learn as many programming languages eg C, Python, Java, Ruby, Kotlin, Scala, Groovy, C#, Go to be a good programmer.

  • False
  • Think of programming language as natural language eg: Nepali, French, English, Japanese, and Chinese. And the art of writing a novel or poem as the actual programming. If you mastered five languages but do not have a skill of writing a (good) poem in either of those you are still not an artist.
  • Think of programming as art. Try to be an artist in at least one language. Think of a hobby project and develop with paying attention to code quality, performance, UI, features, etc.
  • Focus on learning programming rather than learning a language.
    • Programming is a skill that you can gain with just one language. If you know how to do X in Y language then you can do it in Z language too with little effort.

HackerRank, LeetCode will guarantee me a job

  • False
  • There's no doubt that the questions on those sites help you think critically and solve a problem.
  • Its a widely used screening method to filter our candidates these days.
  • Pet project(s) and your college projects will also help you land the first job.

Google, Amazon and Facebook are using X tool. It must be good so I should learn.

  • False
  • A lot of tools developed by tech-giants are being deprecated after a couple of years.
  • Looks for a tool/language/framework that's being used by a lot of companies for a long time.

X was developed by Google, Amazon, and Facebook so it must be good. I should learn and use it.

  • False
  • There's no guarantee that those tools MUST be good. Don't fall for advertisements
  • Review 100 job descriptions on Linkedin/Indeed etc and find yourself what's popular on the market

I must learn Angular, React, Vue and XYZ web framework to master my web development skills

  • False
  • It's better to start the web development without the frameworks so that you understand how those frameworks are solving the problems of not using those frameworks
  • You don't need to learn all of these, one would be enough. If you started learning web development without using frameworks, switching between frameworks would be easier.

I know X1 framework/library/tool. But the job vacancy says mentions X2(the alternative of X1). I should not apply for this job.

  • False
  • Test yourself if you know X1 framework/library/tool how long you will take to learn X2.
  • As long as you know the abstract concepts and have worked on at least one pet/professional project on your own there's a high chance that you can learn another framework/library/tool quickly. They all are trying to solve a similar project but slightly different ways.
  • Also look for 'preferred' vs 'required' skills on job vacancies.

Everyone on social media hates language/framework X. X must be bad.

  • False
  • Don't fall for people's 'opinions'. People think languages/frameworks/tools as religion. They hate each other.
  • The best way to find out what to learn is to look at job vacancies. At least a hundred of them.

Language X does that in one line. So, it is the best language.

  • Neutral
 DB.allRecords().read().toCsv("file.csv");
  • It's nice that they provided that functionality in one line out of the box. But there is a great deal of code hidden behind the scene.
  • All languages support creating library modules to extend the feature. Some languages are by nature too abstract/low level and it requires developers to write libraries around it to make things simpler.
  • So, that doesn't mean language X is best.

TODO:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].