Many people want to become software developers.
Either they are going into software development at the beginning of their career or are wanting to transition into software development.
It’s difficult, you’ll have to learn a lot not only about software development but too about developing yourself as a person. No lazy person can do what is required to get where you’ll eventually want to be.
I have always dreamed of becoming a professional software developer, and I am proud to say, I have achieved my dream and many goals through a lot of hard work, time, and a little bit of luck.
I have been programming for the last 5 years, as a hobbyist developer. I didn’t take myself to seriously and only enjoyed practicing the parts that I was good at.
I would only allow myself to learn everything else that I needed to know at university or college. The reality set in that I wouldn’t be able to go to university, so I wouldn’t be taught all the stuff I needed to learn.
What would happen to me next? How would I be able to teach myself? How could I teach myself and transition from a hobbyist to a professional software developer?
Well in this article I will share with you my journey of how I become a professional software developer within less than a year.
You’ll need to work hard
Working hard is the most basic requirement to achieving really anything in life. If you want something, go and get it but be prepared to pay the price for that thing. That price is in the form of working hard.
Studying is not easy, if you’re studying full-time then you it will be naturally easy to learn and study, but if you have an existing job it will be ultimately more difficult, you’ll need to spend your time during the evening after work and on the weekend. This is what I currently do now as of after employment.
You’ll need to become obsessed with what you are doing. Ask yourself questions and challenge yourself of how badly you want to achieve your goals.
Should I get a Computer Science degree or teach myself? There is an ever long debate on whether you should spend 3-5 years studying to achieve a CompSci degree first or whether you should teach yourself, and then start working as soon as possible.
The answer really is that it depends on you as an individual, your circumstances and how hard you’re willing to work. There is no doubt that a CompSci degree will open many doors for you, and that teaching yourself will hardly open any (discussed in a later section).
There are many pros and cons to going to college or doing an online course (which is cheaper), such as the social platform that a university provides, the presence of professors and lectures and many others, but the price that goes with it can often be very expensive.
Learn how to learn! Understanding what learning means and knowing how to learn and going deep into something is a skill that is matured over your life. You can have a general sense of learning techniques and how to apply them to uncover a surface level of understanding of a concept, subject, theory or code. It does take time a lot of practice to unveil learning techniques and explore ways of learning, but overtime you’ll have achieved a mastery of learning.
You can check out a previous article of mine on learning how to learn here!
You’ll have to become extraordinary
Companies want to hire skilled programmers. Computer science degree or not you’ll need to be a pretty good programmer for a business to consider hiring you as a software developer.
A CompSci degree will teach you principles and how to write good clean code. Clean code is partially part of the skill of being an extraordinary programmer, rather the main focus is on the types of problems you solve and your experience solving them. The other aspect is being part of a team, coming up with solutions and implementing those solutions into code.
It takes a long time to learn how to solve different types of problems and to truly think in code. Of course you can learn how to deliberately accelerate the process by applying learning techniques, by forcing yourself to inspect a specific problem and research how to solve that problem. Over a period of time you’ll become more experienced by the fact that you have identified certain problems and learned how to come up with solutions quickly.
So how long did you say before I’ll become good?
It’s going to take a long time, a few years at least of practicing everyday. If you have just started to learn how to code, you’ll need a lot of time practicing on your own before you have reached a level that you could be considered a good software developer or someone considers hiring you
How to get in?
So how could I get into the field of a professional software developer?
Fresh Computer science grads will have almost every opportunity that you could have, in their favor. Without that Education section on your résumé, you’ll be forgotten by HR managers and potential employees.
For self-taught developers, you’ll need to know somebody on the inside that can vouch for you, or you should have a some other process of getting to know the company and the employees that work there. There are many techniques to marketing yourself as a software developer and attending local meetups hosted at companies you’d like to work for.
I must say it is very difficult to ask for internships, or job offerings at companies without any work experience. Often you’ll be denied due to the fact that you don’t have any certification or education. Don’t lose hope, there are still ways of getting yourself in and working.
Firstly, you don’t want to do what I did which is, attend a meetup and pretend like I knew everyone at the company and ask for internships or other opportunities. It will take some time and many attempts before you make a name for yourself.
Hey Adrian! What about marketing yourself as a software developer with a personal brand and a blog?
Although a personal brand and your own blog can help for marketing yourself, I have never personally had any success of it, partially due to the fact that I don’t show off frameworks or code on this blog and that it is still quite young.
Marketing yourself and building a brand will take a long time. In the long run, I’m talking years, it may help you, but don’t count on it with only a few months of effort although nothing is impossible.
You can always build applications and publish them to be viewed by potential employers, as you go on with your experience of building applications you’ll be able to handle more complex problems.
You’ll need to maintain your discipline
To stay relevant, and consistent as a software developer you’ll need to maintain your discipline to learn and keep progressing your skills.
As soon as you become employed your most of your time will be taken and used for your job rather than your ability to study and continue to progress your skills as a software developer. It can become very difficult to maintain your discipline.
During the week can be the most impactful. After work you may go to the gym, or for a run, but keep in mind. You’re in the mode to work week mode. You’ll still need to work when you get home. This time after work could be useful to read and study, or put some time into any side project that you may have. Even if is only an hour, this can be truly change skills over the next year. Think about 200 hours worth of extra work just in the evenings after a year and how that could significantly increase your skills!
During the weekend. Most people like to relax on the weekend. Sleep in, watch TV, go for breakfast and later in the afternoon for a hike. Aren’t we suppose to enjoy our weekends? Relax… Take some time off. Enjoy life? Yes you can do that too but at least put some time into studying in the morning! In the morning, while your mind is running on the best juice that you can get, you could at east put 3 to 4 hours in before you start your day!
I know I know, it is difficult to do something like that because you want to sleep in, take it easy and relax. But remember that your career as a software developer is guaranteed only by the effort you put in to progress as you go further into your career.
Setting future goals. Goal are very important! They help drive you to achieve a certain take and develop drive within you to work towards something. You need long term goals and short term goals. Short term goals could last a couple of weeks to a few months. An example would be to get up to speed with your company’s software stack and domain. All software developers should start this when starting a new job. Other short term goals
A long term goal would be to where you would see yourself and your career in the next 5 years, 3 years or even 10 years. Would you like to start your own business or would you like to spend more of your time working and getting experience? What else would you like to achieve in the next 3 years? Studying part-time to earning yourself a CompSci degree, or perhaps you would like to become an expert in a certain framework. These examples are all relative to me of course; these are the things that I would like to achieve at the beginning of my career.
It’s important to ask yourself these questions so you can work towards achieving your goals and progress as you further gain experience in your career as a software developer.