For many the land of software development is a black box, a mystery and all they know is that I want it work a certain way. I want to accomplish XYZ and this site or this app will let me do that. Some have the “greatest app idea” and if I could just code it or find someone who can I can make millions. Here are 6 facts about software development everyone thinks is true but maybe should be explained further.
1. Coding is hard
Writing code isn’t hard many people write code every day. Writing good code is hard. Writing code that is optimized and easy to read by everyone is hard, but writing code that can do something useful is actually pretty trivial. The complexity of the code is directly proportional to the difficulty of the problem you are trying to solve.
2. I have to know advanced math to be a developer.
This one is wrong too. If you want to be a developer write code and lots of it. Math helps you think about the best way to accomplish a task, and there are somethings that advanced math concepts make easier and shorter. The bottom line truth is, you don’t need to have a Masters degree in Mathematics to be a developer.
3. I have to understand how a computer works to be a developer
This one may shock you. You really don’t need to know the intimate detailed workings of a computer to be a developer. I have known several individuals who are “programmers” that could not tell you how exactly everything works inside a computer. You only need to know how to use the tool, not how the tool works under the covers. That being said, you can be better if you do have a fundamental understanding of how something works. Programming is not different. Having an insight on how a compiler optimizes code is useful, but not necessary to write code. Get your feet wet coding for a while and as you practice you will find that you will be learning the inner workings of a computer all because you want to.
4. Everyone should learn to code
This is a quote from the late Steve Jobs. The truth is coding isn’t for everyone and it does take a certain mind set to write code. It is the same thing I tell my kids, you should at least try it before you decide that you don’t like it. You may surprise yourself. But in the end it really is OK to say I’m not a programmer or I don’t like coding. I have many students who start out thinking they would like to do coding and after a few months of it they decide that it just isn’t for them and that is OK.
5. If I build this app I be a millionaire
The truth is the majority of the apps that are built fail to get any traction or even produce a substantial revenue. To be able to put “app builder” on a resume is still pretty cool. There are the stories of building an app in a dorm room and putting it out there and making millions or selling it to some large company. These are true stories, but for every story like this out there, there a huge number of apps that fail for various reasons.
6. A web developer and a web designer are the same thing
This could not be farther from the truth. Designers design things. They make them look pretty and user friendly. Developers make them work the way they are supposed to be. It frustrates me when HR people and managers get this one confused. Most developers I know are not designers and in fact they stay as far away from design as possible, I am included in this group. Designers on the other hand build sites that look great, but may not function very well. In most cases they will work and the user can accomplish everything they set out to do, but the underlying code is horrible and difficult to maintain. This too is something I have experienced. I am not saying one profession is better than the other. Just that each has their own talents and should work together to make a site useful, good looking and easy to maintain.