Archive for the ‘Ask Andy’ Category

How can I help my 50ish sysadmin brother find a job?

November 9, 2011

A reader wrote me yesterday:

I just finished your great book Land the Tech Job You Love. I wish I’d had this to refer to when I was job searching over the years. This afternoon I’m going to give my highlighted copy to my brother who is currently in his 4th year of his search for a UNIX Sys Admin job.

My brother’s situation is the reason behind this email. He has 14 years of programming experience (at [big technical company]) and 14 years of UNIX Sys Admin experience (mostly at [company] but the latest 4 years were various short term contract positions). We’re in [big tech city] so there are jobs available. He seems to be able to get phone screens and some interviews but hasn’t been able to land a job. The brutal fact is that he is not very verbal and doesn’t interview well. I also suspect his Sys Admin experience lacks some breadth. It doesn’t help his cause that, even though the subject is taboo, he is in his early 50s (see: The graying of the long-term unemployed).

I would appreciate any thoughts you might have specific to my brother’s situation.

You say he doesn’t interview well, and his experience lacks breadth. Sounds like you have the two things to fix right there! 🙂

As far as his lack of experience, I’d do as much on my own as possible. I don’t know what he has NOT done, but I’m guessing you have some ideas. What do employers in the area want that he’s lacking. Do people want him to know LDAP? Set up an LDAP server on your home box. Does he not know enough languages, or maybe the last “new” language he learned as C++? Get a copy of a book on Ruby or Perl or Erlang and start writing some apps. Set up Ruby and Rails on a local server and start learning. Pragmatic has many introductory Ruby titles.

The perception of “This guy is too old” is, I suspect, a vicious cycle. They see him as “an old guy”, and then it turns out he knows old skills, which reinforces the “old” part. So he’s got to know new skills even more than a kid fresh out of school.

As to interviewing well, I can only suggest practice practice practice, and help him identify the areas that he’s weak. Again, I get the feeling you have an idea what these are. Does he not answer questions with enough detail? Then help him practice giving longer answers that focus on business. Or is it just that he doesn’t keep good eye contact or speak clearly? Again, practice is key. Maybe you could record a mock interview, with you as the interviewer. Afterward, the two of you can identify and discuss where he can improve. I’ve also heard wonderful things about Toastmasters for helping people get better at speaking with others.

Let me know how it goes!

Readers, have you had to deal with the perils of job hunting in tech later in your career? How did you handle it? Please let me (and the rest of us) know in the comments.

How to boost your career by contributing to open source projects

August 13, 2009

I’ve been hanging out at JavaRanch.com lately, after I was the guest forum contributor a few weeks ago. The Java market seems to be glutted with programmers from what I read, and there’s a lot of interest in using open source to boost one’s résumé. One poster asked for specifics of how he could use open source projects to help his career change to one of programmer. Here’s what I told him (with some minor edits):

The key to getting into open source isn’t to find a project to contribute to. What you want to do is contribute to a project you already use.

What open source projects do you take advantage of every day? I’m no Java expert, but it seems like half of what the Apache Foundation is driving these days is Java-based. Do you use Ant? Struts? Jakarta?

How about non-Java projects that you use? Do you use SpamAssassin? It’s in Perl, so would give you a reason to also learn Perl. Any Apache modules you use? You could learn some C.

How can you contribute to those projects? It doesn’t have to be just contributing code at first. Hang out on the mailing lists and provide answers. Update support wikis or contribute documentation. I know that on the Parrot project, a large amount of contributor time goes just to maintaining the tickets in the bug system. Anything you can do to pitch in, do it.

Start with joining the appropriate mailing list for the project, or monitoring forums. Hang out in appropriate IRC channels. Listen to what people are saying. Make yourself known as being someone who is willing to pitch in. And then do the work people are saying needs to be done.

Go into it with the goal of contributing to the project, and not of improving your career. When you take care of the first part, the second part will come naturally.

Good luck!

Any other suggestions? I’d like to turn this into a sort of standard page that I can point people to when this question comes up.

How does a contractor make his resume appealing to a hiring manager?

May 12, 2009

A reader of Land The Tech Job You Love wrote to ask:

I have been searching for this type of book for years now. One question, as I’m only on page 75: How does a contractor make his resume appealing to a hiring manager?

I do NOT want to contract, but in DC, it seems to be the only way to either get a job or get a foot-hold into a long-term opportunity. But I hear from so many hiring types that they hate “job hoppers”. But I’m not. I want and crave a long-term full-time position.

