Four tips for entry level programmers from a junior

Pavle Djuric
3 min readDec 2, 2020

--

I made a career switch to programming when I was 31. It took me 14 months from not knowing what a boolean is, to being fully employed at an international software company. Here are some tips for anyone entering the field :

  1. Start with a statically typed language.

I know that you’re probably reading how Python and JavaScript are really popular , and how you’re most likely to get a job by mastering one of these two. And it is true. But, trust me , both of them are a horrible choice to start learning programming. The best way to learn programming fundamentals is to start with a statically typed language , such as Java or C# . After two or three months of learning one of these two , you can easily switch to Python or JS. The opposite is not true. If you learn programming by starting with JavaScript or Python, you will have a great deal of trouble understanding concepts such as access modifiers, static methods etc.

2. Read the docs!

A large part of software development today is reusing stuff that other people already made, and integrating this stuff into your own projects. These already built components are called libraries (or frameworks, or APIs) . And most of them are really well documented. So, before using any of these — read the docs! When I was just starting, I would always rush into using some library before reading a single line of it’s documentation. And guess what, I would always spend hours debugging. Had I read the documentation properly, the debugging would last a fraction of the time. And guess what else, now that I am working professionally as a developer, I spend a whole lot of time reading other developers documentation (and also writing my own) . Reading documentation is an essential part of the process , and if you skip it you will spend a lot more time reading unpleasant stack traces and logs.

3. The beginning is the hardest of all

( This is more of an observation than a tip, but I think it will help)

I really don’t like when I hear the term “programming basics” . And the basics usually cover : data structures, loops , functions , classes etc. I much prefer the term “programming fundamentals” . Do you know why? Because grasping these concepts as a beginner is anything but basic . It can be really frustrating. And hearing someone call them “basics” can make you want to quit right there. If these are basics, then what hope do I have with more advanced concepts, right?

For me, grasping these so called basic concepts as a beginner was much harder, than learning some fancy web framework aftewards. So , if you feel like smashing the monitor after your first interaction with a for loop or an array, don’t worry, after you master these things, React, Django and all the other buzzwords you read about on forums are much easier to understand. The frameworks are “basics” if you ask me. The fundamentals, are anything but. However, the nature of programming is that you have to go know these fundamentals extremely well before you can start learning that flashy new framework that has a six figure salary range.

4. Learn HTTP

Pretty much all of the programming jobs today are in web development, and those that aren’t typically aren’t for junior developers anyway. So , if you plan to be a developer, you better focus on the web. Having said that, you should know that writing code is much easier when you know what you are actually writing. So , start reading books , and for starters , start reading about HTTP , because frontend or backend, you are going to need to know everything about this specific protocol.

There are a lot of other tips I could write about (build projects, read books, network with other beginners etc.) , but you’ve probably heard them all before. And they are all correct, however I wanted to write about my experience, and the things I wish someone had told me when I was in my first months of the programming journey.

--

--

Pavle Djuric
Pavle Djuric

Written by Pavle Djuric

Software developer. 3 x AWS certified. Writing mostly about Python, Golang, backend development and Cloud computing.

Responses (1)