8 Misconceptions New Programmers Have About Programming

8

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.

programmer on an old computer
Look at that…

The Programmer’s Block:

Learning without practice is futile. Click To Tweet

Okay, the heading may be a bit exaggerated but seriously, programmers nowadays can’t sit tight with only one language. If you are an active user on Quora, you might have seen multiple questions regarding how many programming languages to learn. The answer is simple; learn as many as you need. I myself know PHP, C#, C++, Python, JavaScript, CSS, HTML, XAML, and Java but I consider myself fluent only in C#.

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”.

You need to understand that learning more languages will not directly mean you are a good programmer or that you know more than anyone else. If you set your goal to learning all the programming you will eventually die out of boredom. The real questions all new programmers (including you) should ask is, “What do I want to do with programming?” If you want to become a Web Developer then learning C++ and C# won’t help you much. In turn if, perhaps, you decide to become an Android Developer you won’t need to be a master of JavaScript (don’t confuse Java with JavaScript, kid).

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.

Earning:

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.

Conclusion:

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!

Liked it? Take a second to support me on Patreon!

About the author

Abdullah Atta

I believe in simple complexities. In fact, I am one. You cannot categorize or classify me in the groups society has created for I am many things; a genius, a writer, a programmer, a tech-nerd, a thinker, a philosopher. The only category that applies to me is: "madness" or "insanity".

3 comments

  • “If you can’t program without your IDE then you don’t deserve to program. At all.”

    That is a rather harsh statement. Why do you feel if you can’t program without an IDE that you shouldn’t program at all?

    Otherwise, an interesting read.

    • You are of course, right. It is a harsh statement but there is logic behind it. IDEs are comfortable environments where the programmer is only concerned with writing code and a little project management. Whereas a programmer without an IDE has complete control over build process, knows how each and every file in the directory works and is independent of the IDE. For example, in C#, most programmers have no idea what the .csproj or .sln file actually does. Sure they have a “vague” idea but no real concept. I say, program without an IDE at least once so that you may know what the IDE actually does.

      Thanks for the comment and the read. Really appreciated. Don’t forget to follow to receive notification of more interesting articles. 🙂

By Abdullah Atta

Abdullah Atta

I believe in simple complexities. In fact, I am one. You cannot categorize or classify me in the groups society has created for I am many things; a genius, a writer, a programmer, a tech-nerd, a thinker, a philosopher. The only category that applies to me is: "madness" or "insanity".

Posts

Get In Touch

Interact with me on all the popular social platforms for help, discussions, QA, requests and job offers.

Subscribe

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Tags

%d bloggers like this: