Nowadays lots of people want to get started their professional careers as web developers. The perspective of a really good income in the future and working in the IT sector, where the demand for people is very high (even for entry-level jobs!) attracts many people to these kinds of jobs.
It means, that for the one junior web development job offer might apply thousands of people at the same time. So if you have already landed yourself a job as a junior developer - congrats! But what should you do next? First of all - switch your mindset from "how to become a junior developer" (you already achieved that, as you kicked-asses at your interview process!) to "how to become a BETTER junior developer".
Because obviously - you don't want to be called a junior developer for life. Especially, as your salary as a regular web developer according to the Bulldogjob report, can be twice, or even four-time higher! So, there is definitely a strong motivation here to make sure, that you benefit from your first job as a junior developer as much as you can. And I'm here to help you with that. Using my experience as a junior developer in a Cracow, Poland based software house Railwaymen I will try to guide to make sure, that you will become a mid developer in no-time!
The answer to such a question is rather not straightforward, and it is an outcome of good and bad decisions from my past. I originally graduated and got my bachelor's degree in the field of drilling and mining, but I am not working as a miner... Ruby mining does not count, right? :D At the time I started studying, there were a lot of rumors about the Polish shale gas revolution and future career possibilities. Well, the reality turned out to be different, and there was hardly any job in the oil and gas industry that I found worth applying.
That time I decided to put one year of hard work into learning programming and eventually become a junior developer! Software development was rather evident and natural direction for me, as I have always been a person who spends a lot of time reading blogs, embraces the learning process, and love challenges.
When deciding which programming language to learn, I take into consideration atypical key factors. I do not blindly follow language popularity charts and hype that is around certain languages. I believe that it is very important to determine what factors are most important to YOU at the very beginning of your journey as a junior developer. Is it the language easiness to learn? The money, that you can earn? Or the number of developer jobs in this particular language available in your country? Make sure, that you have it sorted out when you start learning a programming language.
My main goal was to work in a software house with a goal-oriented environment and a flat structure that will allow me to have a real impact on the product. Based on that preferences Ruby on Rails was a great pick for me as the companies that use RoR have precisely such an environment. If we add grown, established community with a lot of good examples and resources, Ruby on Rails is a sweet spot for an aspiring junior developer.
In this section, I would like to focus on habits that could help you to take "junior" from your title as fast as possible. If you are no longer junior, don't leave just yet because most of the listed bits of advice are also applicable for more experienced developers.
I can't stress enough how significant and a big switch for me was reading certain tech articles and exploring some of the open-source codebases. I am using them to this day as my go-to resource when looking for an alternative way of thinking when it comes to developing new features. Remember, there are a lot of good examples, and we don't have to reinvent the wheel.
Be cautious, though - there are a lot of bad examples out there! I would highly suggest to verify and discuss some of the solutions you can find with the help of a friendly, more experienced developer/mentor.
If you're interested in blogs and books that we at Railwaymen recommend for our fellow Ruby on Rails developers, take a look at our blog posts here:
Like I mentioned before, some articles that I have read changed the way I think about certain things. Thoughtbot's blog post about git commits was definitely one of them. By writing the commit message that includes answers to the following questions:
Why is the change in this commit necessary?
How does the commit address the issue?
What side effects does this change have?
Not only are you making the life of the person that reviews the pull request code, but you are providing a piece of information that could help other developers in better understanding the project. Make sure, that you are dedicating to this matter enough amount of your attention.
I know it may sound a bit trivial and general, but I believe that regardless of programming language or seniority level, there are some rules that we should get to know and TRY to follow. Don't get me wrong. I am not trying to tell that there is always one right way to write code. I am just emphasizing that junior developers should not only concentrate on blindly delivering tasks ( that might be alright for the entry level job, but it's definitely not if you want to promote) to the end but also focus on writing maintainable and deliberated code.
At Railwaymen we organise Friday Tech Talks, which aim is to provide knowledge on the most interesting software-related topics.
Keep in mind that, as a junior developer, you are in a privileged position. You will most likely have fewer duties and responsibilities, so you should consider investing extra time you got to examine alternative solutions with other more experienced developers and slowly master your skills. The sooner you get started with that, the better.
During my first month of juniorship, I have made a habit of writing good and readable tests. At first glance, it sounds scary to try TDD approach or even write tests at all. But trust me, after you introduce writing tests to your workflow, soon they will become your best ally.
Well written tests can save you a ton of time at your job in multiple ways:
Specs provide a sort of safety while working with the existing code. The application that is covered with tests is much less likely to break.
Come on - everybody makes typos, and again tests can help you with that. This exceptionally accurate while writing Ruby. Ruby code, unlike Java's, does not require compilation before running. Tests can serve you as a kind of compilator that will catch your syntax errors upfront and prevent them from smuggling to production code.
Tests can reproduce user behaviors during the development phase of the project and help you to write better-designed code with fewer errors.
Being a junior web developer must not always stand us in an unfavorable position. With a little bit of self-discipline and willingness, you can use your entry level job time to put your career on the fast track. I don't want to be a motivational coach, but it all starts with a small change - slowly building your habits and workflow will help you to become a much better developer. These five above are the ones that helped me the most to stand out as a junior web developer. Wishing you all the best in your journey to land in one of those regular developer jobs!
As I mentioned in the text - being surrounded by great people is a key, to become a successful junior web developer. Here at Railwaymen, we're lucky to gather more than 50 ambitious, passionate and hard-working people under the one roof. You can meet our team here and see what we do here. Cheers!