aspose file tools*
The moose likes Jobs Discussion and the fly likes Lesson learned from a junior developer Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Careers » Jobs Discussion
Bookmark "Lesson learned from a junior developer" Watch "Lesson learned from a junior developer" New topic
Author

Lesson learned from a junior developer

Jason Cox
Ranch Hand

Joined: Jan 21, 2004
Posts: 287
On a previous project I was acting as a team lead for a new application. Prior to taking over the team it had been led by someone else and I had been the primary Java developer for the project, so thus most of the Java code had been written by me. Once I took over as team lead I was essentially overseeing the work of two other individuals who were much less familiar with the codebase or even what it was trying to do. Our requirements were extremely poor and sometimes changed by the day. Because of my heavy involvement early on I continued to do most of the Java development while I let the more experienced developer continue working with the interface we'd been given by another team and the junior developer handled most of the front-end scripting such as HTML, stylesheets, Javascript, and some of the easier dynamic content.

As the project progressed I simply could not do everything myself, so I gave a piece to the junior developer that I thought he could handle. Despite this, he completely bombed his assignment and I ended up rewriting everything he did. I was extremely frustrated by this and became even more convinced that I simply needed to keep most of the back-end coding for myself.

However, later on in the project the same junior developer caught an error in my code. He only caught the error because of his earlier involvement that gained him the familiarity he needed to find the error. It was not a showstopper but his change made a noticable improvement in the application.

One of my weaknesses as a senior developer is that I have a hard time passing anything on to anyone else. Anything that ever crosses my desk becomes easier for me to write myself than explain to someone else. Yet it looks like my next assignment will be even more hands off, with me writing specifications for the team and then reviewing and unit testing the builds they will be sending back to me.

The lesson learned from before is that unless you give someone the opportunity to fail they will never succeed. Sure they might fall flat on their face, but if they are competent they will learn from it. No one grows without being challenged.

So for my fellow IT veterns please take this lesson to heart. Let some junior developer blow up your application this week and then help them recover from it. The experience might be of great benefit down the road. Even if you're one of those people that plans on being a coder until they die, there is always going to be a point where you have a good learning opportunity for a less experienced member of your team.

The only reason why I gave the guy a chance in the first place is because I remember no one giving me a chance when I got started. My first three years in IT were miserable and enough to make me want to quit the field altogether. I don't ever want someone working for me to feel the same way.
Deepak Bala
Bartender

Joined: Feb 24, 2006
Posts: 6662
    
    5

Fortunately i am empowered in my project. I can make decisions and write code the way i want to ( almost ). My decisions go into the design and its cool ! I know what you mean. Even after you gain a lot of experience the success of a project boils down to the logic and the perception of the person writing the code. You also require humility to accept that the junior developer was right. Good on you. Give him more work !


SCJP 6 articles - SCJP 5/6 mock exams - More SCJP Mocks
vibhav kumar
Ranch Hand

Joined: Mar 08, 2006
Posts: 39
Thanks rob for sharing the same.
Jason Cox
Ranch Hand

Joined: Jan 21, 2004
Posts: 287
He was a subcontractor and left the company because he was going back to India to get married. He found a full-time position in the city he was moving to and I also offered to give him a recommendation. I would definitely work with him again in the future if given the chance. I was impressed that he fixed a problem he found in a senior developer's code but didn't gloat about it either. My past experience with junior developers is that they tend to not fix problems written by seniors because they are afraid that the senior developer is actually right and they are wrong. Under the circumstances he did the right thing, which is always the best way to impress me.
Manish Hatwalne
Ranch Hand

Joined: Sep 22, 2001
Posts: 2581

Originally posted by Rob Aught:

The lesson learned from before is that unless you give someone the opportunity to fail they will never succeed. Sure they might fall flat on their face, but if they are competent they will learn from it. No one grows without being challenged.


Well said!!

I guess I am very fortunate to have a great technical boss and I am allowed to take all major design decisions & code ownership! Touchwood!!!

- Manish
Billy Tsai
Ranch Hand

Joined: May 23, 2003
Posts: 1304
most companies don't give junior or less experienced people any chance at all so those people will never have the chance to gain experience


BEA 8.1 Certified Administrator, IBM Certified Solution Developer For XML 1.1 and Related Technologies, SCJP, SCWCD, SCBCD, SCDJWS, SCJD, SCEA,
Oracle Certified Master Java EE 5 Enterprise Architect
Jason Cox
Ranch Hand

Joined: Jan 21, 2004
Posts: 287
Sadly this is very true more often than not.

I know as a junior developer I was given no opportunities to work on anything, despite proving time and again I could keep up with more experienced developers and was even developing some demo applications that were just as functional and looked every bit as good as what was being done by more experienced developers.

Then when I moved on to my second job I had numerous successes but as the team grew and more senior developers were hired I was increasingly marginalized. Since I did not code the way one of the senior devs did I was viewed as incompetent despite my previous successes and despite the fact I was correcting quite a few of his mistakes. I became unmotivated to the point where I would just not care anymore.

I finally got a break in my 4th year when I took on a new job at a different company that allowed me to develop everything myself. It was a great project and allowed me to show myself that I was actually worth something.

Sometimes the hardest part about being a junior is paying your dues and slogging it out until you have enough experience that people will trust you more. I try to take the approach that junior devs are to be mentored and not marginalized. I have taken my past treatment to heart. I would always encourage talented people who are not treated well to find other employment. No one should have to work for a bad boss or company if they have other options.

I also hope that in the course of my mentoring that I will create more people with my attitude towards junior members of the team. I am still not comfortable handing off complex tasks to less experienced teammates, but I understand it is a valuable part of the process.
David Bentley
Greenhorn

Joined: May 15, 2013
Posts: 6

You hit the nail on the head with my current situation. I am a newly hired developer and have not touch a line of code since being hired back in March of this year. Quite frustrating and I feel like i am getting rusty, so now I am taking onto myself to re-learn / develop my skills again. I will say that your post has made me feel more comfortable with my situation, just to know that I am not alone in this situation is relaxing. Also knowing that you were in the same situation and now you're an experienced and capable developer means that it will just take some time until I can get rolling with the "big boys". Thanks for the post you have made many junior devs feel much much better about the field.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Lesson learned from a junior developer