Software Development

Write a resume that will land you a programming job

Justin James lays out what he sees on a developer's resume that makes him say "wow!"... and what makes him say "ugh!"

I usually read 5 - 20 resumes each week. Both my boss and I are extremely busy, so it's important that a programmer's resume grab our attention quickly by providing the right mix of necessary information with something that makes that person stand out from the pack.

I've been involved with our hiring process for more than six months, so I feel fairly confident that I can distill what it takes for a programming resume to get me to say, "Let's arrange an interview." Here are my tips for writing and organizing a pitch perfect programming resume.

Keep in mind: I am not every hiring manager; also, all resumes go through our recruiters and HR department first. Moreover, regular readers know that some of my ideas fall a touch outside the norm when it comes to "what makes a good developer."

Put your skills front and center

Reading the in-depth details of how you used mainstream skill XYZ to accomplish typical task ABC is not at the top of my agenda. I want to see your skills up front, so I don't need to go trolling through your resume to see if you meet my minimum needs.

Skip the summary and maybe even the objective

Those summaries are a waste of my time. It is going to say something like "seasoned IT pro with great communication skills" or "proven veteran with 10 years of programming experience." How do I know this? Because they all say this. Skip it, please.

The objective is a slightly different story; it is useful only if it informs the interviewer about something that the skills and experience does not. The objective's relevance to me is largely a function of whether you wish to keep doing what you have been doing. If I see you have been programming -- particularly at the data access layer and the business object layer -- and there is no objective, I am going to assume that you are looking for more of the same with a different employer or location. If you want to do more of that work and put an objective, you are wasting space. If you are looking for a change of pace -- like getting more into the presentation layer or heading towards a management track -- it's important to state that in your resume. Otherwise, we may discover during the interview that you are not interested in what we have to offer.

List your education last

Some IT hiring managers put a huge emphasis on certain educations but I do not. I always want you to list your school and your major, but I will only ask you about your education if there is something unusual or intriguing.

For instance, a candidate with a Computer Science degree from MIT or with a PhD in Organic Chemistry will draw my eye because these degrees show a level of high intelligence. On the flipside, an AA in basket weaving or a lack of a degree will not count against you.

In most cases, I am not even curious about your education until I have already made up my mind. This includes certifications -- MCSEs and CCNAs do not impress me that much at this point. They matter to some folks, and they do not hurt you in my opinion, but I will only take that certification into account if all else is equal.

Show me that you are different

Even if my project is a run-of-the-mill Web-based, data driven application (which it is not), I still want to see that you are more than someone with 10 years of experience writing run-of-the-mill Web-based, data driven applications. For example, compare these two items:

BORING!
East Coast Power - Programmer 1999 - 2005

  • Wrote VB applications to control machinery. The hardware interface was handled in a COM library that was written by another team. Application was robust and reliable.
  • Wrote Web-based tool to track system faults.
  • Created Web service to allow partners to consume portions of the database.

WOW!
East Coast Power - Programmer 1999 - 2005

  • Wrote VB applications to control nuclear reactor. Real-time control and monitoring of systems handling 10,000 unique data inputs per second.
  • Wrote advanced algorithms in C# to detect imminent system failure, which were used within a Web-based application.
  • Created Web service in C# to allow partners to access data in a secure, reliable, and responsive manner; typical data set was 1,000,000 rows and concurrency challenges needed to be overcome at the database and application layers.

See the difference? Control machinery does not help me much -- you could have been working on the elevator system for all I know. Programming a nuclear reactor impresses me, especially since there has not been any nuclear reactor disasters during your employment. Writing advanced algorithms in C# touches my engineer's heart; whereas writing a mere Web-based tool is ho hum. And, while writing a Web service is fairly simple, particularly in ASP.Net, it's not so easy to write one that is "secure, reliable, and responsive" with that size of a data set. It's also not easy to deal with concurrency issues at two different levels.

I am not saying that it needs to be wordy or full of minute details, but if you are doing work beyond what a summer intern could do, I need to know about it. Every developer has written a Web-based, data driven application. Show me more.

Make sure that your experience highlights your skills

I don't expect your employment history to include a list of all your skills. But if you are looking for work as a .Net developer, show me that you have done some .Net work. If you do not list that experience, I am going to assume that you have little or no experience with it -- even if it is on your skill list. If you have large amounts of experience outside of the workforce, find a way to show that on your resume.

Keep your resume between two to four pages long

I have struggled through seven-page resumes filled with jargon and boring details that made me want to cry. An overly long resume doesn't necessarily make me rule out a candidate, but why make it hard on me?

On the other hand, a resume that tries to stick to the one page rule is not going to cut it for a technical person unless they are new to the field. In my experience, two to four pages is just right. Also, please use some whitespace, so I do not feel like I am drowning.

Watch your formatting

While technical pros' resumes do not need to be pretty, formatting can make a huge difference in a resume's readability. If you cannot put three pages of text in front of me in a readable form, do I really want you touching the UI or writing code that someone else might have to maintain?

I recommend that you stick to a larger font size (e.g., 10 - 12 pt.) in a font that reads well onscreen and in print (e.g., Verdana, Arial, Tahoma, Calibri, Helvetica). If you want a slightly fancier font, use it only for section headers. Also, do not mix Serif and Sans Serif fonts -- that is just ugly. Do not use "Comic Sans" anywhere, especially in hot pink or baby blue (and yes, unfortunately, this needs to be stated). Keep your margins and space between paragraphs large enough to provide the reader some "breathing room."