How do I address that?

Exactly how you just did it.

Put it in your cover letter. “I’ve been a contractor out of necessity
for the last two years, but I want a long-term full-time position
where I can set down some roots with the company. I think that
WangoTech can benefit in the long-term from my skills as a …”

You can also try to turn this potential negative into a positive.
“I’ve worked on a wide variety of database systems, including Oracle,
PostgreSQL and DB2, for companies from a 10-person accounting firm
to a Fortune 100 textile manufacturer.” You’ll show the breadth
of knowledge you bring to the position.

If you’re concerned about the resume not being seen along with the
cover letter, I’d suggest adding a final bullet point to the
professional summary at the top of the resume, such as:

* Experienced contractor looking to start a long-term full-time position in DC area

In some ways, it’s the dreaded Objective, which should never appear in your resume
but I think that if you
put it as the last bullet in the summary, you’ll put the reader’s
mind at ease, before she gets to the work history that shows you’re
a contractor.

I saw a comedian once explain that if there’s anything out of the
ordinary with you (very tall or short, a speech impediment, etc),
you call attention to it at the beginning of your routine. If you
don’t, your audience will fixate on that aspect of you and not
listen to what you’re saying. Just do half a minute to acknowledge
the attention-grabber, and move on. That’s the approach I suggest
you take in this case.

Sometimes when we write resumes, we’re so concerned with short
sentences and bullets, we forget about the power of a cover letter.
In this case, the cover letter shows that you’re interested in that
specific company, because your cover letter discusses the very
specific relationship with the company you’d like to have, and heads
off a potential problem. That shows foresight and it shows that
you’re thinking like the hiring manager.

Do I need to learn Microsoft technologies?

May 8, 2009

In a thread on Stack Overflow, a reader named Andrew finishing his undergrad degree asked:

I notice that the vast majority of companies I’m looking at are strictly Microsoft users, from windows to visual studio. Am I going to be at a disadvantage as most of my experience is unix/linux
development based?

My response included:

Whether or not “most jobs” are using MS technologies, would you WANT to work with MS technologies? If you went and boned up on your .NET and Visual C++ and had to use Windows all day, would that be the kind of job you wanted? If not, then it doesn’t matter if that’s what “most jobs” call for, because those aren’t the jobs for you.

I was taken to task by a reader named Ben Collins (not Ben Collins-Sussman of Google) who said:

I think this is stupendously bad advice. Of course you should bone up on Microsoft technologies. The chances of you making it through a 40-year career in technology without having to work with MS stuff is slim to none.

Ben’s right, you’re likely to have to use Microsoft technologies, if that’s how you want your career to take you. What I think we’re seeing here is the difference in viewpoints between someone like Ben who seems to think primarily in terms of maximum salary and maximum employability, and someone who thinks about the importance of loving what it is that you do for a job.

There’s nothing wrong with wanting to be employable. Nobody who knows Visual Studio or Java is going to have too much of a hard time finding jobs that need those skills. Then again, I flipped burgers at McDonald’s for three years, and McDonald’s is always looking for people, so I’m pretty employable there, too.

To those of us who look at our jobs as more than just a way to make money, it makes little sense to ask about what “most companies” do. We’re more concerned with the joy of working in our chosen part of the tech industry. I’d learn Visual C++ and try to find some joy in working in Windows if it was the only way to support my family, but that’s not the case.

To the fresh college graduates out there, I ask you to not put yourself in the situation where you’re concerned with what is going to give you the maximum salary, or the maximum number of potential job openings. Instead, look at what you want to do, what sparks the excitement in your heart. Optimize for the maximum amount of love for your job, especially as you’re just starting out.

For those grizzled veterans out there who slog through the trenches, working on projects that don’t bring them joy, I ask you to reconsider your career choices. Imagine you’re fresh out of school. What would you love to be doing? Figure out what that is, and work toward it, if only in small steps.

You spend more waking hours on your job than with your spouse. Optimize your career to bring you as much happiness as possible. Life is too short to work in a job you don’t love.

Should I switch jobs to learn better development processes?

April 30, 2009

A reader who wishes to remain anonymous wrote to ask:

