DEV Community

Cover image for What are the musts for training fresh graduate developers?
Kier
Kier

Posted on

What are the musts for training fresh graduate developers?

Working in a small team, We are assigned to train newly employed fresh graduate developers and I am having some difficulties. I admit that I do not know whether I am in the right place to train them since I my self is a fresh graduate too (1 year of experience) and thinking even my self needs to learn and improve a lot of things with my programming foundation. Since we are in a small team and our senpais (Senior member of a group in Japanese) are let say "unavailable" he he, me and one of my team mates was assigned to help the new ones. I really want to train them like how my seniors train me (They are still teaching me some cool stuffs, they are awesome people!). My current mindset is to learn with them and learn from them, I just want to ask if you guys have any ideas, suggestions, mindset, opinion, etc. on how to handle this kind of scenario, to train them effectively, to strengthen our programming basic fundamentals before we proceed to deeper aspects of software development.

Top comments (10)

Collapse
 
connorphee profile image
Connor Phee

Hi Kuya,

I have a few ideas:

First, don’t think anything is obvious or assumed. When I first started working, there were many things that were not explicitly stated that those training me thought were obvious, but actually weren’t.

Second, always explain the why, and never do anything for them without showing them how to do it as you do.

Third, always ask their thoughts and reasoning behind things. This isn’t so that you can tell them they are wrong, rather so that you can understand their perspective before giving feedback. By doing this you will have the opportunity to learn and get exposed to new ways of thinking/problem-solving strategies and also be in a better place to give help and feedback when needed.

Last I would say make sure those you are training feel comfortable asking questions, and that you feel the same towards them. No matter how much training happens, everything can’t be covered and things will come up. A single person can’t know everything, but a team can more often than not find the answer needed to a problem, if someone doesn’t have it.

Collapse
 
kuyaker profile image
Kier

Thanks Connor! I'll try your great suggestions :D

Collapse
 
mizhac profile image
Cristhian H. • Edited

Dear Kuya,

The first thing you have to do is to know the learning methods that people in your care have.
You can guide yourself from this article to obtain that information:
blog.melchua.com/2013/06/19/hacker...
Example --- Active vs Reflective Learning Style
blog.melchua.com/2014/08/12/learni...

Then you will have to understand that the learning process needs an environment in which the skills they seek can be developed. You can read the part of the center's environment here: recurse.com/manual#sec-environment

Collapse
 
kuyaker profile image
Kier

Thanks! I'll check out those articles :)

Collapse
 
sparxmith profile image
Eric J. Falgout

As an autodidact (a person who teaches themselves anything) who moved to software from another industry 2 years ago, here are the things that my supervisor utilized to get me up to speed:

1) 1 hour a day of self-directed study on the languages we used, with questions to be answered during our daily meeting.

2) He introduced me to the tools of the trade: frameworks, IDEs, debugging, our internal wiki, StackOverflow, and stack tracing. Then, at every meeting, we would walk yhrough the code using those tools together: not to resolve any difficulties, but so that I could resolve them myself.

3) the Theory behind the Practice: rather than answer a question, he would always ask a leading question to help me derive the answer. So, for example, when I couldn't understand why my PHP array parser would only throw exceptions, he asked me how i would write the code in C (since PHP is written C) to handle array parsing, then we sat down and wrote a simple implementation. Before we even got to the end of writing it in C, I already understood that my type was wrong and that I needed to pass the value as a string not as $array[$key].

4) Thank them for asking questions with sincerity.

5) Remind them that they don't have to reinvent the wheel and if it seems like they do, they need to check their assumptions.

Collapse
 
kuyaker profile image
Kier

Thanks Eric!

Collapse
 
pavonz profile image
Andrea Pavoni

Building something, even a simple thing, might help you all a lot! Every time someone encounters a problem, a doubt or whatever difficulties, then it’s a good opportunity to study/explain that part. At the beginning it might sound chaotic or hard, but if you keep up tougher, results will come.

Collapse
 
kuyaker profile image
Kier

Yea you're right! Results will come :)

Collapse
 
vinceramces profile image
Vince Ramces Oliveros

"Kuya" is Brother in Filipino, I don't know if you're a Filipino but I find that "Hi Kuya" is a bit awkward.

I'm not a graduate student. But I'm always prepared for these kind of scenario such as code reviews, readability, conventions for your team. Learning is a continuous process, and this era of programming is a never ending path to developers. Also, Be equal to their position whether you have a higher level of experience, it all comes down to PR(Personal Relationship, Not to the level of PR). So you could build a enthusiastic development with your team.

Collapse
 
kuyaker profile image
Kier

Salamat Vince! fellow Filipino here! Thanks! "Personal Relationship" noted :D