Career Advice For Young Developers, Part 2
Posted by Davy Brion on January 13th, 2010
Little over a year ago, i wrote a post which had some career advice for young software developers. That post was mostly based on things that worked for me, but obviously also on mistakes that i had seen other people make. Now, a large percentage of posts in my ‘Opinions’ category are directed at people that i know personally, and this one is no exception. I typically don’t mention names or actual situations in those posts, but in this post i am going to talk about a certain situation, though i won’t name names. I am going to contact the person in question so he knows full well that this post is directed to him. If he doesn’t like that, that’s his problem. Hopefully, he’ll appreciate the advice though.
Every year we work with interns from the school that i and many of my coworkers come from. We’ve been extremely lucky with the interns we’ve gotten from that school so far, and many of our best developers actually come from that school. We basically expect to get really good people from them and when they do good during their internship, they usually get offered a job and most of them accept it. Last year, we had 5 interns from that school. Two of them are now working for us. There was another guy who i would’ve loved to have on our staff. This kid was 21 (maybe 22, not sure) years old, and i quickly noticed that he was exceptionally talented. I don’t know about you guys, but i rarely get to talk with anyone who really makes a great impression on me (on a technical level) who i’m not already working with or who i’ve haven’t worked with in the past. I was very impressed with this kid even before i saw his code. He knew a lot of stuff that most of us only learn after a while, and he seemed to be a very all-round talent.
I was very curious to see how he would complete his internship and i was already hoping that he would be working for us once he graduated. He took on a leadership role of his team (which admittedly, consisted only of interns) but he really managed them pretty well. He took care of most of the technical challenges, and he made sure the others were productive in their tasks. If he wasn’t sure of certain technical issues, he didn’t mind asking for advice or help. The skills and the approaches he demonstrated at his age were truly exceptional in my opinion. No matter how good you think you are right now, think back about how you were when you were 21, 22 years old. I thought i was pretty good back then, but i didn’t even know a fraction of what i know right now. And i don’t just mean on a technical level, but more about how businesses work, how you need to deal with people and situations, stuff like that. Most people simply don’t have a clue about how to deal with that at that age.
This kid knew, though. Not everything obviously, but at least a lot more than most people would at that age. He’s smart, he’s talented and he knows how to apply his skills. The one thing he doesn’t know yet, is how to deal with previous mistakes. And that is something you only learn once you’ve been working in a professional environment for a year or two, and if you’re lucky enough that people will challenge you and confront you with your mistakes. He may not have liked it, but i once caught him breaking the build and i told him he needed to fix it. He said it was a problem with subversion and that something must’ve gone wrong with the commit in question. I showed him that it was impossible that it could’ve been due to a problem with subversion and that he simply made a mistake in his commit. And while he probably still won’t admit it, he knew that i was right and that he was wrong. Now, there’s nothing wrong with a situation like that per se, but it was clear that he wasn’t used to a situation like that.
Think about it. You’re gifted. You’ve got a lot of talent. You’re pretty much better than anyone you’ve ever had to deal with at school. But the thing is, true improvement comes from learning from your mistakes, and you need to be in a situation where people aren’t afraid or too intimidated by your skills to be able to tell you when you’re wrong. If you don’t get confronted with your own mistakes, you are going to miss out on a lot of opportunities to improve yourself.
This guy made it very clear from the beginning that he wanted to pursue another degree after he graduated. And he’s currently doing that. The thing is, with the skills that he has, and the ability to convince other people of his skills, combined with the extra degree that i have no doubt he’ll earn this year, it’s very likely that he is going to end up with some large company in a very comfortable position. The thing that worries me though, is that a lot of people in those kind of companies aren’t very honest with their employees. Especially the ones they consider to be ‘high-potentials’. I doubt that he’s going to be around the kind of people who are going to be honest with him when he makes mistakes (and he surely will make them, as everyone does). And no matter how good you are, no matter how well you learn from your own mistakes, a very large part of self-improvement comes from being confronted with your mistakes by others.
So finally, we get to the ‘advice’ part of the post. To him specifically, and anyone else who recognizes himself (or herself) in a story like this i would advise the following:
- Do not automatically assume that a fancy position at a large company is the best situation for you. For most of these companies, you’re only valuable as long as you’re willing to play along with their game. It’s their game, their rules. You either play along, or you fold after a while, and believe me when i tell you that it is going to end up bothering the hell out of you.
- Learn to appreciate criticism. If you handle it right, you’re only going to end up better from it and you will truly learn from it.
- Status or position doesn’t mean anything if you suddenly realize you’re surrounded by idiots.
- If you don’t really need the extra money you can make while working for people who truly couldn’t care less about you personally, you certainly don’t need to subject yourself to all of the crap that will come with it.
January 14th, 2010 at 7:28 am
Very nice post! Not sure why you’d call this advice for young developers, as from my point of view, this is good advice for ALL developers not matter how much experience they have.
January 14th, 2010 at 10:01 am
[...] Career Advice For Young Developers, Part 2 – Davy Brion shares some advice for up and coming developers keen on advancing up the Software Development Career ladder [...]
January 14th, 2010 at 11:06 am
Unfortunately there are much more untalented unskilled developers who break the builds all the time and never admit it or just don’t care much about that. I’ve seen quite enough blog posts giving good advices, but I’ve never seen people following those advices. And this is really sad.
January 14th, 2010 at 11:51 am
Really liking the topic. Keep it up
February 1st, 2010 at 7:18 am
[...] податься начинающему разработчику? Davy Brion дает советы по выбору профессионального [...]