I’m a programmer from the Philippines. I’m kind of a latebloomer since I didn’t take up Computer Science or a similar course in college, but I learned programming on my own. I tried to save money so I can buy a couple of books (although I would love to read more), so I can continuously learn software design and development. For almost two years now, I’ve been landing jobs in companies that really don’t have good processes for developing quality software. I have recently started a job. I’m not an expert, but I know when legacy applications have been built by engineers that also aim to produce quality software. The applications uses an object-oriented programming language, but all of them looks procedural. I still want to continuously learn and be a good software craftsman someday. Should I leave and apply for another job in which I think there is more potential to learn great software development processes?

Thanks for writing. Let me preface my suggestions with the caveat that they’re from the perspective of a programmer in the United States. I don’t know how applicable they are to business life in the Philippines. You’ll have to look at them through the lens of your own culture and understanding.

First, that you are wanting to improve yourself, to improve your skills, to improve your job prospects, means that you have the drive that will make you a better employee and programmer. Being able to write good software is only half of what it takes. The other half is having the drive to apply those skills day in and day out. (The third half is being able to be part of a team.)

It’s good you have that drive, because it sounds like you’re going to have to do much of the learning you want on your own. I would not rely on an employer to teach those skills to you. If your only reason to leave your current job for another is to learn better software development techniques, think twice. Chances are, the company you go to will have the same problems, perhaps with a different flavor, as your current company.

Instead, keep reading constantly. Read books like The Pragmatic Programmer by Hunt and Thomas, and Code Complete, 2nd ed. by McConnell. Read websites like StackOverflow for comments and ideas on how to be a better programmer. There will be much to sift through, but that’s how it goes.

Apply those skills by working on projects outside of work, preferably open source projects. Working on open source lets you work with other programmers around the world who have the same drive you do. You’ll learn and practice, while creating code that you can bring to your next interview to show as an example of your programming skills.

You may also want to try to bring some of these ideas to work with you. As you learn how to write great documentation, apply it to your daily life at work, even if nobody else in the company does. When you learn about test-first development, use it as your software methodology, even when you’re the only one who does. You’ll have better code, better projects, and people will notice. You’ll be leading by example.

Finally, don’t let the bad code get you down. The world is filled with it, especially at work, and it’s just part of life as a programmer. Consider it a test bed for your refactoring skills.

If other TWL readers have suggestions, I’d love to hear them in the comments below. Good luck!

What can go in a sysadmin’s work portfolio?

April 20, 2009

A portfolio of your work is a great way to show at the job interview that you are able to produce work that the hiring manager wants. Anyone can make claims as to his skills and abilities, but producing tangible evidence of those skills makes it clear, and reduces the risk for the interviewer. Bringing a portfolio also puts you above other candidates who don’t.

For programmers, code samples are the most obvious work product to bring, but what about sysadmins? Jeffery Land writes:

I was curious about what you suggest for a systems administrator to bring in a portfolio? Most of the work revolves around resource management and troubleshooting issues. At the end of the day this pretty much just leaves you with the experience and nothing you can really point to. I’ve been putting together a blog with my experience that I point out to potential employers but that’s pretty much that best I’ve been able to come up with for a sample.

There’s plenty you do that has a trail. I’d start with just about anything you’ve created that gets put on paper:

  • Network diagrams
  • Policy manuals
  • Documentation
  • Checklists
  • Project schedules
  • Training materials
  • Budgets

You can also include electronic files and code:

  • Significant shell scripts
  • Configuration files

Before you snicker at how silly a config file might be, consider the research and care and feeding that goes into it. For example, tuning PostgreSQL’s memory and disk usage can be a huge challenge. My postgresql.conf files at work have been tweaked and tuned and comments explain why different settings are set as they are. Some places have links to pages that give the reasons for each parameter’s value. It shows the history and reasoning behind it all.

One caution, though, is that while these documents and files are great evidence of your skills, they may well be considered confidential by your company. You certainly don’t want to include any proprietary information or passwords in your portfolio. You should plan on leaving your portfolio at the interview, and don’t want to say “I can only leave certain documents.”

Whether or not you can get existing work products, Jeffery’s blog idea is a great one. It allows him an easy way to show that he has experience and know-how, even without a final work product to show. Take a look at his blog entry called “Configuring DNS Zones in Core”, where Jeffrey explains configuration details for DNS under Windows. He’s created a helpful resource out on the net that will likely improve his blog’s Google page rank, and anyone checking him out online can get an idea of his sysadmin skills.

Your portfolio is a powerful selling tool at the interview, and every techie can create one, no matter the type of work she does.