Mentoring and leading less experienced developers + success story from zero to employment

Jakub Włodarczyk
6 min readJul 7, 2018

--

Situation on the market for (in)experienced devs

The IT field is one of the most attractive ones nowadays considering demand and salaries. No surprise that lots of people gravitate towards it. There’s no need to get a degree to start working and getting job offers — lots of people are self-learners. With such huge demand and the development of technology everywhere — this trend is unlikely to change in the foreseeable future.

I will concentrate mainly on the programming field. The branch is lucrative but there’s a caveat — you need to know your stuff (i.e. become a specialist). And to know your stuff you need to dedicate yourself to hard work. Programming is not easy and it requires patience, dedication and proper methods of learning that will decrease the learning time and boost performance.

There’s really a huge demand for experienced developers but getting your first job / internship in programming can be a painful and long process. Having a degree opens some doors and during studies you most often have intern programs within companies that can later hire you. The degree also indicates that you know something and you will be productive for the company quite soon after recruitment. So, employers are more likely to concentrate on the candidates with a degree in the recruitment process first (assuming no experience). Inexperienced candidates without a degree need to put more work in order to be selected for an interview. I won’t concentrate on this topic and will present some methods that I use to teach / mentor / lead less experienced devs and people with no experience.

Methods of dealing with less experienced devs

  • Simulate a real work environment

We’re assuming that you’re leading a person that is going to get first job in programming. Simulating a real work environment is crucial. It shows how the work of a programmer really looks and allows to avoid shock in the first job. Such simulation would mainly include: tool for managing project (like Jira) and working on Git repository (like Bitbucket). These two can be naturally expanded with Scrum methodology and code reviews.

  • describe tasks as detailed as possible

There should be no shortcuts. Assuming that a person will get into your head and understand what you want to convey is wrong. You need to be as descriptive as possible (at least at the beginning). Support yourself with mocks and acceptance criteria and encourage people to ask questions about everything that is unclear.

  • do not assume that someone should know something already

This is very common. Many experienced developers assume that the knowledge and skills they have are not that hard and even less experienced devs should already know some stuff. Such devs forget that they gained the skills through learning and repetitiveness and some things caused them lots of troubles to learn and burnt time. So, there are no stupid questions. Be patient while explaining even the things that you think that everyone should know. Programming is a very broad area.

  • give examples in the code / provide external resources

“Talk is cheap. Show me the code.”. Precisely! Don’t just explain issues verbally but always show an example implementation and provide some materials that the person can read and extend knowledge going deeper into a topic. Learning by writing the code is the best method of learning.

  • recommend resources and be selective

Don’t just send link to the documentation or first position in the Google search. Some resources are much easier for beginners than the others. You probably already have a list of materials that you learned from so use them. Give new materials a skim and check if you can understand them quickly. If the examples demand some longer amount of time to understand for you —they are probably not a good fit for a beginner. In case of book recommendations — select only (sub)chapters that you think are most important to grasp the general idea from the book. Don’t encourage beginners to read a book from cover to cover (there are of course some exceptions). Remember that books get outdated so also send links to (video) tutorials.

Success story from zero experience to employment

The comment below comes from a freshly recruited Front-end dev that started with no experience whatsoever in programming and dedicated herself into hard work that brought fruits. I had a tremendous opportunity to be her mentor from the very beginning and learnt lots of things along the way.

Yeah! I got it! I got paid internship in a software company in Cracow. And I’m not recent graduate from computer science. Are you interested in how I have achieved it? I encourage you to read my story. Let’s go back in time.

During my studies on the Faculty of Commodity Science I was observing a huge development of IT industry. There were job offers on every noticeboard on a campus area. I was thinking that IT is only for mathematics geniuses and I was regreting that I’m not good enough in this field to get a job in IT. I was also regreting because sometimes I was looking at how my partner was writing a code and I really liked it. Some day he said that I could do it too. I’ve decided to try. Maybe I wouldn’t decide on it if he hasn’t been my MENTOR.

I had and still have enermous luck that my whole development was under a supervision of an experienced developer. It’s priceless to have mentor who shares with you his knowledge, points appropriate tutorials and worth to read books, motivates you, show places where to search answers, point correct ways to overcome obstacles, does code review and much more.

After I got Engineer’s Degree and started graduate studies, I’ve begun my adventure with Front-end programming. I was learning in my free time whose wasn’t so much because of many classes. I was reading books and watching tutorials about HTML5 and CSS3 which I found on the Internet.

When I graduated last year on July, then I thoroughly dedicate myself to learn Front-end. The next step after HTML and CSS was JavaScript. Firstly, I was reading a book to learn the basics of the language and meanwhile I was doing little projects e.g. calculators, games. After that I set to next books and tutorials about newer version of JS — ES6.

Then came time to start with a bigger project to show potential employer what I know. It was the most developmental as well as the hardest period during my learning. I’ve learnt much much more than from books and tutorials, I’ve faced with real problems and bugs. The hardest were situations when I was encountering problem and couldn’t resolve it for a long time. I was thinking that I had been learning so much time and still don’t know what to do. Every week and even a day I had doubts and I was thinking I’m not fit to code. And sometimes I still think that even I got the internship.

The hardest was also focusing on coding. When you sit at home everything seems to be more important than code. You have to cook a dinner, do shopping, clean up etc. In a result it’s difficult to focus on code for 8 or more hours like in real work. My advice: if you see you can’t focus sitting at home and you can’t find at least 6 hours to write a code — find some library or cosy coffeehouse and simulate real work there. I didn’t do that and maybe that’s why learning and doing project takes me so much time.

When I finished my project I’ve started to search a job. I’ve sent 27 CVs and I was on 2 interviews and one test. I got internship after passing this test but a week later I got also positive feedback from the second interview and I chose this company. Now we back to the beginning of this article. As you can see I’ve reached all of this primarily thanks to skillful lead of my MENTOR and some hard work.

Thank you Jacob. There are no words that could express how I appreciate and how I grateful to you for your valuable advice, patience and hard work.

--

--