DEV Community

Emalp
Emalp

Posted on

Programming is more than just programming.

I grew up smart because I started programming when I was just merely 9 and quickly grasped it. I considered myself to be a full fledged programmer after about 4 years of hard programming when I was about 13-14 years old. I had mastered JAVA, Visual Basic .net, PHP, Javascript and could smoothly navigate LINUX.
But I only got my first job after another 3 years of hard trying. I don't know if it was my age that restricted the companies to hire me or whether it was my skill that did not meet the criteria. Nevertheless, I was in no doubt of my programming skills, so there must be another reason behind me not getting a job for so long.

I had two things in mind.

  1. Maybe it was my age that restricted me.
  2. (I'll be explaining this is more detail.)

I had no control over my age so let's just forget it was even there.
The second thing I think that was opaque to me getting a job were a list of things more than "just programming". I was good at programming but I was missing something.

I'll list those things below. Also, I believe these are the things that are not/very less taught in universities while getting a bachelor's degree and the new grads have to learn it after they graduate and go through a lot of unnecessary trouble of learning.

  1. Testing the code.
    Yes, I did not test my code. Nothing. 0. All I did was a lot of print statements to know where my code fails. That's it. Testing the code and mainly nowadays Test Driven Development(TDD). Just do it even when you're only playing around with your own piece of code.

  2. Learn your way through the debugger.
    The debugger will be your best friend after you're tired with all the writing and commenting of your print statements in a lot of places. If you prefer NodeJS, there's node inspect, for C there's GDB. There always is a way to debug. Utilize it.

  3. Design Patterns is more important than algorithms.
    Yes, Universities and interviews tend to focus more on your knowledge on algorithms, logic and data structures but trust me, design patterns is all that's gonna count later. Unless you're working for big companies like Google and Facebook as an engineer; there's very less chance you'll actually implement your own algorithms or even code an already discovered algo. But you'll be making a lot of classes and modules. You'll need to manage them, create and manage new objects and also the directories you place your files in. Having a solid foundation for your directories and any new classes you create is a must.

Well, that's all. Hope it helps any new programmer. These are just my opinions on what set me back.
Thanks.
P.S This is my first post.

Top comments (0)