Employment history

I give applicants some slack on employment history. For instance, five year stints are fairly rare in IT, and I give anyone a lot of leeway if their history includes anything that occurred during the dot com boom/bust.

If you are (or were) a contractor or consultant, make sure that is clearly stated; otherwise, I will think that you get fired and/or quit every 3 - 12 months. If you were not a contractor or a consultant, and it looks like you have a hard time staying at a job, I am going to be very cautious. If I see an increasing progression of job titles, "mercenary" pops into my head. Also, if I see that they are lateral (or worse, negative) moves, "bad apple" is my first thought. Of course, sometimes you get hit with a string of employers that go under or get acquired -- it happens to the best of us. If that is the case, find a way to convey that information so I don't think you are unemployable.

Spelling and grammar

It is critical that the spelling and grammar in your resume is flawless. I have seen applicants misspell the name of their state and the name of their school. If grammar and spelling are not your forte, ask someone to look over your resume for you. While I understand that many IT pros are not native English language speakers (or are English language speakers who paid little attention to those subjects in school), you should still ask someone for help. In fact, knowing when to ask for help is a hallmark of the best developers. If I interview you and realize from your speech that you had the sense and humility to ask someone for help on your resume, I am going to be truly impressed. (For examples of what not to do, check out this list of real-life resume blunders.)

Stay out of EEO (Equal Employment Opportunity) territory

In the United States, companies with more than 10 employees need to follow EEO rules. These rules state that an employer cannot discriminate against or show preference for an employee based on certain group membership items or personal lifestyle issues, such as gender, age, ethnicity, nation of origin, religion, sexual orientation, and so on. So, do me a favor and try to not expose any EEO-related information to me on the resume. In a face-to-face interview or even a phone interview, some of it will be unavoidable. But I will never solicit that information. Not only do I want to keep my employer and myself out of trouble, but I personally feel that EEO is important. I can understand that many names (or even college attended) are strongly correlated with ethnicity, religion, or nation (or at least general geographic region) of origin, and college graduation or attendance dates give some age clues. Minimize this as much as possible. Please do not tell me about your church, your family situation, your home life, your parents, and so on. It is not that I am not interested -- I would probably love to learn these things about you if we hire you -- but I do not need or want to know them before that you come on board.

Outside interests, hobbies, achievements, and activities

I like to see these, but only if they are relevant. I really do not need to know about how big of a fan you are of the New York Knicks; but if you wrote a piece of software that can do something nifty with the team's statistics for fun, I would love to know about it. People who contribute to open source projects get a huge gold star in my book, but only if I feel like they would be comfortable working on proprietary software with proprietary tools, and not bringing anything GPL'ed into my codebase. That is a small caveat there. "Contributed to project XYZ in the areas of ABC and DEF" is enough to whet my appetite. Show me some outside learning too -- don't let me think that you get home at 6;00 and shut off your brain. If this work is not interesting enough for you to read about or experiment with on your own time, why would I think that you will be engaged or even interested in the job we would hire you for?

Gracefully show your inner geek

Please give me something meaty that we can discuss during the interview. So, where it is relevant, try to show me how much of a nerd you are.

For instance, try to mention the hovercraft you made from an inner tube and a lawn mower engine. Make note of the iterative, evolutionary game theory system you coded in Lisp that proves that Nash's equilibrium is dead wrong. Tell me something about your three chess championship victories. I do not want to know that you memorized UHF or that you have a pocket protectors collection that have logos of now defunct minicomputer vendors.

I know most of this falls under the previous section, but it is relevant. I love to work with programmers who love technology and logic and using their brains. People like that are simply better programmers. Why would I want to hire someone who is intellectually lazy for an intellectually challenging job?

Obscure or nonmainstream technologies

I am not hiring Lisp, Prolog, Erlang, APL, Scheme, Clipper, PowerBuilder, Delphi, Pascal, Perl, Ruby, Python (forgive me for including those four in this list), Fortran, Ada, Algol, PL/1, OCaml, F#, Spec#, Smalltalk, Logo, StarLogo, Haskell, ML, D, Cobra, B, or even COBOL (which is fairly mainstream) developers. If you show these on your resume, I will want to interview you just for the sake of slipping in a few questions about these items.  I am serious. As part of my secret geekiness, I am really into obscure and almost obscure languages and technologies. I know that a lot of those items take better-than-industry-average intellect and experience to do; they also provide a set of experiences that gives their practitioners a great angle on problems. While you will never directly use those skills in my shop, you will be using those ways of thinking, and it will give us something to talk about on your first day.

