Starting your Software Developer Career

Vlad Ungureanu
7 min readNov 25, 2020

--

Is learning a programming language difficult?

Yes, not because it’s “quantum physics”, but because it requires lots of discipline and focus. The more effort you put in, the better you become day by day. Once you make the decision to “just do it”, you will be on the right track but you still have to make a considerable and sustained effort to achieve your goal. Programming is not something you can learn by heart, but it’s something you get good at in time, through practice and logical understanding.

Can programming be self-taught?

Yes. There are many people who started learning a programming language out of curiosity or as a hobby, even if they have not studied this in school. However, even though programming can be self-taught, this doesn’t mean that following a class, a school or some lectures wouldn’t help you. It can actually help you a lot, but if you don’t have the time or money to access this type of resources, you can, of course, find your study materials online. The trouble is there are so many, and the challenge would be in picking the best and most useful ones. Make sure to choose the method best suited for your learning style (books, online courses), and try to find a clear road-map to follow, otherwise you can be easily overwhelmed with the amount of information out there.

Check out our “Learning Java Road-Map” article for an detailed look at what you need to learn to become a Java expert.

Becoming a programmer

Changing your career path is not an impossible thing to achieve, but it can be difficult if you have no plan or some sort of guide to help get you where you want. Here are a few recommendations to help you get there.

Starting your Developer Career — Learn Stuff Academy

Choosing a programming language

Research and choose what feels right for you

The first thing should be to choose an area of expertise: front-end (designing and creating user interfaces and web sites), back-end (writing code that encapsulates business logic and database operations), data science (working with big data, statistics and algorithms) and so on, and a technology (React, Angular, Vue, Java, Java Script, C# and so on). It may seem like a very important decision, but actually it is not, because a programming language is just a tool so, in reality, you must decide what type of problems you want to solve. Find a couple of explanation videos or articles, see what different programming languages are used for, how they look, and see what you would be comfortable with using and writing.

Make the best of the opportunities you have around you

Imagine that there’s only one internship available at a company near you, but it’s Java Script (front-end scripting language) and you wanted to learn AngularJS (front-end technology/framework). Since these are both front-end technologies, used for similar purposes, it wouldn’t be a problem if you started your career by learning Java Script and then moving on to AngularJS.

The important thing to remember is that you should take into account the opportunities you have. Once hired at a company, you will most likely have the opportunity to learn what you like, or at least you will get sufficient experience to get hired for another job that offers you the position you desire.

Use your skills

Another important aspect is to use the knowledge you already have. For example, if you already have design experience, then the logical choice would be to start learning a front-end programming language, because you would get hired a lot faster and companies usually jump at the opportunity to hire a junior who has any previous experience that can bring value to their projects.

Make it a priority

After you decided on a technology, it is time to figure out if you will be putting in that extra work to get there. This is very important because, well, if you are not invested in learning, researching and basically changing your life, which is a bit of a challenge, you will procrastinate, blame yourself, and finally not make the change you want. Learning something as a hobby will make the process take much, much longer.

Learn & practice

Make and stick to a schedule

Set realistic learning objectives (use the S.M.A.R.T model) and make sure to set realistic expectations. Don’t expect to learn a programming language in one month. Besides not being realistic, when you will not reach the desired outcome, you will become frustrated and will have the tendency to quit. So instead of setting a ridiculously hard deadline, try to make a schedule and consistently keep to it. Obviously the schedule needs to take into account other aspects of your life. Maybe you already have a job, maybe you have kids or other things that keep you busy; regardless, once you decide on a schedule you need to strictly follow it. You don’t need to learn 6 hours a day (you certainly can if you have the time); not even 4 hours. You can still achieve your objectives with 1–2 hours/day if you are tired from other activities, but make sure to max it to 6 hours when you get a free day. Keep in mind that practicing what you learned is an important aspect for learning a programming language. Conceptual knowledge alone is not sufficient. Also, don’t forget to rest as people are better at learning when they are well rested. As a strong recommendation you should keep Sunday as a free day for family, personal time and relaxation.

Find a support community

Another important aspect is to get in touch with people going through the same process as you, that is, people that are also starting their software developer careers. Think of it like a support group, you will learn from their mistakes, they can learn from yours, you will push each other and in the end you will help each other to reach the desired goals. It is an important step, because this enables you to learn much faster and also to make connections.

Prepare a road-map

Next on the agenda is to make a learning plan or road-map, because the internet is big so you don’t really have the time to go through it all. Find an online course or go through a book for beginners. Make sure you go through all the indicated chapters/sections.

Once you started a study material don’t abandon it, as long as you understand how the material is explained and as long as it is useful for your goal. If you start too many resources at the same time it less likely you will finish any of them, and you might have incomplete knowledge about certain concepts.

Create a portfolio

One last thing to take into account is that you should create a portfolio from the practice projects you created while learning. During your first interviews, you will be asked how and what you implemented, even if it was for practice and regardless of how simple the projects were.

Don’t wait until you know everything

Most companies need from you to know the basic concepts and the capacity and willingness to learn (this does not mean the first chapters of a programming book, but the basic concepts of the entire programming language). If you keep practicing until you think you are completely ready, the time may never come. There is a lot of information to digest, but most of it is certainly not needed in the beginning of your career.

Don’t postpone applying to internships or jobs, once you fully went through a programming language course. When you go to your first interview, you will actually find out what companies need and what knowledge you might be missing, and this is a big win even if you don’t get the job.

Internships or jobs

Usually, given the high number of internships available, it is easier to get a job. Once you finished an internship, most companies looking for juniors would hire you.

Don’t abandon applying to internships and jobs even if you get no reply or if you get rejected. It is perfectly normal to be rejected sometimes, and you should learn from these experiences (which is actually a success) and then move on.

Finally

Remember to appreciate the journey, celebrate your success and then help others reach their goals. Make it easier for them compared to the process you have experienced and eventually make the world a better place.

Key points

Make learning a priority

Don’t be afraid to fail, and especially to get feedback

Be curious

First learn and understand the programming language. You will have the opportunity to work on big projects when you get hired

There is no black list in case you failed one interview. You may apply another time for the same position, after you learned more

Don’t wait to apply to internships/jobs until you feel you know everything, because you will never will

Don’t try to read as much as you can. Try to understand as much as you can

Be sociable and share your experiences

Want to start your Java Developer career?

Check out our free Java course:

http://learnstuff.io/courses/java

And our comprehensive code samples:

https://github.com/UngureanuVlad/learn-stuff-java

For more information and 110+ free presentations visit:

http://learnstuff.io

For free and paid online courses and webinars visit:

https://learnstuffacademy.io/

--

--

Vlad Ungureanu

Software Developer, Trainer, Personal Development Enthusiast.