Reposted from Hooray for the bleeding edge via email.
Found a true gem while surfing Hacker News today: http://algeri-wong.com/yishan/engineering-management.html, Engineering Management at Facebook from 2006-2009. I especially liked the Hiring part. Here are a few quotes about why hiring should be foremost in everyone’s mind, from the CEO down to the janitor:
“The quality of coworkers is the single greatest determinant of workplace happiness”
“Hiring is a zero-sum game. Candidates that don’t join your company will join a competitor’s, and your loss will be their gain. If hiring isn’t your number one priority, it’s unlikely you’ll be number one at hiring”
“Successfully hiring the best people at all levels means that down the road, your internal promotion pipeline is strong” – which means that people won’t walk out the door on the first opportunity.
Like most of you, I have a job. Like most of you, I had to pass an interview to get that job. Like most of you, I failed many interviews before passing the one that got me here today.
If it were up to me, I’d never go to another interview ever again. I’m sure many of you feel that same way – otherwise we’d never do things like YCombinator.
However, interviews test us. They put pressure on us. Only then, do we find out a little more about ourselves.
I talked my way into an interview with Red Hat in early 2002. Was it the Red Hat that flies you down to NC for a full-on, multi-day interview? Not exactly. This was with the team that had been ‘bought’ by Red Hat from ArsDigita Corp not two months before, and was located on route 495 in Massachusetts. I use the term ‘bought’ loosely, since Philip Greenspun pointed out that it wasn’t really the case in his chapter of Founders At Work.
For this interview, I had to submit a code sample. I forwarded a piece from my last project, a Java servlet which I had slaved over for a few months in the basement of where I worked in 2002, of which I’ll talk about later. (Or never. Imagine ‘The Office’ plus ‘IT Crowd’ plus, oh hell I don’t know, ‘Deliverance’. I’m just kidding, maybe.)
I realize now that this code sucked. It was a Magic Servlet, about as magic as they come, with SQL and HTML and all the rest of the crud mixed in there. I shouldn’t even have gotten my foot in the front door, but I did help one of their engineers move furniture, so I suppose all that back pain was worth something.
So, when I walked in the door that morning, I had about a half-year experience coding ‘in the industry’ and a lot of practice coding all sorts of projects at ArsDigita University. I was not, in other words, a Non-programming Programmer, I could work with it, but there was definitely room for improvement.
There were seven engineers on the team. They needed an eighth. I was interviewed by every single one in one day. On the face of it, this didn’t seem like a bad idea until, oh, after interview number 5. Interviewer #5. I’ll never recall his name, but I’ll never forget him.
Up until him, the interviews had been fairly upbeat – there was the Databases Guy, the Systems Guy, the Internationalization Guy. There had been some technical questions but nothing that really stressed me out. Number 5 had a different beat altogether. Definitely what you’d call ‘down tempo’.
First of all, he wore the Brass Rat. The thing about the Brass Rat in Massachusetts is that, since there are so many MIT grads there already, you can already sniff them out without the extra bling. Most MIT grads I know got their Rat, wore it for a while, and then put it away when they realized a) it wasn’t going to get them laid, and b) it wouldn’t get them ahead in the job market in Massachusetts, because there’s this liberal arts college down the road named Harvard that puts out pretty smart graduates too.
However, Interviewer #5 didn’t get that memo. He seemed pretty proud about that ring. Especially since he started to tap it repeatedly against the table as we were having the interview. To add insult to injury, he pulled out the printout of my code. Marked up. With comments and highlighting.
I don’t remember much about that part of the interview except the tap tap tapping of that ring against the table. Snatches of it come back to me sometimes in horrible dreams: “I see this block of code here…” tap tap tap “…seems purely procedural in nature…” tap tap tap “…could you explain to me why you are accessing the session so many times?”
It was like Chinese water torture. I completely came unglued and couldn’t come up with any concise or confident answers at all. It didn’t help that the interviewer after him was the UML Guy, who was all over me to come up with a correct UML Diagram for my code.
I walked away with some bruised pride, and a wasted day. But it did teach me to get a little better at what I did. I read the Bitter Java book. I started to learn about MVC. More importantly, I kept interviewing. I finally got another job – the job I have now, actually – and I’m still programming,
A long-ish thread on Dzone opened up due to my pontification on Java Jobs in the previous post. James from DZone makes a super valid point in saying that while Ruby jobs may have increased, they are still an insignificant part of the market compared to the sheer number of jobs dedicated to Java or J2EE. Rick adds that it’s all ‘lies, damn lies, and statistics’.
The data, I will admit, is inherently biased, since it is only based on SimplyHired’s own job listings. If you created a trend searcher that polled jobs from, say, Monster + any number of job sites that have sprung up in the last 18 months or so, you might get a more representative trend. And then, you would only get a trend that had a good picture of US job markets, or at least a highly ‘wired’ job market (like the EU).
Note that in the above links I haven’t even gotten into places like craigslist. I have a long-standing theory that posts on Craigslist == a region’s social digital capital, but I have been too lazy to track it.
|Mortgage, Java, Zookeeper, Groovy On Grails trends||Mortgage jobs | Java jobs | Zookeeper jobs | Groovy On Grails jobs|
This graph displays the percentage of jobs that contain your search terms. Since August 2006, the following has occurred:
- Mortgage jobs decreased 56%
- Java jobs decreased 29%
- Zookeeper jobs increased 284%
- Groovy On Grails jobs increased 4508%
Did a jog around the internets today and found the trend graphs on SimplyHired to be, well, simply interesting in themselves.
But take heart, some programmer jobs are increasing…
Weblogsky writes about underachieving, making me think again about whether or not I will ever have control over my life.
<P>Jason Alba over at JibberJobber is running a set of five articles about writing the perfect resume, and I was struck by all the comments on Part 3: <a href="http://www.jibberjobber.com/blog/archives/455">Formatting</a>. The best quote I have read so far is <a href="http://www.cecsearch.com/WordPress/2007/03/12/ripping-up-the-most-important-resume-in-the-world-your-own">Carl Chapman's fight to end the two-page resume</a>:
<P><code>"what happens if the pages of your resume get separated? With a single page resume, that can't happen. another plus is that you are forced to remove boring drab statements and replace them with powerful statements that are more likely to garner interest."</code>
<P>Interestingly enough, I came across a one-page technical resume that I actually like <a href="http://citizenagency.com/blog/2007/01/11/new-horizons-for-ben/">here</a>. It's something for me to work on when I have some time to reorganize.
<P>I've experienced this lately, but maybe not as extreme as Web Worker Daily puts it though; <a href="http://webworkerdaily.com/2006/12/09/what-to-do-about-time-zone-dementia/">What to do about Time Zone Dementia</a>. From the article, they describe the following problems (and then provide some solutions):
<P><code>Early morning wakeups. You get up at 6:45 am to dial into a conference call scheduled for 7 am Mountain Standard Time. But you live in New York. </code>
<P><code>Midday confusion. You go for lunch with a friend on Tuesday at noon, trusting the open space on your calendar. You miss an important online developer chat because you didn?t convert the time when recording it. </code>
<P><code>Self-centered meeting planning. You ask your colleague in Sydney to call in for a mandatory 8 am PST meeting, forgetting that it would be 3 am to her. </code>
<P><code>Disorientation when traveling away from home. You diligently record the details of an important webinar onto your calendar, but miss it anyway, because while you?re traveling your calendar still reflects your home time zone. </code>
<P><code>Socially inappropriate behavior. You plan a springtime brunch, only to be surprised in your pajamas by the guests who remembered to ?spring forward? for daylight savings time.</code>
<P>In a <a href="http://jroller.com/page/wj?entry=where_do_we_go_from">a recent post</a> I linked to an article that stated we coders only had three career paths ahead of us; another blogger expands this: <a href="http://www.harriyott.com/2006/02/12-career-moves-for-developers-without.aspx">Twelve Career Moves for Developers</a>.