5 Tips for Getting Started on Your Software Developer Journey

Mirza Leka
Better Programming
Published in
7 min readFeb 24, 2021

--

source

From the rising of digital currencies, to an AI that can write code, to applications that run equally well on your computer, phone and watch,
to photo-realistic gaming graphics — have you ever stopped for a moment and asked yourself what’s all the buzz about and could I do this?

Lots of people are doing it, but how do you get on board? Let’s find out.

1. Do Research

A lot of developers, myself included, started learning programming without defining a clear goal. Maybe something appeared online that caught your attention, or a friend recommended you a tutorial series, or you’re a gamer and you decided to make your own game.

Here’s the thing. Learning to code is like climbing a mountain.
You’ll go from tutorial to tutorial, learn all the necessary concepts, tricks, and best practices until you’re done with a course and you realize that that’s not the end of the road. There’s so much more to learn, it’s more challenging, and you’re probably lacking motivation.

We've all been there. What I learned from my experience is that rather than starting a new journey with a Hello World, start with a plan and a set of questions:

  • What’s your goal and what are you trying to achieve?
  • What is this technology used for?
  • Why does this thing exist and what problems does it solve?
  • What opportunities are available for this technology?
  • What else should you learn that will help you in the long-run? You can even play mind games and solve riddles. Anything that trains your mind to think outside of a box will pay off.

Don’t get me wrong — learning to code is an essential part of becoming a software developer. But developers do more than just mash the keyboard. The job includes a lot of planning, designing, problem-solving, brain-storming, collaborating with others, and risk-taking.

source

Along with learning to code, pay attention to how computers work, networking, the cloud, and things like SDLC, and project management that will benefit you when you start working in an IT company.

As for the development part, these are the top seven popular programming languages at the moment:

  • JavaScript
  • Python
  • Java
  • PHP
  • C#
  • Swift
  • C++

They all have somewhat similar purposes and are either used for web or app development, data science, machine learning, game development, or all of the above.

Once you find answers to your questions and figure out what you’re looking for you will be in a better position to set a clear goal. Start with simple lessons and short sessions, and gradually work towards tougher challenges. Try to have a positive mindset, to be organized, confident, determined, self-motivated, and the rest will follow.

2. Follow Your Passion

The word passion can be defined in a million ways. For me, it’s what gets me excited, challenged, and curious. Passion is what makes me get up out of the bed in the morning and miss out on hangouts with people. It’s what I’m willing to pursue even if it takes me to the end of the world.

When I was a teenager I was in love with computers — so much so that nearly every hobby I had was related to a computer. I was playing games, writing blogs about games, editing videos, making websites using online builders like Webs.com, and photoshopping images. Then when I went to high school I learned how to draw on a computer using technologies like AutoCAD and CATIA.

Essentially, I was creating content in different forms, which paved the way for me to grow an interest in web development. I combined all those hobbies and started creating different screens and layouts using code and, more often than not, fixing things.

A friend of mine who plays open-world role-playing games once told me that when he plays something, he likes to go to the corners of the world, stick his nose into anything he comes across, try silly things, and test how the game world responds to his behavior. He works as a quality assurance engineer and as far as I can tell his role suits his passion and curiosity.

It’s important to be able to find something that interests you beyond work, something you genuinely enjoy, or is relevant to your favorite hobby, or at least resembles the things you’re passionate about. Find it and stick with it.

3. Stay Trendy

But what if you don’t know what your passion is or you have too many interests and can’t decide which one to focus on? The answer to that question is to stay trendy.

Technology is advancing fast — faster than ever before. It’s crucial to keep the pace and even more crucial to be up-to-date with the careers that are most in-demand right now.

Starting out as a frontend web developer, all I wanted to do was make beautiful websites, but finding a job wasn’t easy as most companies in my area required a little more than just a user interface. That meant that I needed to learn how things work in the backend, which eventually lead me to discover new interests that I enjoyed equally, if not more.

Simply put even if you don’t have an interest in something, but it’s going to pay your bills, it’s worth a shot. Practice will bring you skills, which will make work more enjoyable and eventually grow into a passion.

To ease your decision, there is a Japanese concept called Ikigai, which translates to “a reason for being”:

source

To achieve Ikigai you have to write down four principles:

  • What you love
  • What you are good at
  • What you can be paid for
  • What the world needs

Then you cross out the puzzle and see what lies in between. Once you find that thing you love, that you’re good at and someone is willing to pay you — go for it.

Tech companies value people who come from different backgrounds and choose to switch into a stack that meets project demands. Don’t be afraid to ask questions on how to improve and what should you be focusing on. People love folks who are dedicated, who show interest, and who are prepared to step out of the comfort zone and face new challenges.

Does this mean that you have to give up on your dream job? Absolutely not. Just put it on hold until better opportunities arise.

4. Set Your Goals Ahead of Time

Becoming a software developer is a long road, so long that it literally extends every day and it’s very easy to get lost in all the things that you can do.

There will be times when you feel too lazy to study, times when things get hard, and times when you start to doubt yourself.

Photo by Katrina Wright on Unsplash

It’s a long process. Try to stick to your goals.

If today is your first day of coding, set a goal to learn the basic principles of programming in the first three months. Three months later learn a little bit about data structures and algorithms. Later, you can learn to store data in the database, and HTML/XML and CSS, and by the end of the year you can combine all those skills into creating a really cool web/mobile application — if that interests you, of course!

5. Learn a Little Bit of Everything

I often come across questions asking what’s the best platform to learn this or that. In my experience, the best place to study is every resource you can find!

  • If you’re an Android developer, expand your skills by learning how to make apps for iOS.
  • If you’re a frontend web developer, learn about browser and dev tools, cloud and APIs, how to store your data, provide security, and many other features.
  • If backend is your focus, learn about security, databases, deployments, proxy servers, containers, and so on.

The key thing about learning isn’t in the number of languages and frameworks you learn. It’s about learning the essence of that technology.
When you learn how to use basic elements like variables, conditions, arrays, and loops, you will be able to apply these concepts to any language.

The same applies to other things you will come across. Of course, there will be some differences, but it all boils down to a different syntax or a design pattern and a slightly different paint job.

source

That said, as you move forward with programming I encourage you to explore other languages and technologies to get a bigger picture and see different solutions to the same set of problems.

This is a world with infinite possibilities.

Everything you come across is a new challenge, but also an opportunity to learn something new, to expand your scope of understanding things, discover new passions and possibilities, and of course, build amazing things.

source

Bonus Tip: Where to Start

I started my software developer journey by taking free courses on sites like:

and by watching YouTubers like TheNewBoston, TheNetNinja, TraversyMedia, and many others.

Since then I’ve spent countless hours practicing, building applications, and preparing for interviews that eventually led to finding my first job, then moving to a better one.

I also read a lot on Medium, where I also write about JavaScript and Node.js. If that interests you, make sure to hit the follow button. Until next time!

--

--

Web Developer. DevOps Enthusiast. I share my experience with the rest of the world. Follow me on https://twitter.com/mirzaleka for news & updates #FreePalestine