Living in the tech world I have noticed many mistakes that new programmers often make. Some of which, I have made myself. Here I have put a short list of very common misconceptions new programmers have about programming. They don’t essentially apply to everyone but I have met quite a few programmers who faced what I call “the programmer’s block”. Read on.
Programmers Only Work on a Supercomputer:Programming is more than simply coding; it requires skill more than good hardware. Click To Tweet
If you go out today and ask your best buddy to start programming you’d be met with ridicule. He would say, “Are you crazy? I don’t even have a good PC. Look at that piece of junk, do you really think I can program on that?!” Well, let me tell you something; if you are waiting for an i9 with 64 gigs of RAM just to “start” programming, you are an idiot. If Linus can build Linux on a Sinclair QL running MINIX in 1991 than you can also build your app on whatever computer you currently have.
Programming is more than simply coding; it requires skill more than good hardware. A true programmer can make you an app without his IDE, without even his favorite editor. In fact, most good books on learning to program encourage developers to use Notepad or some other editor. Now don’t get me wrong, IDEs are very helpful. I use them all the time but they are not the end of the world for developers. If you can’t program without your IDE then you don’t deserve to program. At all.
Programming doesn’t even require an Internet connection, thought it is certainly helpful. If you have
a working computer, a keyboard and a mouse, you are good to go. Don’t wait around for a supercomputer when you can do the same thing on a P4.
The Programmer’s Block:Learning without practice is futile. Click To Tweet
Each and every new programmer has this inherent passion to learn. He is the very model of learning but learning without practice is futile. Knowledge should benefit those around you; if it fails to do that it is not knowledge but mere information. Learning, learning and only learning; this is what I call “the programmer’s block”.
The point of the matter is: master only one language, learn other languages as you feel the need.
I Don’t Need Any Help:Programmers are all part of a bigger family; a family of developers, designers, engineers, freelancers and so many more people. Click To Tweet
There is a reason communities like StackOverflow and GitHub exist. Programmers are all part of a bigger family; the family of developers, designers, engineers, freelancers and so many more people. Just try asking on StackOverflow, you will get tens of thousands of millions of trillions of answers (that was a figure of speech).
Most programmers enter this self-imposed isolation phage where they feel the need to do everything themselves. I admit that the idea of solving all the problems myself is exciting but there comes a stage when you need help of another. If you don’t go out asking for it, you will soon abandon your project. That is precisely why programmers finally decided to collaborate.
I Have to Reinvent Every Wheel:
I have been through this myself. When I was making Bread Player I considered using libraries and other pieces of code as “weak” (in terms of programming). Even now I refrain from using other libraries if I can help it. The problem however is, that it takes too much time to maintain everything myself. You can’t possibly create 100% pure software and even if you do, you are a fool.Being totally dependent on other libraries isn't helpful either. You need to find a balance between being dependent and being independent. Click To Tweet
I encourage new programmers to try and create their own libraries and frameworks as it helps them understand the bigger picture but reinventing the wheel every time is a foolish strategy. Being totally dependent on other libraries isn’t helpful either. You need to find a balance between being dependent and being independent; somewhere in there you will find true wisdom.
I Can’t Help, Teach or Earn until I Have Mastered Everything:
Helping:By teaching you learn. Click To Tweet
Most of what I know, I know because of helping others. When you are at the beginning of learning, you think that you can’t help anyone because, of course, you know so little. There is always, always, a person who knows less than you. If you teach that single person all you know, your own knowledge increases tenfold. No knowledge is perfect so there is always room for improvement. You don’t need a degree in helping to help someone but only by helping you can help someone.
Teaching:Teaching doesn't require having more knowledge but only the willingness to give what you already have. Click To Tweet
Being a teacher is more about learning than teaching. Every student you meet will teach you something different, if you have the guts to bend down and accept the knowledge of your student, you are a successful teacher. Teaching doesn’t require having more knowledge but only the willingness to give what you already have.
Most freelancers out there don’t have degrees in the art they sell. Many programmers who earn millions of dollars a week don’t have a college education. Many other artists start to earn as soon as they start learning their art. Earning has no relation with learning. So you can start earning now or later, your choice. To begin, you have Freelancer, Fiverr and Upwork to offer your services.
Mathematics Is Programming:
If that was true, all mathematicians would be programmers when in reality very few mathematicians even know basic programming concepts. Why is that, do you think? In all the years (7+ years) I have programmed, I haven’t once encountered a problem that simple 8th grade mathematics couldn’t solve.
I won’t misguide you into believing that no complex mathematics is “ever” used in programming but believe me, if you are making a to-do app, music player or some other app, you don’t need a Masters in Mathematics.
I Can’t Make Apps to Compete with Microsoft’s or Google’s:
Microsoft wasn’t always here nor was Google or Facebook or Yahoo. Each of these companies started with only a single developer much like you and me. They all had an idea and instead being overwhelmed by the giants, they decided to become giants.It is plain foolishness to think that we can't make an app to compete the giants; we may be tiny but our minds have the power to soar. Click To Tweet
You and me, we can change the world with our apps. We just need to work hard enough. Look at Linux or Mozilla Firefox, they changed how we used computers. If they can do that, why can’t we? It is plain foolishness to think that we can’t make an app to compete the giants; we may be tiny but our minds have the power to soar.
I Need a Degree in Computer Science or Software Engineering:
I don’t think I need to say anything regarding this if you paid attention to the previous topics.
Here endeth the lesson.
These are only a few problems faced by the upcoming population of programmers. I think if we, old or experienced, programmers help these kids in a productive way, we can truly change how the tech world works. A nudge here, a nudge there and viola!