Hey! I am a junior software developer working with Java 8 and Spring (Boot) Framework. It has been around two/three months since I started. Time to start sharing some of my experiences of being a junior developer, and things I missed on my career start. I start this off with three tips I have for junior developers and also more experienced developers who train new juniors. Enjoy!
1) Take the first step
The first thing I failed, and still fail a bit, is taking a first step if I keep walking against a wall. When you walk against, don't walk to it a couple more times. After the first hit, ask a more experienced colleague for help.
Those small lessons when you get stuck are amazing. I found them being more helpful than necessary but it keeps the learning process alive. It speeds the learning process more.
2) Get your onboarding right!
If you are a (senior) developer who helps a new colleague get into the work: explain the whole process. Which tools do you guys use? What is your code style? What is the workflow in the source code management? How are applications being deployed? How are specifications for a piece of software formatted?
That onboarding process is so unbelievably helpful for a new colleague. I found myself in the position of wondering what to do as I did not understand the workflow used at our office.
An ideal situation would be to fill the first week with workshops for the new colleague. And let every developer give a workshop. It generates possibilities for the new developer to meet all his/her new colleagues.
Ending the workshops with a little summary would be awesome, it gives the junior a little booklet to keep by their side if needed. It depends on the knowledge level of the new developer which workshops are more important.
3) Treat each other equally and accept discussions
Even if you're a senior developer with 15+ years of experience, don't put the opinion of the junior aside and just say you're right. Explain them why you think you are right. Explain what is not correct about their opinion.
Let them discuss with you, point them to the correct direction but do not make the path for them. Make them ask you questions, but don't ignore them. Teach them the correct ways by making them think.
That is it for now
Hope people can share the same ideas, what are your thoughts on the above? I would love to hear from you!
Top comments (2)
Nice article Martin. I cannot underestimate the importance of #2 for any level of developers being on boarded. Having a strong plan for new developers to get in sync with your code base makes all of the difference.
Being a junior myself with 11 months of experience as of now, I totally agree with you.
At my place, we develop Java-based solutions (integration systems, full-stack web applications, stuff like that) and we have some standard tools and services we use to do code reviews, static analysis etc...
During my onboarding, I was slowly but swiftly introduced to all this stuff, from zero to hero we can say, and I always had good mentors and a lot of speech power when questioning topics. I already managed to introduce new technologies and gizmos like Kotlin and Google ErrorProne and everybody is happy with them.
So keep up the good work, always make questions and always be passionate! Your employer will be happy if you are a happy and propositive employee.