Why learning a programming language won’t land you a job within software development

Mattias Tornqvist
4 min readJan 14, 2023

--

A person behind a computer doing some programming
Photo by Desola Lanre-Ologun on Unsplash

I get approached by a lot of people wanting to get into the software development industry. They want to learn where to start and how to pursue a career as a software developer. The first question I get is what prgramming language they should learn and if they should focus either on frontend or backend.

Don’t expect to find a job directly after you’ve learned your first programming language!

Of course you should learn a programming language but I get the feeling that when just starting out, many think that if they simply learn how to code they’ll be able to get a job. There’s a lot focus on which programming language is in most demand and pays the most and so on. They key notion here is that knowing a specific language will land you a job. It won't!

Simply knowing how to code is not enough to land a job as a junior developer in most cases. Except for the plain programming part you probably also need to know a fair bit about the following:

  • Client-server communication
  • Database management
  • Object-oriented programming
  • Dependency management
  • Various software testing techniques
  • Dependency injection
  • An understanding of basic design patterns
  • Continuous integration and delivery
  • Agile working methodology
  • Version control systems
    I won’t cover these different topics in detail in this article as they would require multiple articles on their own

But where should I start then?

With that said I don’t want to discourage someone from getting into the business, rather the opposite in fact! But understanding that learning how to code is just the first step on your journey to become a professional software developer. In order to create real-world applications you must have a quite solid understanding of the topics listed above. They are key in producing quality software that brings value to the organization that you work in. And that is exactly what your employer expects from you as a professional!

woman doing the v-sign behind a computer screen
Photo by Lala Azizli on Unsplash

Frontend or backend?

I find it very unlikely that an organization would hire you strictly as a backend or frontend developer when you are just starting out as a junior dev. When starting out, you probably need a good understanding of both front- and backend work. Later down the road — when you have some experience of both, you might venture deeper into one of them or maybe both! I always recommend people learning to code that they should try and learn both areas as an understanding of both of them is important when building software applications.

You don’t know what you don’t know!

When just starting out you are susceptible to the Dunning-Kruger effect, not knowing how much you don’t know. My advice is to follow a solid plan learning the previously listed areas. Unless you go the University route there are many tutorials on pages such as Udemy, Pluralsight and so on that cover these areas very extensively. Regarding which programming language to choose, I’d say learn any programming language (or get a first hand advice on which to learn just below) as it is very easy to transition into another one once you know the key concepts. Also, when working as a developer you usually work with a set of programming languages.

Mobile or Web applications?

I also usually get the question whether to learn how to make native mobile applications or web applications. My quick answer for the newbie is to learn web development as there are more open positions in that area based on my personal observations. You can dive deeper in to the subject and what differs mobile vs web development careers here.

Also regarding languages — Learn Javascript first and when you are comfortable in using that, learn some object-oriented programming using Typescript or some kind of strongly typed language such as Java, C# or so. It doesn’t matter which as much as you might think as the key principals are the same no matter what language you choose.

In the end, as a software developer you are hired to create software application systems. This might involve working on both native mobile and web applications as well as multiple backend applications and continuous delivery pipelines. Your goal is to create systems composed of several components working together to increase value for the organization you work for.

motivational canvas saying “difficult roads lead to beautiful destinations”
Photo by Hello I'm Nik on Unsplash

Don’t give up!

Once you’ve learned the basics, don’t give up! Remember that learning how to create complex systems is a a marathon, not a sprint.

This is my first article on Medium. Please provide a thumbs up or any other feedback if you like (or dislike) this article and I might write some more! 😄

Take care and keep coding!

--

--

Mattias Tornqvist

Software industry professional since 2016. Fullstack developer & Scrum Master, former Product Owner and experience in software requirements and testing