(Aside: A coworker was shocked to learn that I played Half Life. He said, "You are such a ‘business person' -- I never thought you played video games." I guess I'm camouflaging my secret geekiness too well!)

Good luck

I've given away crown jewels here. In my perspective, these tips will help any programmer write a perfect resume and get them an interview.

What do you think gets applicants an interview? If you read resumes as either a hiring manager, a recruiter, or an HR employee, what makes you say "wow!" or "ugh!" when you see it on paper?

J.Ja

About

Justin James is the Lead Architect for Conigent.

50 comments
Kamen no Otoko
Kamen no Otoko

I agree with most of your points, but not your take on the "Summary". You see, _you_ find it useless, but a resume is not typically seen by someone like you. Instead it goes through a "preliminary screening" where a "HR" shortlists resumes to be considered by the technical team. This guy is usually totally clueless as to what kind of candidate is required for the job, and relies on keywords and number comparisons.

This is how they typically operate: "Let me see, the tech lead has asked for a candidate with 5 years of experience as software developer. Let me look up the summary, oh great, he says he has 6 years of experience, and I can also see 'software developer' mentioned in there. Alright, he is shortlisted." 


As a result of this idiotic candidate selection process, candidates are forced to write summary and a lot of other irrelevant garbage just to get their resume past the first idiot. If all companies got rid of useless HR department and unnecessary "screening", the resumes would become more concise.

echolot
echolot

Uh.. i give up, it's too hard to get a job, I'll do something else, live in woods i suppose. Why did i even involve myself with programming...

masud561
masud561

: Writing a resume is a pain. I just came across the site resume-help.org that has a great collection of resume writing tips for a resume novice. With their free resume samples and tips I was able to pull together a resume in less then an hour. [url=http://www.resume-help.org/resume_writing_tips.htm/]See more[/url]

aliyadesouza
aliyadesouza

These are fantastic resume writing tips for the software engineer. According to me the job seeker have to learn marketing the self skills . The recruiter always finding the employee which is perfectly match to the requirement for particular post. So you have to make them impress that " I am perfect for this position". The best written resume give you the various interview calls. For writing the resume best like to share www.aroj.com

AlexPC
AlexPC

Huh, I just happened on this, although I bet it's still pretty valid in mid-2010. I have a hard time with the emphasis on applicants knowing the flavor-of-the-month language and technology (C#, .NET) over non-proprietary tech that has provably more staying power (C, C++, PHP, Perl). The latter is going to be more useful for a longer time; the former can be learned when it's needed, and ignored when it's needed no longer. Would you have hired someone in 2000 because they knew MFC inside and out? Where would that person be now, if they didn't have the generalized skill needed to be able to adapt when Microsoft abandoned that platform? I discuss this in more detail on my blog (apchamberlain.blogspot.com).

alaniane
alaniane

Sometimes it is necessary to provide information that may be restricted by EEO. For example: my religious beliefs may prevent me from performing certain types of work like aiding a gambling establishment. If the potential employer mainly contracts to write code for casinos then I think it would fair to him/her to know of the potential conflict of interest.

RayJeff
RayJeff

This comment is a reposting of a post I made on a similar discussion topic. I came upon this discussion after I posted to the other topic. /****************************************************\ I'm glad I read this. My resume is basically the resume of someone who is a PC tech supporter. The interesting part is that at a former job I was working where I did tech support for almost 2+ years last year, for those 2+ years, I was brought into an ongoing project in the division I worked in. It was a 5 year project and when I as hired, it was the beginning of year 3. My area of work on the project was application development (database and user-interface development). After I left that job, I basically went back into tech support, but in a data center environment. I enjoyed the application development work and I want to go more into that area. I've had some "difficulty" I think in applying for programming jobs. I've applied for 8 programming jobs since June 2006. Out of the 8, I've had callbacks on at least 3, but I haven't had any interviews. One was for an entry-level programming training program with Blue Cross Blue Shield. Right now, I'm waiting to hear back if I will be able to take the test to get in the program. The problem is that I have practical experience on one had vs competing with college graduates. Another job was through an agency for an Access developer. I got a callback after they received my resume, I got a confirmation and nothing else since...this was September of this year. That's basically been what's been happening when applying for a programmer or a programmer analyst position. After reading the post, I don't know how I can modify my resume to make it more noticeable. Should I have a section just specific to what I did in that project I worked on? Because I have to admit, when it comes to describing exactly what I did as far as programming, I didn't go into detail because of the many tech support roles I filled. So, how does a person who has only had one job doing programming make their resume stand out????

fcarr
fcarr

Those are my 2 resume black marks. Throughout the dotcom era ('96-'01) I worked as a contractor, going from one 6 month to 1 year contract to another. In the bust period I had to scramble for work, doing very short term (2 week to 1 month) contracts, before finding a perm position. Many companies hold this against me. The other factor is my age, 48. It's easy to figure this out from the resume and I probably don't get called in for several interviews due to this.

mikebertie
mikebertie

Your comment "If this work is not interesting enough for you to read about or experiment with on your own time, why would I think that you will be engaged or even interested in the job we would hire you for?" speaks volumes....and not good ones. Personally, I would much rather have someone who has a life outside of programming. I personally find it refreshing and enjoyable to know that my senior programmers spend their evening and weekend time (a) with their wife/husband and/or children just interacting with them, (b) reading books on subjects that will enrich them in other areas of life (there ARE other areas you know), (c) or playing sports / exercising. How incredibly boring to know that my developers code all day on work-related issues, then go home and code all evening and weekend (abandoning their families to "entertain themselves"). Three words pop immediately to mind..."Get a Life". You would think that the person would engaged with and interested in the job for which you hired them because when they are at work, they focus on work, and when they are not at work, they exercise other areas of their lives and interact with [gasp]...people.

d_baron
d_baron

Nice post! I got similar advice in a resume-writing workshop a long while back. However, at least here in Israel, hirers want the tired old hack and maybe even are interested in hiring one. I get very few interviews. BTW: I keep dates off (because of EEO issues-age discrimination is quasi-legal here!) unless asked for them and I send the other version.

joe.justice
joe.justice

Most of all you've indicated are good common practices for vetting a resume. But much of applicant selection, interviewing and hirining the right person comes down to understanding people and understanding that everyone is different. If you can master the ability of taking each person (and their resume) separate from the one before, you ability to rate the person's job fit will be inhanced. Just out of curiosity, I would be interested to know of the people giving advice and tips in this blog, what has been your record of success for picking the best person for the job? Have you had any disasters where someone whom you hired really screwed things up and left the team in a mess and the job bogged down or in failure? What did you learn from the experience? It's nice to know what some hiring supervisors like to see in a resume, but in the long run, it's up to each person to recognize the job for which they are applying and use their best assessment of what the potential employer would like to see in their resume. Rarely will one resume work in every situation. Cutting to the chase is usually a good thing in a big company where the hiring manager is likely reading resumes from breakfast to dinner. But in a small start up, you may wish to pitch yourself more to the person than to the machine.

john
john

I was a music teacher for 10 years. While teaching I learn to develop on the web on an ASP classic platform. When I took the plunge I had to freelance for awhile...a tough gig. I then took on a job that paid less than teaching doing web sites for a small company using LAMP. Now I'm doing a lot better at a major corp in my area as a web tech using xml/xslt although most of the work here is mindless; not what I would call "programming". The money is way better than teaching but I'm not learning anything. While I use xml here it's not much so I learn as much as I can about .Net/C# and XML on my own. I know however that nothing can replace real experience and I need that to really move on. My problem: how do I create a resume that will get me interviewed more often and how do I convince someone to give me a chance? I'm finding that "web" programmers don't seem to command the respect that software programmers do and at times I feel as if I'm going in the wrong direction. Thanks!

john
john

I was a music teacher for 10 years. While teaching I learn to develop on the web on an ASP classic platform. When I took the plunge I had to freelance for awhile...a tough gig. I then took on a job that paid less than teaching doing web sites for a small company using LAMP. Now I'm doing a lot better at a major corp in my area as a web tech using xml/xslt although most of the work here is mindless; not what I would call "programming". The money is way better than teaching but I'm not learning anything. While I use xml here it's not much so I learn as much as I can about .Net/C# and XML on my own. I know however that nothing can replace real experience and I need that to really move on. My problem: how do I create a resume that will get me interviewed more often and how do I convince someone to give me a chance? I'm finding that "web" programmers don't seem to command the respect that software programmers do and at times I feel as if I'm going in the wrong direction. Thanks!

nvrtis
nvrtis

You did a nice job of putting into words a lot of what I used to look for in a resume. It's sort of spread throughout your article, but I used to like to see. "At the end of the resume, leave me with the impression that you think this is a fun business to be in". I've yet to meet a good programmer who thought that it was an 8 to 5 "job" that you punched in in the morning and punched out at night.

Justin James
Justin James

Let me know what you think gets you the interview, or if you are a resume reader, what makes you say ?wow!?or ?ugh!? when you see it on paper! J.Ja

Justin James
Justin James

I used to work for a major pharmaceutical company. Not only did they perform animal testing, but they did it in the facility that I was working at. The person who interviewed me had the courtesy to inform me of this up front during the interview, so that if my beleifs conflicted with animal testing, I could take it under consideration if offered a job. However, as your example make clear, there are some deal breakers that the interviewer won't tell you about, either because they are not thinking about it, or because they din't realize that it could be a deal breaker. That being said, you still do not need to step outside of the EEO boundaries. The way to approach this is to either simply mention "personal beleifs", or to ask directly (or indirectly) about the deal breakers without saying why. The problem is that 95% of people feel some inane urge to explain the irrelevant. People have this unexplainable desire to explain in great depth what can just be left at "personal beleifs". Like, "I am a strict Muslim and I will not work for a pork processing plant" is way too much detail. Being Muslim does not need to come up. Just say, "personal beleifs", and the interviewer still does not know your religion, and the point is just as clear. J.Ja

Justin James
Justin James

I put up a response in the other thread. :) J.Ja

Justin James
Justin James

"Throughout the dotcom era ('96-'01) I worked as a contractor, going from one 6 month to 1 year contract to another. In the bust period I had to scramble for work, doing very short term (2 week to 1 month) contracts, before finding a perm position. Many companies hold this against me." I give a free pass to short-term employment during the dot-com boom/bust. And a resume that clearly indicates that those were explicitly contract positions, no sweat! "The other factor is my age, 48. It's easy to figure this out from the resume and I probably don't get called in for several interviews due to this." I *deliberately* ensure that I do not exclude people in that age bracket! My team ranges in age from 24 through 59. I am not going to be naive and pretend that someone who is 48 is precisely the same as someone who is 28. But I have found that the people who have survived this industry for 15, 20, 30 years have a ton of knowledge that is a mine of pure platinum in value. Sure, a younger person may be hungrier or more energetic, but even that is no guarantee. One of the older members of my team *begs* us to put more work on his plate, and loves to (his words) "sit at home working while my wife throws steaks through the door." That's a pretty strong work ethic. Another one of our older members is the first person in the office each day, and is solid as a rock. Both of these gentlemen have an amazing capacity to learn new things (which is a traditional stereotype of older IT workers, that they refuse to or are unable to learn), and they keep building on the years of experience they have in the industry. I was very impressed in an interview I did earlier this week with a gentleman who started college the year after I was born. Again, great history of work and experience. No sir, I highly value the older candidates in the job pool, *so long as they have kept their skill set current and have a good attitude*, which is the same criteria I would apply to anyone else. If you are on the market and would not mind working in Columbia SC (your profile says Conyers GA), shoot me a private message through TechRepublic. We are still hiring for a number of positions in a number of departments (including mine), and need some more good people. J.Ja

Tony Hopkinson
Tony Hopkinson

enjoys it and does it or something related to it outside of work. Tio be good at it, you must enjoy it, after all we don't do it for the money and recognition do we? If I hadn't spent all my free hours learning and doing (and enjoying it), you wouldn't want to employ me in the first place. Suggest you review the how to manage technical people thread, you need help and lots of it.

Justin James
Justin James

You took me WAY out of context. I write a good amount of code on my personal time. I also write this blog, and contribute further articles to TechRepublic, some about development, some about other aspects of IT. Yet, this Monday I went to an NBA game. I spent tonight with my family and friends at the state fair. I spent all day on Saturdays doing nothing but spending time with my son while my girlfriend is at work... typically from 7 to 7, and then cook a meal for her, her mother, and her sister so we can spend time together. Fridays, my girlfriend, son, and my friends get together for dinner, and then I spend time with my friends. Throughout the week, I have at least 4 days where I spend a lot of time with my friends. And every night, I have the time to give my son his "night night bottle", and I make sure I so it, *regardless* of anything else that is happening, because it is so important to me. I also manage to slip in the reading of a few pages of a book here and there, and spend time with my girlfriend. And yet, I still manage to write code on a regular basis! It's all about time management. Programming and reading and learning about it are a *hobby* for me. If you liked gardening and spent Sunday afternoon gardening, I doubt you would call that "abondoning your family". Likewise for me... I do not program for fun unless my more important responsibilities are already met, like not just spending "time" with my family (anyone can sit on a couch and watch the same TV as their spouse or kids), but truly spending *time* with them. Is it easy? Sure. I am a fairly well balanced person at an emotional level. It would be pretty twisted of me to ignore important things like "the real world", my family, my friends, housework, yardwork, etc. because I want to bury my head in some code. But I enjoy the work enough to choose to do it without the motivation of a paycheck. And that is what I am talking about. I am not really sure how you jump from the words you quoted to the idea that I am looking for some freaks who are addicted to programming (if you replaced "programming" with "doing drugs", "gambling", or "drinking" it would be a fairly good description of addiction), because that certainly was neither my words nor the intention of my words. J.Ja

jk2001
jk2001

If you're really into it, you kind of *have* to do stuff for yourself. It's like a session musician who has their own jam band on the side, to play the music s/he wants to play. In every creative profession, you'll find people who do their own work after they have done their work for the paycheck. Work related programming is often not that interesting. So, you do your best to get out of the office at a normal hour, and spend a couple hours hacking on something that's relevant to your own life. I don't take work home, but sometimes, the work I do at home ends up being useful for work. Work is all "Microsoft" lately, and might be a little more "Java" in the future, but at home, it's all Unix, different languages, and all super-cheap. I'll do small projects related to my community, or things for the people in my life. There's nothing boring about this; there's no time to get bored, anyway. It's really not that different from having a hobby. It just so happens that a lot of programmers are fortunate to get paid for using the skills they learned from their hobby. They're also fortunate to get paid enough that they can really advance the technology in their off-hours. Remember that the whole PC revolution happened because engineers wanted their own computers, and built them, as a hobby.

Justin James
Justin James

Nice to know that I am not too far off the mark. :) Would love to learn more about hiring practices in other countries, too! J.Ja

Tony Hopkinson
Tony Hopkinson

two from two at the moment. :D Most of my interview experience has been from the other side of the desk. Sometimes you get a wrong 'un without making any mistake. Do you spend all day downloading porn ? Are you in the habit of harrassing female members of staff? Two wrong un's that I worked with until they got caught. More visible types of screw up can be picked up. Make sure you get the candidate a technical vetting, if it can't be done in house, get someone else to do it. Ask them how they feel about documentation, standards and code reviews. If they are weaseling out ask them what they think constitutes 'bad' code. That will pick up the complicated beyond all reason to obfuscated because I can types. None of the above will be on the resume in any meaningful way.

Justin James
Justin James

You have some good points there. Speaking to your question: "Just out of curiosity, I would be interested to know of the people giving advice and tips in this blog, what has been your record of success for picking the best person for the job? Have you had any disasters where someone whom you hired really screwed things up and left the team in a mess and the job bogged down or in failure? What did you learn from the experience?" So far, everyone I have said "yes" to (I am not the final authority for my department, but no one gets hired as a developer if I say "no") has worked out the way I expected them to. There have been a few cases where I said "yes" with a disclaimer (like, "I think this person would be best suited to do XYZ") and that bore out as well. But those were things that I did not know until the interview. Overall, I would say that around 50% of the people I interview match the impression I got from the resume, which isn't too bad. From what I have seen at my company, that is par for the course (we often interview as a group of people, because multiple departments have openings). We have had a few where the whole group was looking forwards to it, and everyone please "oh, production emergency" to escape the room. But I have also had some where everyone else declined, and then was quite jealous when they actually met the new hire. I will say, I am overall stunned by the quality of people we have been able to bring onto my team. I agree that resumes are not the whole picture... but a stinker resume doesn't let the candidate get to an interview for me to see the whole picture, either! J.Ja

blarthomore
blarthomore

I try to get out of a resume as fast as possible. If the person is in front of me it is because there is a compelling reason to speak with them. Seeing what makes them tick is a more valuable gauge of job success than testing them based on a resume. Keep in mind that good systems people are three-dimensional thinkers. This thought process cannot be learned. Many hiring managers are linear thinkers who are out of their element when dealing with a person with analytical skills. They tend to reject the conceptual thinkers for the more straightforward "step 1, step 2" type thinkers.

Justin James
Justin James

"Software programmers" and "Web developers" are the same thing, under certain circumstances. It is getting the right project that makes the difference. If your projects have been what I call "dynamic Web sites", then it is a challenge. It really does not take much skill to connect to a database, get some data, inject it into the HTML stream, and update the DB with what someone puts into an HTML form. On the other hand, if you are doing some work where the backend does some true "meat and potatoes" work, like integrate with another product, contain some complex logic or algorithms, and so on, you will find that you will be taken pretty seriously. Likewise, if you were a desktop application developer, and all of your projects were recipe databases, To-do list keepers, and other "Hello World" types of projects, you would see a poor response too. If you have to, find a way to get some meatier projects in your hsitory. Try finding a local charity, church, hospital, or whatever and offer to donate some of your time to help them with in-house software development. You'll learn a ton, have a good time, it looks awesome on the resume, and the pressue will be off since you would be a volunteer. And of course, you would be doing something really good for the world, and get a sense of personal satisfaction out of it. :) J.Ja

Justin James
Justin James

Indeed, some of the worst people to have on staff that I have met have been the strictly "8 - 5" types. They expect a constantly increase in salary growth just because they have been around yet another year; they do not realize that without constantly updating their skill set (unless they are in a legacy shop), their market value is actually *declining*. Someone who comes in with intelligence, a good understanding of the fundamentals, and an awesome attitude will be better than the "8 - 5" person most of the time... and not grumble as much when crunch time comes, either. Even better, if the "8 - 5" person needs to add 2 weeks to a project because they need to spend that time learning on the clock what the motivated person learned at home, that is a cost of what? $3,000? $5,000? And that is just direct overhead, not even lost time on a project. Do I really want to spend $5,000 on overhead and lose, say, 80 billable hours at $150 each? That is a whopping $17,000 that a motivated person put back into the company's coffers. I call that a heck of a differentiating factor. J.Ja

Jaqui
Jaqui

Someone, like myself, with no formal training. I will learn about a technology that I need, or iterests me by using it, reading available documentation and breaking it, then fixing it. How to put the skills into a resume that doesn't scream stay away from this person?

Tony Hopkinson
Tony Hopkinson

and a skills / experience list longer than both arms. When I'm looking at cvs, I look for accomplishments with the tech I need, then accomplishments. Indications of a poor attitude (those of a good one are iffy) Hopping from one permanent job to another Ridiculous claims of expertise (one twat claimed to be an expert at eight different things...) Poor presentation (spelling, layout, verbosity..) World owes me a living (I this, I that, Because of this I should ...) Too many qualifications and little to no experience. (the guy wwith three degrees) All black marks generaally... Vetting cvs, is more about looking for negatives in my experinece.

RayJeff
RayJeff

Ok..I'll check it out :-)

scarborough.tim
scarborough.tim

Great advice Justin, and it's also nice to see someone from the tech community in South Carolina (I'm in Charleston).

mikebertie
mikebertie

I can certainly appreciate the fact that skill development takes a certain amount of outside time, and admittedly, I may have (and probably did) read more into the original post than was appropriate. That being said, in all the time I have served in the role of Director of Software Development (a little over 8 years), I've never even considered the content of one of my developer's personal life to be relevant in any way to their worth to the organization or their current team. From hiring, to maintaining them, each person excels in their own way. That isn't to say that I don't expect them to sacrifice their personal time no and then for the good of the team during "crunch" times, but I don't bring their off-time habits under consideration. I expect the individual who spends the vast majority of his spare time programming to be as willing to make that commitment, as I do the person who spends all his free time at the local church. Some eat, sleep, and breathe programming, doing "work programming" at work, and "personal programming" at home. Some take work home with them nights and weekends. Some focus from 8 to 5 on programming, then have other, non-related interests outside of work. In the overwhelming majority of cases, one would be hard-pressed to draw any meaningful correlations between an employees' overall quality and/or productivity and their outside interests in my experience. I didn't mean to pick on the scope of anyone's outside interests, nor paint anyone as a "techno-geek". I suppose the whole concept of lending "extra weight" to someone who chooses to utilize their personal time exploring and expanding their technical horizons in their spare time at the possible expense of someone who made other choices just seemed to me to feed into the growing notion that those of us in this industry "should" work non-stop just to keep up. I enjoy programming a great deal, and new technologies interest me greatly. Finding a balance in life though is equally important to me...something that is much more visible to me at 50 than it was at 30. Hope I didn't offend anyone...just my opinion :-)

Tony Hopkinson
Tony Hopkinson

on the perception of teh type of developer. A lot of web devlopment is very basic, but there again so it a lot of 'real' development. I've seen guys with years of experience doing todo list type apps, to be quite honest they are useless. Most of them can't go past access for instance, they have very little OO and wouldn't know client server if it slapped them in the face. Don't know how much scope you have in your current job, but is there an inhouse project you can look at. We do a fair bit of XML & XSLT with .net, building documents from database content and then transforming them for various types of output. It's an extremely powerful delivery mechanism for content. I gained HTML, Javascript, IIS and ISAPI from doing a little intranet project which became very popular, so I can wrote web developer on my resume underneath real real devloper. Got PHP and Perl the same way after building a LAMP box and then needing to admin / maintenance functionality as well. Look for a lack in your current systems and have a think about if you could fill it with a .net app, given they use it elsewhere in your place of course.

SoftwareMaven
SoftwareMaven

I'm a little disappointed at the desire to get something for nothing by so many development managers. In the above reply, you make an expectation that an employee learn something on his time strictly to pad your business' bottom line. Why should an employee have to do that? Employers should be investing in the future of their employees, not forcing them to play catch-up (and burn-out) on their own time. I agree on the value of somebody who learns on their own time, but I want to learn what I'M interested, not what I need to know to get my daily job done. I learn what I need to know for my job when my job pays me. I learn what I want to know for me when I am on my own time. You call it a heck of a differentiating factor. I call it a heck of a way to shaft your employees. tj

Tony Hopkinson
Tony Hopkinson

I tend to describe the what, then put this position used / gained skills in .... and list out the main ones. I leave the how implicit, either they won't understand it or they were going to ask me anyway.

Justin James
Justin James

It can be tricky to show experience that wasn't a true "job". You may want to consider a small section for "personal projects", especially if any of what you've done on your own is big enough to call an actual "project". J.Ja

Justin James
Justin James

Tony - I agree in some ways. I do not really look for the black marks, per se, but when I see them, one black mark tends to outweigh a LOT of good things. As a result, I tend to interview a lot more people than I truly need to. But that is part of my optimistic nature, I like to think that even a less than stellar resume has a person with potential behind it, if I give them the chance. Indeed, I interview a LOT of people who have resumes that look "junior" to me, "just in case". An unneded interview wastes an hour of my time and their time (plus driving). Missing the right person could waste another month of looking! J.Ja

Justin James
Justin James

I know what you mean about South Carolina, it is a very small tech community here. They are seem less active on a "per programmer" basis than they were in NJ. Another thing that I have noticed here is the type of work. Living next to Columbia, it seems like many of my colleagues are working in COBOL on AS/400 systems; it is fairly hard to relate with them except at the level of the development process itself. And few shops here are doing any kind of interesting projects. J.Ja

Justin James
Justin James

I'm not offended... you actually brought up a good point based on mis-read there. Things outside of programming are helpful too. After all, someone who spends 24 x 7 buried in a compiler probably will not be very useful when I need to put them on the phone with a customer. Plenty of non-technical hobbies also develop relevant work skills. And of course, anyone who can raise kids and do a good job of it probably knows how to handle frustration well, always a good thing in the shop! J.Ja

Justin James
Justin James

I think VB.Net has more jobs out there, and a huge install base. C# programmers are a bit rarer and get paid a bit better (I suspect), but there is less opportunity. Once you learn one and get up to speed on the .Net Framework itself and the ASP.Net model, the other is fairly easy to learn. :) J.Ja

john
john

Yea, I've been feeling the squeeze as being outdated goes. ASP classic is almost never posted around here. I'm going after ASP.net right now but I'm still torn as to which direction: C# or VB? I'd like to stay relevant as well as paid more in the future so which way to go. And it just occurred to me that I'm kicking a hornet's nest here. I don't want to start a war or anything. I haven't been doing this for a really long time yet but I've noticed how easy it is to stir up trouble with a question like this. Sorry...just trying to make a decision. Thanks again!

Justin James
Justin James

Except for the LAMP work (and I beleive that LAMP work is getting increasingly harder to find), your skill set looks a bit outdated. I would recommend getting up to speed on VB.Net (or C#) and ASP.Net, or the J2EE world pronto! You can start with the "Express" editions of Visual Studio (for the .Net world) or Eclipse (for the Java world) for free. VB.Net will probably be the easiest for you, given your background, and you can't go wrong with it career-wise. J.Ja

Justin James
Justin James

EDIT: Never mind! Rochester is a city! I wrote this before I noticed your location!" But it is helpful advice to others, so I am leaving it up... Unless you are near Syracuse or Buffalo, "upstate NY" means cows and apple trees (I've driven through there!). I hate to say it (it is a beautiful part of the world) but you might need to get a lot closer to a city. Software development requires a labor pool of educated people, so development shops sprout in or near cities, not in the country. I mean that in the "population density" way, not to imply that people in rural areas are not as smart or as educated as people in cities, of course. J.Ja

Justin James
Justin James

"JJ mentions shutting your brain off when you get home - nope, but, we can't ignore the family either and somewhere in there is sleep. Decide how much you can give to each and accept the results." This is precisely the right approach. For me, as a young person whose career is still arcing up, I can and do put in the hours for work, spend time with family, and sacrifice the sleep. The gamble is that I can get to where I want to be career wise, before I get so old that I can't be going without a full 8 hours of sleep. :) J.Ja

john
john

...philosophical is exactly what I was looking for, thanks!! It is a relief to hear some of the things you say. You sound like you understand the challenges I face. Feeling "bombarded" is exactly it! I'm making more money now as a web tech doing essentially mindless work (that is getting to me now however) than I did as an experienced teacher with a graduate degree. I had no idea I could make this much. If I can do better as an expert in "something" then I made the right decision. I'm in upstate NY and I see similar demands for .Net although mostly for C# up here. I wonder though...how long can that last? I want to base my decision on a direction that will have some staying power as it were. Thanks again! Great board here!

mbarber
mbarber

This is going to be way too philosophical, sorry. The truth is you need to pick the path. There is a demand for everything you listed as possible avenues. I personally think the key is to pick one and learn it. I see many postings for VB.Net and C#. No one can tell you how much time to put in or what technology will fit your learning style or blend well with your creativeness. Thoughts: subscribe to mailing lists for a given technology, is anyone in your company doing what you think you want to do - talk to them, spend some time in Borders reading, and finally - prioritize. Those of us with families sacrifice family time for career and we are constantly bombarded with guilt from every angle to spend more time with "me" (work and home). JJ mentions shutting your brain off when you get home - nope, but, we can't ignore the family either and somewhere in there is sleep. Decide how much you can give to each and accept the results. There are the 80 hour-a-week guys that family guys cannot compete with and there are the 40 hour-a-week guys we can crush with enthusiasm alone. That typically make us neither exceptional nor mediocre, but, certainly less noticeable. As far as "feeding the family" goes, an "expert" in almost any field will do well financially.

john
john

Thanks guys, this is good information. Some of it is, of coarse, a wake-up call. The kind of "apps" (using this loosely now after reading these) are designing db's and applying them to web sites; pic galleries, blog types of things, content management, etc. I suppose I suspected that there must be a lot more out there but opportunity/experience is king. I haven't had many opportunities to get into anything beyond that. I always thought I was working with OOP, in concept anyway. VBscript, ADO, JS all seemed to follow these precepts. I'm trying to keep the faith now as reality checks can "pull the rug" out as it were. At my current gig there are no projects to get into. It's a large corp and without something more solid to present to someone I don't know how I'd go about doing this. The volunteer thing I suppose is viable but I need a stronger concept of how to proceed. This is my current skill set. ASP classic and most of the related "compulsories", ADO, SQL with Access and SQL Server, VBScript, JScript, CSS. I've done the most with these. I've also done PHP and the LAMP scene but not as extensively. Currently I working in an XML/XSLT environment but I don't get to write or tweak schemas or anything unfortunately. Questions. I need to move on and fairly quickly, have the family to feed ;-) Where do I do from here? C#? ASP.Net (w/C# or VB?), Java? Should I stay with the web thing or move towards software? With 3 kids and in a "second career" my time is limited so I'd really need to choose a destination and run. I don't want to stay a web tech the rest of my life and I doubt I could as survival goes. I'll close by saying that I do dig this stuff. There are a lot of similarities with music and programming so it isn't just for the money...but I can't work in the 30's and 40's anymore. Thanks guys! You're not just helping me, you're helping an entire family! You're the best!

Justin James
Justin James

While I agree with where you are coming from on principle, it really does make a difference. Do I *demand* that employees train themselves on their own dime? Of course not. Do I only hire those that do? No, it certainly is not a job *requirement*. But it does make someone stand out. I would love a world where employers made those kinds of investments in their employees. I really would. Sadly, that does not fly in most companies. You'll be the laughingstock of the place for bringing it up, they'll ask if you want to unionize the shop or bring back pension plans or pay for health insurance for retired workers too, and other things to make you look dumb. More to the point, there is no training out there that teaches what I need! Sure, I can send someone to some "boot camp" nonsense to spend 3 weeks learning the syntax of a language, and it will cost $20,000. But where are they going to learn truly advanced stuff, like multithreading, performance optimizations, closures, and so on? Unless I ship them to MIT for 2 - 6 years to get a Masters in CS, they are only going to learn it through experience. And since most employers have their people working on fairly Mickey Mouse applications, that means that most of the people with hands-on experience in the skills I look for did it on their own time. It is a shame. It really is. But the "bean counter" perspective is, "why should I invest tens of thousands of dollars in this person, and try to retain them for the 5 - 10 years that it takes to train them from 'entry level' to 'mid-level' or from 'mid-level' to 'expert', when IT people leave after 2 years?" The joke is, of course, that this kind of environment keeps IT people around for a lot longer than 2 years. My company won't even pay for smoking cessation programs; obviously, investing in the long-term future of employees is not on the agenda. At the end of the day, I agree with you. But the business reality that I (and every other person hiring right now in IT, with a few rare exceptions) operate within prevents us from doing this. As a result, I look for the people who do the learning on their own. I would love to be part of this visionary team like Joel Spolky has over at Fog Creek, but those companies are so insanely rare in this era of short term stock price gains trumping long term viability. :( J.Ja

Jaqui
Jaqui

That's why I brought it up. Not all of us in IT have the degrees or certifications that help with the resume. Those who don't have them tend to have experience to show the skills. But for those who are self taught, with little or no experience, writing the resume that will get them the interview is a very tricky process. By putting the situation out in here, maybe some members will give their input on what would help someone get an interview under these conditions. Most here know that I'm pretty good with linux, yet it's all self taught, none of the different certifications available to proove on paper. 9 years of using it to learn it.. digging into the core of the OS specifically to learn about it. In that 9 years I have tried to stay away from Windows [ and been pretty successful at that ;) ] to push myself into learning what I can use on linux to accomplish the same tasks. I never see any course detailes for using linux desktops that offer that knowledge, they offer wine / crossover office and MS office / outlook. These 9 years have been with the intention of starting my own web hosting business all along, so it s in no way a waste of time and effort. :) edited for typo

Tony Hopkinson
Tony Hopkinson

me to bin it on the spot. Might end up lower in the pile... I've apparently been discounted on the spot several times myself, seeing as I know I'm reasonably competent I recommend narrowing things down with a telephone interview. Some of the best looking resumes have had, have been from total bs merchants. Makes you wonder if you should bin really good ones as well. :(

Editor's Picks