It seems these days everyone wants to be a programmer from all walks of life no matter what subjects they studied or if they are a dropout or something else.<p>I&#x27;ve worked with people who had PHDs in Computer Science and still didn&#x27;t know how to program and I often had to debug their programs. They would make beginner mistakes over and over again.<p>I&#x27;ve also known people who dropped out of college and learned how to program on their own and gained a lot of experience and were better than me. Until the Dotcom age and requiring at least a bachelors to screen out applicants and then they couldn&#x27;t get a programming job anymore and went to work retail jobs.<p>If you want to know who should become a programmer, it is a person with an interest in programming. Almost anyone can become a programmer, the hard part is learning how to debug and write quality code. Not many can master that.<p>You will find many MOOCs about learning programming, but you won&#x27;t find many about debugging and quality control of code. When you get into a Hacker School or Hackathon most of what you will write is sloppy code because you have a time limit to get something done. Quality code takes a long time to get correct.<p>Most programmers are faceless, their company owns their IP, and their managers take credit for the code. Bill Gates and Zuckerberg are famous but had programmers work for them that made most of the stuff. Wozniak wrote his own code and designed his own circuits but was phased out when Apple got into the Macintosh era.<p>Programming is really hard and stressful work, you&#x27;ll have times when you can&#x27;t figure out what is wrong with your code and the clock ticks on your deadline for the project. You&#x27;ll ask for help and even Google search and still not be able to figure stuff out. Then after hours of no solution, you&#x27;ll figure something out and make the code work. It is not for the faint of heart, managers will treat you like something they scraped off their shoe, end users will cuss at you when something doesn&#x27;t work right, you can&#x27;t fight back and expect to hold on to that job. You have to be diplomatic about it. You have to learn how to deal with stress and failures.