This page is offered as a service of Bristle Software, Inc. New tips are sent to an associated mailing list when they are posted here. Please send comments, corrections, any tips you'd like to contribute, or requests to be added to the mailing list, to tips@bristle.com.
The tips in this "How to stay" section are focused on how to happily stay at your current job. Keeping your boss happy and yourself motivated and challenged, and getting good raises. Later sections will deal with how to find a new job, if necessary.
Original Version: 12/1/1969
Last Updated: 9/14/2015
Make sure you always love what you do. If you lose interest in a project,
stick it out for a while to see if you can find a way to re-spark yourself. If
not, move to a new job. Ideally, work with your manager
to find a new interesting project within the company. If necessary,
look outside. I've
always loved my work, often working crazy hours when I was hot on the
trail of a really cool solution to a problem, or tracking down a particularly
squirrelly bug.
But make sure you always have a smooth transition, picking a good time
in the project to leave, not in the middle of an urgent crisis or imminent
deadline, and taking time to train your successor on any of your responsibilities.
People will respect you for following your passion, and will
appreciate your loyalty and professionalism. As I've moved from
state to state (PA, MA, VA, PA), I've left a long trail of people who
would love to work with me again, and who recommend me highly whenever
my name comes up.
--Fred
Original Version: 2/7/1982
Last Updated: 2/12/2015
Keep a short prioritized "to do" list at all times.
Focus on the top few tasks on the list, trying to accomplish them. If you hit a roadblock on one task, notify the people you need help from to get past the roadblock, and perhaps the person who asked you to do the task. Then proceed with work on another task.
If you are working for multiple managers of a single employer, record who asked you to do each task and keep a single prioritized list of tasks, not one list per manager. Each time one of your managers asks you to do a new task, show him the list and insist that he tell you where among your existing tasks this new task should be prioritized. This forces him to consider what all you are doing, for him and for others, and should lead to him doing one of the following:
On the other hand, if you are a consultant working for multiple clients, record who asked you to do each task, but keep a separate list for each client. Each time a client asks you to do a new task, show him the list of tasks you are doing for him and insist that he tell you where among those tasks this new task should be prioritized. This forces him to consider what all you are doing for him, and as above should lead to him doing one of the following:
Keep in mind that he has no interest in tasks you are doing for other clients. As a consultant, you have to manage cross-client priorities yourself.
Such a "to do" list is the best way to combat the common phrase "not to impact your current work, but can you also?...". Learn to recognize that phrase as the hyperspace portal to another dimension consisting of overworked workers and dissatisfied managers/clients. Always step back from the portal by pulling out your "to do" list.
--Fred
Original Version: 3/15/1983
Last Updated: 2/12/2015
Don't just do things. Write down what you are doing.
Keep a daily log of everything you work on. Update it occasionally during the day, adding:
Be sure to update it before you leave each day so you can sleep well that night, turn your brain off, and easily resume the next day. This is especially useful when your world changes -- some new emergency comes up, and you have to pause a task for a few days or hand it off to someone else.
Start each new task by moving it here from your "to do" list, along with the name of the manager/client who asked you to do it.
For complicated tasks that you may have to do again some day, this makes a good start at documentation of how to do them so NEVER delete anything from the log. If it gets too big, move a batch of old entries to an archive file.
--Fred
Original Version: 2/28/1982
Last Updated: 2/12/2015
Always do all 3 steps when asked to do something:
Doing this makes life much easier for your managers or clients. They always know the exact status of everything. Never have to chase after you to find out. And they have a written record of it, so it's easy for them to forward to anyone else who needs to know. Or to cut/paste into forms they fill out to get you a promotion, or to get you renewed as a consultant.
For complicated creative tasks like computer programming, this also makes a good start at documentation of the new feature you just implemented.
Never skip any of the 3 steps on any task you are assigned, or that you set out to do on your own.
Extreme example of someone who failed to do that:
I worked with a woman at GSK who was an administrative assistant. Always did everything she was asked to do, but never did step 1 or 3, so no one ever knew that things were going to be done, or that they had been done.
It all came to a head when she was asked to order a limo to pick up an arriving exec at the airport. She did it, but never did steps 1 or 3, so someone else also ordered a limo. When 2 limos showed up at the airport for the same high level exec, he was not pleased at the waste of money, and she got fired.
Sad, but true... It always pays to do steps 1 and 3.
--Fred
Original Version: 4/10/1983
Last Updated: 2/18/2015
Write weekly or at least monthly status reports to your managers or clients. Even if they don't ask for them.
Pull info from your daily log, and summarize it to something short and sweet. Just a few bullet points, organized as:
This makes a nice concise summary for your managers/clients. They get a clear sense of progress, and what you need from them. And, as with the Plan, Action, Report tip above, they have a written record of it, so it's easy for them to forward to anyone else who needs to know. Or to cut/paste into forms they fill out to get you a promotion, or to get you renewed as a consultant.
If you are an employee and your time is split among multiple managers, send the same report to all of them, so they all know what all you are doing, and are aware that they are sharing you, and that you are providing value on multiple fronts for the company. Otherwise, each will see only the small picture and wonder where all of your time goes.
On the other hand, if you are a consultant working for multiple clients, send a separate status report to each with no mention of the others. Generally speaking, clients don't care what you did for other clients, even if it will benefit them in the future, and they don't like to be reminded that they are sharing you.
Even if you never send these status reports to anyone, just writing them is a good exercise. It gives you a chance to reflect on what you've accomplished, see that it is more than you realized, and feel good about yourself. And it gives you a chance to notice that some things took longer than you expected, so you know where you have room for improvement.
--Fred
Original Version: 4/10/1983
Last Updated: 5/8/2016
Write your own performance reviews.
Performance reviews, raises and promotions are typically done like this:
Not really the way you want your career managed.
So, when you learn that perfomance review time is coming, even if your manager doesn't ask for input, take the opportunity to do the entire job for him/her.
Pull out all of the status reports that you've written over the past year and summarize them into a dozen or so bullet points highlighting all of the incredible things you've done. Accomplishments, not just activities -- things that provided business value to the company. And what you'd most like to learn and do next year. Give it to your manager.
Now the process goes like this (changes in bold):
Much better! And, Tim owes you a beer.
I've used this approach very successfully for many years. I always get one of the biggest raises in my group, and get promoted quickly. In several cases, I've been able to pull others up with me.
For example, I have twice managed to get extra raises for every person in my group.
The 1st time:
The 2nd time:
True stories. Feel free to check with Art and Dave. I can also connect you with Aaron, Tim, Alex and Eric.
BTW, if you read to the end of this rather long tip, please send me an email (click here for a canned one). I'm curious to see how many people follow the links I mail out for my tips, and how many of them read the whole tip.
Thanks to Dave Tutelman for reminding me to emphasize accomplishments, not just activities!
5/8/2016 Update:
Dave Weiss reminds me that it's a good idea to include future goals,
not just past accomplishments. Makes sure your boss
agrees with your plans for the coming year. Also,
try to meet with your boss's boss occasionally,
especially in an informal setting. Get a feel for what his
goals are. Try to align yours with his, which should natually
align with those of your boss. Thanks, Dave!
--Fred
Original Version: 10/6/1996
Last Updated: 2/22/2015
Coming soon...
Schedule your own performance reviews
Even if your boss or your company doesn't usually do them
Even if you work for a tiny company
Even if you are a consultant, not an employee
Take a half-hour or hour out of your normal work schedule to just talk
to your boss/client about your performance. It's too easy to
never actually discuss that, in the rush to do all of your other tasks.
3 months and 6 months after start date, then every year at least
4 topics:
- How am I doing so far?
-
Here's what I've done lately
- What could/should I be doing better?
- Here's what I'd like to be doing soon (what I'm interested in, what
I'm good at that you may not know about, etc.)
Coming soon...
Coming soon...
--Fred
Original Version: 9/9/1984
Last Updated: 8/5/2018
Coming soon...
Manage your manager
Help him/her to do his/her job
Do it for him/her if you have to
Not to compete with him/her
Not to suck up to him/her
As a practical way to get things done
To make his/her life easier, so he/she can do more for the entire team
His/her primary job is to remove roadblocks and enable and motivate
his/her people, and then get out of their way and let them do their
jobs. Do
whatever you can to help with that.
- Part of your job is to remove roadblocks and enable and motivate
him/her
Understand
his/her pressures/priorities/goals and help him/her achieve them
Create presentations and executive summaries about your work for him/her
to show to others. Offer to give demos/presentations yourself
for him/her
Managers are people too:
-
Your manager is not better/higher/more powerful than you. Just
another person being asked to do a different job than yours. Be
nice. Treat
them with respect. But be fearless, open, and honest, not deferential.
- Managers sometimes have bad days. Be forgiving
- Managers don't know everything:
- May need help.
- May never before have done some things. Help them.
- May be figuring it out as they go. Help them.
- May be younger and less experienced than you Help them.
- Teach him/her how to do what you need him/her to do:
- Manage up, manage down, manage across (Randy)
- Remove roadbloacks and get out of the way
- "Manager's Disease", and help mitigate
it
- Communications (Annelle)
Leads to great visibility
and easy promotions
Thanks to Dave Tutelman for reminding me to mention this whole tip!
Thanks to Bob Shank for catching my typos!
Coming soon...--Fred
Original Version: 7/30/1987
Last Updated: 7/3/2016/
Always support the support staff. Never look down on those with more "menial" jobs than yours.
Over the years, I've always befriended the people whose
jobs I didn't want to have to do: secretaries,
admin assistants, computer operators, tech support people, database
admins, sys admins, lab techs, security guards, janitors, and other
support staff. Especially
the ones who are good at their jobs and take pride in their work. They
are the ones who really get things done in many cases, not their "superiors" who
may take all the credit. You really need them to do their jobs
well, or you're going to get stuck doing them yourself.
And when you're in a real crunch to make a
deadline, they are often the ones who can open a door for you, or give
you access to a system, or whatever logistical help you may need to
meet your goal.
I've also tried to be respectful of the people "above" me whose jobs
I didn't want to have to do: executives,
managers, salesmen, etc. Someone's got to do those jobs, and
better them than me!
For all of the people "above" you and "below" you,
as well as for your peers, be respectful and appreciative. It
is irrelevant whether you would or would not want their job. Notice
when they do a good job of it (Fred Factor), and say so.
--Fred
Original Version: 7/30/1987
Last Updated: 2/5/2015
Coming soon...
Pull and summarize from your
performance reviews
Coming soon...
Coming soon...
--Fred
Original Version: 7/7/1985
Last Updated: 1/13/2017
Email is a critical communication tool. But these days people are spammed with so much email that it's hard to get through. Here's how to write effective emails:
to indicate who you really want to see the message. This is our 3rd chance to save time by simply hitting Delete. If I'm not in the salutation, I can more safely ignore it.
The rest of the message in these 3 cases might:
The informative first sentence is our 4th chance to save time by simply hitting Delete.
and I flag the start of the longer version with:
This is our 5th chance to save time by simply hitting Delete. If you're not interested by the time you see "Details", delete it.
There's only one sender for each email, but often multiple recipients. So, it pays for the sender to spend extra time, as outlined above, to save time for all recipients.
Thanks to Glen McEwen for reminding me to mention signature blocks!
Thanks to Steve Fairbrother for reminding me about "Be explicit"!
--Fred
Original Version: 6/10/1982
Updated: 4/29/2016
Last Updated: 6/1/2020
Always reply to email.
Otherwise, the sender doesn't
know if you've seen it yet. Keep in mind that the sender can't
see you nodding in approval, rolling your eyes in disgust, scowling
in irritation, looking confused, etc. The reply can be as simple
as any of:
Always reply. To every single email you ever receive except:
Beware Reply-To-All.
Use Reply-To-All only in the
following cases, prefering a simple Reply to the sender in all other
cases:
Beware "reply to some".
You may be
tempted to reply to some, but not all of the people on the list, but
that's usually a bad idea. Be
careful about cutting people out of the conversation unless they've
explicitly asked to be dropped, for 2 reasons:
Beware "reply to more".
You may also be
tempted to add recipients, replying to more than the original
list. There are often good reasons to do so, but be aware
of the risks:
Beware "BCC".
You may be
tempted to add "BCC" (blind carbon copy) recipients, so that other
recipients don't know you are also sending to them. This is
almost always a bad idea. Even if you have the best of intentions,
it seems sneaky and makes you look bad. Reserve BCC for only
2 purposes:
Thanks to Glen McEwen for reminding me about Reply-To-All!
--Fred
Original Version: 6/10/1982
Last Updated: 6/16/2020
Allow your mail client to include a copy of the sender's message to give context to your reply. Do not delete the entire "quoted" message, and send just a bare reply. Reasons:
For these reasons, it's a good idea to "quote" part or all of the ongoing conversation in your reply.
There are strong and conflicting opinions about whether to quote the entire message or just the relevant snippet that you are replying to. So I won't get into that. Do what works best for you and your recipients.
There are also strong and conflicting opinions about whether to "top-post". That is, to put your reply at the top, so the reader is more likely to see it, but has to scroll down to see the previous messages. Or to embed your reply among the sentences and phrases of that message, so the user sees your reply in context, but may not even notice it below text he's already read.
Some people strongly prefer one, some strongly prefer the other. Again, do what works best for you and your recipients.
Microsoft Outlook munges email
And finally, many people have only seen top-posting, since that's all Microsoft offers. They don't even know about the decades older and more powerful Internet email standards that make it easy and natural for you to embed your reply.
All mail clients except MS Outlook respect these standards. So it happens automatically that different parts written by different people are highlighted differently. MS Outlook doesn't do this very well, and often strips out all such highlighting done by all of the standards-compliant mail clients. Sometimes it even strips out all leading whitespace and line breaks.
So you may send an email that looks to you and most of your recipients like a highly structured conversation, with each previous message indented one more level relative to its reply. And with each person's comments shown in a different color. But any recipients using Outlook may see the entire conversation munged together into one massive word-wrapped paragraph.
Worse, since most users of Outlook have never seen a real mail client in action, they won't even suspect there's a problem. They'll simply assume you sent them one huge paragraph on purpose. They'll start reading, recognize some of the text, and assume you just forwarded their own email back to them for some reason, without adding any comments.
And in today's world, they'll probably be too busy and over-worked to even ask why you did that. I once went for months, sending detailed replies to a person who used Outlook, and only later discovered that he'd never seen any of my comments. Doh!
Personally, I generally top-post for short replies, since everyone understands that. Especially if the email I'm replying to is limited to a single topic, as it should have been. See:
But for replies to longer, more detailed emails, top-posting doesn't work well. I end up spending too much time setting context. Saying things like:
In those cases, it's easier to just embed my comments among the lines of the original email, allowing the email client to automatically highlight my comments differently from the original lines.
But I don't just insert my comments into the original email. That would confuse some Outlook users and other novice email users. I want them to be able to easily see what's new. And to see it in context. But I don't want them to have to deal with too many different levels of quoting. Or to have to scroll past too much unnecessary context. Especially if Outlook is munging their email all into one big paragraph with no line breaks.
Instead, I copy the entire message I'm replying to, paste it at the top as a quote, then insert my lines, and delete any parts of the quote that are not needed for context. I leave a full copy quoted at the bottom after my signature file, in case anyone wants to scroll down and see it all.
So, it's a mixture of top-posting and in-line replies. The best of both worlds!
--Fred
Original Version: 5/8/1995
Last Updated: 3/8/2015
Coming soon...
Don't expect others to always reply to your email.
It would be nice if they did, but don't just sit on your hands while
waiting.
When discussing an upcoming task with your manager or client via
email, always say
explicitly what you'll do by default if you don't hear back from him/her.
This shows initiative (always a good thing).
It also makes his/her life
easier. Gets to feel informed without ever having to make a decision.
It also allows you to steer things a bit more. Rather than
wait for him/her to make a perhaps uninformed decision, you get to
suggest what should be done.
It also avoid politics and embarrassment. Otherwise, your boss
may make a bad decision, and find it embarrassing or politically difficult
to change his/her mind. You can preempt all that by making a
good suggestion first.
Coming soon...
Coming soon...
--Fred
Original Version: 5/8/1995
Last Updated: 3/8/2015
Coming soon...
Always propose a solution when reporting a problem
Don't just dump the problem on someone
Propose a solution or at least a plan for how to start
looking for a solution.
And as described in Proceed without
a reply, when doing this to a manager or client, always say whether
or not you will proceed to implement the solution if you don't hear
back from them.
If you find enough problems, propose enough solutions, and volunteer
to fix them all yourself, you are creating your own job, and you get
to pick/choose the work you most enjoy doing. Your
manager or client will always see you as essential, and will never
let you go.
Coming soon...
Coming soon...
--Fred
Original Version: 10/14/1991
Last Updated: 2/19/2015
Coming soon...
Set ambitious but achievable expectations
Exceed them
Gets harder to be extraordinary over time as expectations inevitably rise
How to deal with that?
Coming soon...
Coming soon...
--Fred
Original Version: 6/3/1996
Last Updated: 3/8/2015
Coming soon...
Document how to do everything that you do for your employer or client.
"What if I get hit by a bus?"
Seems like it would make you less valuable, more replaceable, but it
doesn't.
Your
manager or client will always see you as essential, and will never
let you go.
Coming soon...
Coming soon...
--Fred
Original Version: 2/2/1984
Last Updated: 3/8/2015
Coming soon...
Despite your best efforts to Document
how to do everything, sooner or later a task will come along that
your manager or client thinks no one else can do, and that you are
tired of doing.
Perhaps because you are the only one who knows how.
Document it
immediately!
Perhaps because you are the cheapest or most convenient resource
who knows how to do it.
In that case, make yourself more expensive
or less convenient. For example, "OK, I'll do it, but next
month I want to go to that conference we were talking about." Or "OK,
I'll do it, but when I finish my current project, I'd like to be assigned
to the cool new project you mentioned at the staff meeting."
Also, soften the blow by offering to immediately
train someone else to do it. For example: "OK,
I'll do it, but send Joe to do it with me, so he
learns how and I don't have to do it any more. Then there
will be 2 people who know how, in case one of us gets hit by a
bus."
And then, if you ever do want to leave, you can do so guilt-free.
Coming soon...
Coming soon...
--Fred
Original Version: 11/2/1990
Last Updated: 2/5/2015
Coming soon...
A person can be loyal back
Company has no memory, and no loyalty
Person may leave or get fired, company no longer knows of your
achievements or abilities
Person may take you with them when they leave
Person may hire you at their new company when you decide to leave
Coming soon...
Coming soon...
--Fred
Original Version: 1/18/1994
Last Updated: 2/5/2015
Coming soon...
Do all of the following, even if not looking for a new job
Best employee is a competent confident one.
Powerless child is whiny
Coming soon...
Coming soon...
--Fred
Original Version: 6/3/1996
Last Updated: 2/5/2015
Coming soon...
Fecak's post and MBro's commment
- http://jobtipsforgeeks.com/2015/01/15/stability/
Coming soon...
Coming soon...
--Fred
Original Version: 7/11/2000
Last Updated: 2/5/2015
Coming soon...
Fecak's post
- http://jobtipsforgeeks.com/2015/01/08/stagnation/
Avoid layoffs unless you want one. If you'd be just as happy
to leave, tell your boss. You may save someone else's job, and
may get a nice severance package.
Coming soon...
Coming soon...
--Fred
Original Version: 5/27/1983
Last Updated: 2/5/2015
Coming soon...
Keep in touch with everyone you've ever worked with that you had
any respect for.
Get their contact info before they leave.
I have email addresses of almost everyone I've ever worked with
since before I graduated college.
For many, I also know their birthday, or wedding anniversary, or
birthdays of their spouse and kids, especially if I was working
with them when they got married or when the kids were born.
I send a quick email once a year to mark the occasion, and to have
the chance to think fondly of them for a moment or two.
It often leads to lunch or a quick "What have you been up to
lately?", and sometimes to "How would you like to come work
for me?"
Maybe the social networking sites now make this less urgent,
since it's easier to re-connect with people you've lost track
of, and since they tend to prompt you about birthdays,
anniversaries, etc. but keeping an explicit list of dates and
email addresses has worked very well for me for a long, long
time, and has survived the birth and death of many such
technologies.
If you do rely solely on LinkedIn, or Plaxo, Doostang, MySpace,
Google+, Facebook or
something, be sure you know how to export your data from
there in case they ever go away or something better ever
comes along.
(Note that many of these networking sites have already
vanished, in just the few years since I added them to this
tip!
All the more reason to keep your own separate contact list!)
Coming soon...
--Fred
Original Version: 1/1/2005
Last Updated: 2/5/2015
Coming soon...
Use "Skills" keywords at LinkedIn
Coming soon...
Coming soon...
--Fred
Original Version: 1/1/2005
Last Updated: 2/5/2015
Coming soon...
Coming soon...
Coming soon...
--Fred
Original Version: 1/1/2005
Last Updated: 2/25/2021
User groups ("meetups") are another great way to network with people to find jobs, or to just keep up with technology.
Personally, I attend the local monthly meetings for Java, Linux, Agile, JavaScript, Python, Android, etc. So, I can go to a meeting once per week or so if I want. For lists of local computer user groups, and a calendar of upcoming meetings, see the links at:
Or do a Google search like:
These days, many of them are organized via Meetup.com:
A typical meeting is:
You'll find a bunch of people working at various local companies (some of which may be hiring), who are all interested in the meeting topic. It's a great low-key way to meet or stay connected with people working in the field that you are in or want to enter. You can chat about technical and non-technical topics, get to know people face-to-face, and maybe get referred for a job.
Also, meetups are typically hosted at companies that are looking to hire. So, it's a great way to get your foot in the door, glance around at typical working spaces, get a feel for the environment, and decide if you'd want to work there someday. You'll be mostly in the common spaces, but may get a peek into some offices, cubes or team rooms. It says a lot about a company when there's a ping pong table, foosball table, or even full-length bowling alley in the meeting space!
Depending on your energy and confidence level that day, you can:
--Fred
Original Version: 1/1/2005
Last Updated: 5/8/2016
Coming soon...
As Mike DePaulo reminded me recently, even when you can't physically attend a conference, you can still often access the videos/audio/slides/PDFs of the talks on the web. For example, see:
Coming soon...
Coming soon...
--Fred
Original Version: 1/1/2005
Last Updated: 2/5/2015
Coming soon...
Coming soon...
Coming soon...
--Fred
Original Version: 4/1/1991
Last Updated: 5/3/2016
Having trouble getting past Human Resources? Here's how I do it.
Problem:
Picture the typical recruiting scenario. Managers want to hire people, so they send job descriptions to HR. HR gets WAY too many resumes every day, so they put automated filters in place to discard as many as possible. Then HR has to sit down and wade through the rest of the pile. They know that managers A, B, C, and D want various skills. So they see a resume with a matching skill and they pass it off to manager A. Good! One less resume on their plate.
Manager A thus gets WAY too many resumes from HR, skims them quickly, looking for valid reasons to discard them, and maybe contacts 1-3 of the people. No one sends the others back to HR, and even if they do, HR does not bother to also send them to managers B or D who also wanted that skill. Useless...
Solution:
Now, picture this. Someone who works for manager A says "Hey boss! I know a guy who'd be perfect for this, and I'd love to work with him again.". Manager A promptly throws all of the resumes in the trash, glad he doesn't have to wade through them any more. He contacts the recommended guy, saying "Joe, I hear you're the guy. Come on in. We'd like to talk to you."
That's not nepotism or any other kind of favoritism. It's just plain common sense. Why would a hiring manager NOT prefer to hire a known quantity that one of his team wants to work with? Why keep digging through unknowns that take a lot of time and effort to evaluate?
Once you have enough contacts, that's how all of your job searches should go. You have arrived! Welcome to the club!
How to Reach Out:
So how to reach out and make this happen for you?
Think back to all the people you have ever worked with, or even known outside of work. Those you have impressed in some way. By your tech skills, your general knowledge, or your approach to problem-solving. Or by your work ethic or helpfulness, or the way you once handled a tough situation. Or by how you motivated a colleague, or brought a project in on time. Or whatever. Doesn't have to be an official job requirement. Just whatever you did that might have impressed them. Reach out to all of those people.
One at a time. Not via an impersonal mass mailing. Many people would ignore that. They may have every intention of replying, but never get to it. They may assume that others will reply and may be more useful to you.
Make it personal, so they'll feel honored that you contacted them. Then they'll really give some thought to how they can best help you. No need for them to even be aware that you contacted anyone else.
Remind them of your shared experience. Tell them that you're looking for a new and better job, and you'd love to work with them again. Would they want you on their team? Or will they recommend you to nearby hiring managers?
See how much feedback you get. You'll find out how strong your network is, and who your real friends are. Whether you get 3 solid job offers this week, or only some vague maybes, or stone cold silence, it will tell you a lot.
--Fred
Original Version: 4/1/1991
Last Updated: 2/26/2020
How to bypass HR if you don't know anyone at the company? Send your resume to the company president!
A very wise man (my dad) gave me a great bit of advice in 1991. I was living and working in VA, trying to find a new job in PA to move closer to my family and my wife's family. The economy was not good and I was getting discouraged.
Dad told me that HR was not my friend. They did not exist to help me find a job at their company. They did not even exist to help me once I became an employee of their company. They existed for one primary reason -- to make sure that no employee or applicant, or any one else, ever thought they had a valid reason to sue the company.
He suggested I bypass HR entirely by sending my resume to anyone I knew personally at the company. And if I didn't know anyone, send it to the president of the company. Huh? Why?
The president was likely to see the resume and forward it to HR or a hiring manager. But he was not likely to bother saying why he was forwarding it. So, HR or the manager would pay more attention to it -- I might be the nephew of the president, or a close family friend, or something. Genius!!
So, I followed his advice. I was sending out tons of resumes and getting very little response. I sent one to Graham King, president of SMS. I sent another to Howard Marano, an old high school buddy who worked at Shared Medical Systems. I sent a 3rd to Alan Papson, my sister's next-door neighbor who worked at a local computer company. I had no idea I was hitting the same company 3 times.
Howard recommended me to HR, but there was a hiring freeze on, so they did nothing with it. Didn't even bother to send me a reply. Alan probably did the same, with the same lack of results. But I did get hired. A few months later, my manager told me how it happened.
Graham King glanced at my resume and thought "This seems like a PC guy, not a mainframe guy", so he sent to it to Ken Shipp, the manager running the project to move SMS from mainframes to networks of PCs. Ken later ran into Graham in the hallway and said "Graham, you told me there was a hiring freeze. Why are you sending me this crap? Put up or shut up!" Graham said "OK. Hire him."
Bingo! Ken suddenly had one more authorized headcount, reserved specifically for me!
Ken sent my resume to HR and asked them to invite me in for an interview. HR was disconcerted to see a resume that had not come through them, but when they looked around, they found the one from my buddy Howard. So, when I got hired, they paid him the employee referral fee, which the president was not eligible for anyhow. Nice!
2/26/2020 Update
John Woodring, who worked in Ken Shipp's organization at the time,
was my
official "mentor" when I started at SMS.
I think I also interviewed with him to get the job.
He just replied to this email, saying:
"The Graham King part is exactly how I remembered it. I think I even saw your letter. When the President asks someone to follow up on something, you tend not to ignore the request."So, I went back and dug up copies. If you're interested, here are the cover letter and resume. They've survived all these years, via my rsync backup script and despite this Microsoft Windows bug. Thanks for prompting me to dig them up, John! You were a great mentor! It's been a fun trip down memory lane!
--Fred
Original Version: 12/30/2018
Last Updated: 2/27/2020
LinkedIn has gotten to be a valuable resource. Employers routinely check it before hiring, and often before calling you in for an interview.
"Recommendations" at LinkedIn are especially valuable. They show what other people think of you. And those people are all identified clearly, not anonymous, or via goofy nicknames. So they can be contacted via a single click, to confirm their impressions, expand on them, etc.
But how to get your colleagues to bother to write you a recommendation?
Start by writing one for them, then use the LinkedIn "Ask for a recommendation" button to ask them to do the same for you.
When you ask them, take the time to include a comment to make it personal, so they'll feel honored that you asked them. Then they'll really give some thought to how they can best help you. No need for them to even be aware that you asked anyone else. Remind them of some shared experience that you're both proud of, or that you both enjoyed. Tell them that you're looking for a new and better job right now. Can they help you out with a strong recommendation? Then do the same for another person, and another person, etc.
Also, keep in mind that potential employers can see not only the recommendations you received, but also the ones you gave. They may form a strong (hopefully good) impression of you by how well you write, what you have to say, your enthusiasm, the insights you show into the strengths of a colleague, your understanding of what strengths are important to an employer, your people skills in emphasizing the strengths that the person seems to take pride in, etc.
All of this may contribute to their sense that you are someone they want to add to their team, who will not have a huge ego, not cause friction, will work well with others, etc.
For example, see this recommendation that Gail Rifkin wrote for me:
Can't you just tell IMMEDIATELY that Gail is someone you would REALLY want to work with?
So why is the link above to my own personal recommendations page,
and not directly to Gail's recommendation at LinkedIn?
What kind of a scam are you tring to pull here, Fred?
3 reasons:
--Fred
Original Version: 7/31/1987
Last Updated: 2/5/2015
Coming soon...
Fred's lists. Invite page.
Google Groups, Yahoo Groups, LinkedIn groups, technology-specific
Coming soon...
Coming soon...
--Fred
Original Version: 1/1/2005
Last Updated: 2/5/2015
Coming soon...
Fred's Getting Started with Java tip
Coming soon...
Coming soon...
--Fred
Original Version: 1/1/2005
Last Updated: 2/5/2015
Coming soon...
Coming soon...
Coming soon...
--Fred
Original Version: 6/3/1996
Last Updated: 2/5/2015
Coming soon...
Coming soon...
Coming soon...
--Fred
Original Version: 4/20/2016
Last Updated: 5/20/2019
The world changes fast these days, especially the world of technology. Ride the new wave, or you'll get swamped by it!
Always be the guy who knows about the new technology and embraces it, not the guy who gets replaced by it. For example, I tell truck drivers to not be the guy who gets put out of work by self-driving trucks. Instead, be the guy who sees it coming and volunteers to work with the new self-driving technology, sitting in the driver's seat, ready to take over if it has a problem, etc. See:
Here are some lists, off the top of my head, of past, present, and futures waves.
Past: Think back to how recently these waves came along, and how quickly they changed the world:
How many of these have already become indispensible to you in your home and/or work life? Can you imagine doing without them?
Present: So, what's next? I can think of these, which will all have similar dramatic effects. Some are already here for many of us:
All of these will dramatically affect your life within the next couple years, if they haven't already.
Future: Beyond that, here are my predictions for the next few waves:
How will these affect your life, and your career?
See also:
That was just off the top of my head. What have I missed? Anything I should add to the past, present, or future lists?
Thanks to the following for new ideas added above:
Other ideas I've added since I first posted this:
--Fred
Original Version: 10/1/1987
Last Updated: 2/5/2015
Coming soon...
Coming soon...
Coming soon...
--Fred
Original Version: 2/12/1975
Last Updated: 9/14/2015
Coming soon...
Everyone loves to recruit their mentor to join their team.
Coming soon...
Always find ways to provide value. My company motto is "Glad
to be of service!". I always try to go above and beyond.
I do my work well, and I always take time to help others with any
technical problems they encounter with their work, or with social
dynamics with their peers and their manager, or with whatever they
need. I really enjoy being the one that everyone comes to.
Makes it hard to get my own work done sometimes, which is why
I sometimes work such long hours, getting much of my assigned work
done after everyone else goes home. But the team appreciates
my overall contribution, and my wife is very patient.
Coming soon...
--Fred
Original Version: 9/14/2015
Last Updated: 9/14/2015
Coming soon...
Everyone loves to recruit their mentor to join their team.
Coming soon...
I have no interest in being the manager -- the one who pushes people
to work faster, records how many hours they worked, tells them when
they are allowed to use their vacation time, etc., but I'm always
a team leader -- one that people follow. They respect my technical
knowledge and common sense. They appreciate the time and effort
I spend explaining things to them. And they trust me because
I never belittle them or make them feel stupid, and I always explicitly
give credit to them for the work they do, even if I had to help them
a lot.
Coming soon...
--Fred
Original Version: 9/14/2015
Last Updated: 7/3/2016
Encourage everyone around you to do their best.
Talk openly and honestly with everyone you work with. Make a point of noticing what they are good at that they take pride in, and take every opportunity to compliment them on it. Always genuine praise for real abilities and accomplishments. Never false praise that you do not feel. And never praise for something they happen to be good at but don't take pride in. You won't score many points by praising someone's ability to do the kind of work they don't enjoy and want to get away from.
When a new person joins my team, I always look for early opportunities to provide positive feedback because I know there will come a day when I have to say something negative. I want the person to like and trust me before then, so they can hear my criticism and make improvements without resentment. Also, try to praise in public, but critique in private.
You will often be one of the smartest people in your group. It is a fact of life. Get used to it, and get comfortable with it. However, never look down on those around you with less intelligence. You will often be surprised at the talents that people have, that never even occurred to you and that you don't have. Don't let the team miss an opportunity to benefit from such a talent. Everyone is good at something. Find out what it is, and encourage it.
Aside from making your work environment more pleasant for everyone, you may find that this opens up mentoring opportunities for you. If someone trusts you, they are much more likely to come to you for help and advice. So, you get significant chances to help them and to help the team.
This may also directly help your career someday. Everyone loves to recruit their old mentor to join their new team.
--Fred
Original Version: 3/11/2012
Last Updated: 5/6/2016
Create a GitHub repo immediately.
Push all of the source code you've written that you are allowed to share. Entire projects, reusable parts, Unix scripts, Windows batch files. Documents too. Tips and techniques. And especially, your resume.
When someone asks for your resume in reference to an IT job, point them to your GitHub repo instead.
Says you're young, hip, current on Open Source and other marketable technologies, and have a love of programming. Also lets them see and run some of your code so they can be impressed by your "mad tech skillz" even before they meet you.
Even if you don't think you have much to post, consider:
If you have an interesting app to post, but it's not in very good shape yet, don't worry about it. If it's embarrassingly bad, yeah, clean it up before posting it. Otherwise, don't wait too long. Use the READ.ME file of the GitHub repo to describe its level of quality, how confident you are (or are not) in it, what changes you anticipate making some day if you have time, etc. Then, anyone who sees it can decide for themselves whether to bother looking at it further. But get it out there, just to add to the volume of stuff you're offering the world.
Who knows? Maybe someone will take an interest, fork your repo, make improvements, submit a pull request for you to pull his changes back into your repo, and you two end up collaborating on a fun and profitable project for a few years. Or he says "Hey, my boss is hiring. Want to join my team?"
5/6/2016 Update from Scott Russell:
I don't know how popular this is yet from a boss perspective but
it's an interesting concept. A means for a potential boss to see
your GITHUB resume. The user has to star the resume project (22,000+
have stared) for the generator to work.
--Fred
Original Version: 11/16/1999
Last Updated: 4/30/2021
Contribute to a FOSS (Free and Open Source Software) project. It's easier than you think!
Don't have the time, ideas, or energy to write your own app? Not a programmer? No problem! You can still contribute in some small way to an existing FOSS app.
If you ARE a programmer:
Find some piece of software that you've downloaded for free and
are using, that is advertised as being written in a language you
already know. Download the code from BitBucket, GitLab, GitHub or
wherever. Look over the code and/or the associated list
of bugs and feature requests.
Many projects clearly identify bugs that should be easy to fix, to entice beginners to take them on and join the project. Fix a bug, or add a feature, especially one that will make the software more useful to you personally. Or write a test case, or document a feature, or something.
Push your updated version to your free account at BitBucket, GitLab, GitHub or wherever, and issue a "pull request" at the original site.
Hopefully, they'll review your change, accept it (or at least provide feedback to you about changes you'd have to make before they can accept it), and merge it into the main code base.
If you're NOT a programmer:
Find some small piece of software that you've downloaded for
free and
are using, that you think is kind of cool. Contact the
people writing and maintaining it. There's probably
contact info at the site where you downloaded it.
Tell them you're a fan but not a programmer. Ask how you can help. Offer to test the app for them and report bugs, or suggest new test cases, or review docs for clarity or just for typos, or re-write parts of the docs to be more clear. They'll tell you how to get access to the files you need, and how to submit your updates back to them.
If you're a sys admin, devop, DBA, etc:
Same as above, but offer to help with
their infrastructure. They may need help maintaining servers,
setting up new servers, installing/configuring software to monitor
things, researching infrastructure alternatives, migrating data
to a new DB, migrating to a whole new platform, etc.
Either way:
You are now officially a "committer" to a FOSS project, which
puts you ahead of at least 90-99% of all job applicants in the
world. The project will add your name to the list of
committers at its public web site.
Get that on your resume quick!
What is "Free" software anyway?
The "Free" in FOSS does not mean "no cost" so much as "freedom to enhance and reuse the software". Yes, it's often no cost, but more importantly, you're are free to view the source code to see how it works, free to enhance the source code to suit your needs, free to submit your improvements back to the main project for the benefit of everyone, etc.
Contrast this to proprietary software from companies like Microsoft, Apple, Oracle, SAP, etc. Their licenses explicitly deny you all those freedoms. They don't want to add any new features to their existing software if that feature already exists in another of their products, because they want you to buy licenses for both products. So they make it illegal for you to add the new feature yourself.
When you ask for support for a proprietary product, the support person has 2 goals:
When you ask for support for a FOSS product, there is no such conflict. They'll be glad to help you make better use of their product, and glad to accept any improvements you may have written for it.
Thanks to Kahiga Tiagha for suggesting the "NOT a programmer" and "sys admin, devop, DBA" sections!
--Fred
Original Version: 2/21/2008
Last Updated: 2/5/2015
Coming soon...
Coming soon...
Coming soon...
--Fred
Original Version: 7/4/1988
Last Updated: 2/5/2015
Coming soon...
Coming soon...
Coming soon...
--Fred
Original Version: 10/29/2009
Last Updated: 2/5/2015
Coming soon...
Good way to get your name out there. Everyone loves to hire the
expert, the guy who taught them how to do something.
Good way to force yourself to learn something, if you've already committed
to teaching it.
Coming soon...
Coming soon...
--Fred
Original Version: 12/3/1999
Last Updated: 2/5/2015
Coming soon...
Coming soon...
Coming soon...
--Fred
Original Version: 6/3/1996
Last Updated: 2/5/2015
Coming soon...
Coming soon...
Coming soon...
--Fred
Original Version: 8/30/1991
Last Updated: 2/5/2015
Coming soon...
Coming soon...
Coming soon...
--Fred
Original Version: 12/1/1960
Last Updated: 2/24/2015
http://bristle.com/~fred/MaximizingTheFredFactor.htm
Coming soon...
Coming soon...
--Fred
Original Version: 11/17/2014
Last Updated: 2/24/2015
https://www.linkedin.com/pulse/20141111021703-36792-50-ways-to-do-well-by-doing-good
Especially the info in the 2 embedded slideshows.
Coming soon...
Coming soon...
--Fred
Original Version: 1/12/2000
Last Updated: 5/22/2016
Coming soon...
What to include in your resume.
Doesn't have to all be paid, professional, or even finished
work.
Just has to all be true -- stuff you really did.
Include anything that shows relevant skills, interests, enthusiam,
initiative,
etc., including:
For example, there was a whole section of my resume, that I finally had to cut out because the resume was so long, that looked like this:
1999 | Prototyped a component application architecture. The Java components can be configured in a variety of ways, including: | |
N-tier Web application | Client is DHTML driven by JavaScript running in a Web Browser. Web pages are generated by ASP using VBScript on the IIS Server. ASP pages exchange data via XML with application objects written in Java. Application objects communicate with a MS SQL Server 7.0 database via ADO 2.0. | |
J++ WFC Client/Server application | Client is a J++ WFC application, which communicates with the same Java application objects, and through them to the database. |
|
Java AWT Client/Server application | Client is a Java AWT application, which communicates with the same Java application objects, and through them to the database. | |
Java Swing Client/Server application | Client is a Java Swing application, which communicates with the same Java application objects, and through them to the database. |
This was all work that I did at home on my days off, just playing with new technology. Not a paying gig at all. But it showed what I had learned, which I might very well use (and in fact did use) in a future paid assignment. And it showed that I had the interest and initiative to teach myself such things.
Doesn't have to be all technical stuff. Soft skills count too,
like organizational skills, management, persuasion, etc., especially
those that may be useful in a job someday.
Coming soon...
--Fred
Original Version: 1/12/2000
Last Updated: 7/26/2019
Coming soon...
Don't overstate what you did, take credit for other people's work, make it sound like more than it was, etc.
Your resume should undersell you just slightly, leaving room for more value to be discovered in the interview. Ideally, each time someone asks about a specific item, your answer will be "I'm glad you asked that! Let me tell you how cool that project was, and all the amazing things I did...".
You never want to have to say "Oh yeah, well there wasn't really much to that..." If you hear yourself saying that, you may as well get up and walk out of the interview -- you've just been caught in a lie!
See: Set expectations for the interview
Coming soon...
--Fred
Original Version: 7/16/1984
Last Updated: 5/22/2016
Coming soon...
What not to include in your resume:
Coming soon...
--Fred
Original Version: 5/30/1987
Last Updated: 2/5/2015
Coming soon...
Coming soon...
Coming soon...
--Fred
Original Version: 6/3/1996
Last Updated: 2/5/2015
Coming soon...
Coming soon...
Coming soon...
--Fred
Original Version: 4/14/2015
Last Updated: 4/14/2015
Coming soon...
Value of a Human-Voiced Resume as described here.
Coming soon...
--Fred
Original Version: 7/6/1996
Last Updated: 4/24/2016
Don't let multiple recruiters send your resume to the same company.
Be aware that recuiters get paid a LOT of money for placing you at a company. Typically a one-time fee of 20-25% of your annual salary. Sometimes as much as 30-50%. So they and the companies are very careful to keep track of who gets paid for each new hire.
Also, because of the huge fee, some disreputable recruiters try to send your resume to as many companies as possible, to try to get you hired somewhere. Anywhere. As long as you get hired by a company that's paying their fee.
This can cause you a couple of different problems:
To avoid these problems, get an explicit promise from any recruiter you deal with that they will give you the name of each company and each position, and ask your permission, BEFORE sending your resume to that company for that position. If they won't promise, find a new recruiter. If they break their promise, stop dealing with them immediately, and warn everyone you know to not deal with them.
Unless you are dealing exclusively with one recruiter, you are personally responsible for keeping track of which companies know of you via which recruiters. Dealing with only one recruiter may be a bad idea. It may limit your options, especially it may prevent you from getting your dream job at a company that doesn't work with that recruiter. Or it may be a a good idea, if it's a good recruiter. It may motivate that recruiter to do a better job for you. In any case, it's hard to be entirely exclusive, since you're likely to be contacted directly by lots of companies who see your LinkedIn page, or your publicly posted resume.
--Fred
Original Version: 7/3/1991
Last Updated: 5/20/2016
Before going to an interview, research the company. This is trivially easy to do via Google these days. If you walk into the interview, not knowing the company's basic product line, technologies used, recent successes/failures, etc., you look horribly unprepared.
Ideally, learn enough about what they do to be able to comment intelligently on the challenges they must face, and perhaps how you'd address those challenges. It's also good to know who their competitors are, how well they are competing, market pressures they're likely to be experiencing, etc. And most importantly, how hiring you will help with all that.
5/8/2016 Update:
Mike DePaulo reminds me that a good way to learn about the company
is to read their public blog, their Facebook
page, their Twitter tweets, etc. Especially for late-breaking
news that may be on their minds during the interview. Thanks,
Mike!
5/20/2016 Update:
This is not only a good way to impress
the interviewer. As Sandra Stocker reminds me, it's also a
smart move for your own sake. Learn
about the company before you sign on. Even if the initial job
is great, what will you be doing for them in a year or two? If
the company has bad management, you may not enjoy it for long. Or
if they have financial troubles, you may get laid off. Thanks,
Sandra!
--Fred
Original Version: 7/6/1996
Last Updated: 5/19/2016
If you're working with a recruiter, ask him/her what a typical interview at the company is like. One hour, half-day, full-day? One-on-one or team interviews? Programming test? If he/she doesn't know, get a new recruiter!
If you're not working with a recruiter, ask your contact what to expect.
Ask your recruiter or contact what the company will view as your strengths and weaknesses. What about you will impress them? Where are you likely to stumble or fall short?
Once you know that, prepare for the interview. Learn a little about the areas where you're weakest.
--Fred
Original Version: 7/6/1996
Last Updated: 4/24/2016
Before you agree to the interview, make sure that you are a reasonable fit for the position. Some recruiters and consulting firms just throw every resume at every position in the hopes that something will stick. Avoid them at all costs. They'll just lead to awkward interviews and a bad reputation for you and for them. If you don't have most of the skills listed in the job description, don't agree to the interview.
Make sure also that you believe yourself to be sufficiently qualified and interested. If you look uncomfortable during the interview because you feel someone has oversold you and you can't live up to the sales job, you'll come off looking dishonest. And if you know in advance that you're not interested, they'll quickly figure out that you are wasting their time.
In order to set expectations for the interview, be very clear with
your recruiter or other contact what skills and interests you
do and do not have.
Make sure
also to set appropriate expectations for salary or hourly rate. Ideally,
you'll be paid exactly as much as you think you are worth. Too
little and you'll resent it. Too much, and you'll feel like a fraud
who is unable to provide enough value to justify your cost, and will
live in fear of being fired. Neither will make you a good employee
or consultant. Also, ideally you'll be paid just a little less
than the company thinks you are worth, so that you are always exceeding
expectations and getting raises.
--Fred
Original Version: 11/1/2005
Last Updated: 4/24/2016
Be brutally honest in the interview.
Ideally, your resume undersells you just a little, so that the interview makes you look even better, as described in Don't oversell. But, if something comes up that does reveal a weakness, admit it openly. In fact, you can turn such honesty about weaknesses into a strength.
I had an interview years ago where the recruiter had told me that I was a perfect match for a position EXCEPT that I was missing one of the skills (EJBs) that they were looking for. He had warned them of that, and they were still interested in talking to me. Since the interview was a couple days away, I bought an EJB book and read the first 5 chapters.
The very first time EJBs were mentioned at the interview, I said: "I'm glad you asked that! 4 days ago, I knew absolutely nothing about EJBs except how to spell E-J-B. But I bought a book and read the first 5 chapters." I then proceeded to tell them what little I DID know about EJBs: what types there were, what each type was for, their strengths and weaknesses compared to other similar technologies, what they could and couldn't do, etc., all at a very high level. I finished with "Please don't ask any questions. I've told you every single thing I know about EJBs. There is nothing below the surface."
They were impressed by:
The next day, they offered me the position and I took it. And while I worked there, they never expected more of me in the area of EJBs than I was able to quickly learn.
--Fred
Original Version: 3/4/2015
Last Updated: 5/19/2016
Be specific in the interview. Vagueness doesn't sell.
Never say:
Instead say:
The first is what every senior guy says, including those who have no idea what Scala is about, and think it might be like COBOL, Fortran, PL/1, etc. It's such a common refrain that it's meaningless, and is immediately dismissed.
The second is much more concrete and convincing. It shows exactly how much you actually DO know about Scala, and how quickly you're likely to pick it up.
--Fred
Original Version: 8/6/1991
Last Updated: 2/16/2025
A very wise man (my dad) once told me "You have nothing to decide until you get an offer."
During the interview, even if the job begins to sound unappealing, remain positive, upbeat and interested. Unless you're ABSOLUTELY SURE you're not interested, allow them to continue to try to sell you on the job. Who knows? They may say something unexpectedly appealing.
I don't view this as "always be selling", which seems a little dishonest. I view it as "always be open to being sold". Some of my most interesting jobs and best experiences in life have been things that I let someone talk me into trying.
Even if they don't manage to interest you, they may say something that reminds you of someone else. Maybe you've found the dream job for a friend!
In fact, if you're really sure you don't want the job, work actively towards that outcome. I've been known to stop in the middle of an interview and completely change tack. Tell them flat out that this is clearly not a good match for me. I don't have the interest. Or I don't have the skills.
But maybe I can help them find someone else. I know a LOT of people. Tell me about your ideal candidate, and more about the job requirements, and I'll see if I can help you find someone.
I take good notes, go home and do a BCC mailing to my "Job Wanted" list -- folks actively looking for work. And BCC the interviewer so they can see what I have to say, and can know that I kept my promise to them. And maybe send a few targeted mailings to likely candidates that could perhaps be tempted.
I've been paid a few referral fees over the years. Almost always for jobs that I turned down myself. Mostly without accepting the initial interview, but sometimes late in the game like this.
--Fred
Original Version: 5/9/2016
Last Updated: 5/15/2016
Some interviewers like to play games. I don't.
For me, life is simple. When I interview a candidate, I have one goal -- to decide whether I'd want the person to join my team and work side by side with me for the next couple of years, and if so, to talk them into signing on.
So I ask some technical questions to see if they have the skills we need. I try to get them talking a little about their interests, their strengths and weaknesses, etc. and watch for any red flags. And I work with them, to come to a common understanding of how they would best fit our team, to maximize the value to both of us.
If things are looking good, I may sell them a little on how much they'll enjoy working with us. If not, I may tell them so immediately, and offer to help them find a better fit in another part of our company, or in a different company.
Similarly, when I'm interviewed for a position, I have one goal -- to decide whether I'd want to work with the interviewer, and if so, to talk them into hiring me.
So I answer all of their technical questions, and volunteer more technical tidbits. I show them my enthusiasm and my interests. I tell them my strengths and weaknesses, and watch their reaction -- if my weaknesses are a red flag to them, I probably don't want the job. I work with them, to come to a common understanding of how I would best fit their team, to maximize the value to both of us.
If things are looking good, I may sell them a little on how much they'll enjoy working with me. If not, I may still keep up a positive front, to see if I get an offer, and to think about whether I could make things work out well. If the fit is bad enough, I may tell them so immediately, and offer to help them find a better candidate among my friends and colleagues.
All pretty simple really, and very above board. All cards on the table.
Unfortunately, not all interviewers are like that.
Some interviewers like to play games. For example, here's an article about interviewing practices that are supposedly used at companies like Google, Facebook, Amazon, etc:It claims that they intentionally do things like:
All as ways to stress you out, try to annoy you, assess your ability to handle rudeness and the unexpected, etc. And to pump you for free technical advice.
Personally, I'm sure I would come through such an interview with flying colors. I would remain polite and professional, and would create a great impression. I would likely be offered the position.
But an interview is a 2-way street. Both sides have to put their best foot forward.
I'd be so unimpressed by their incompetence, disorganization and rudeness, that I almost certainly would NOT accept the offer. So they've wasted their time.
Furthermore, I'd probably tell a lot of people what a train wreck it was. So they've hurt their reputation.
Bad idea, I'd say. But, hey, what do I know? I'm just a lowly engineer. Maybe that's what they're teaching in MBA programs these day...
Thanks to Geoff Rhine for pointing me to the article!--Fred
Original Version: 7/6/1991
Last Updated: 11/26/2024
Sometimes there's no job behind the interview.
Companies sometimes post jobs, and even conduct interviews, with no intention of actually hiring anyone. They may:
So, never take it personally when you don't get the job, even after what seems like a really good interview, where you really nailed all the technical questions, and really connected with the interviewer.
There may never have been a job to get. It may simply have been a "ghost job".
--Fred
Original Version: 8/13/2004
Last Updated: 4/24/2016
Coming soon...
Prepare as much as possible for your first day. If you're going to be using your own laptop and know what software tools you'll be using, download and install them in advance. Practice using them, etc.Coming soon...
--Fred
Original Version: 2/1/1982
Last Updated: 4/24/2016
Coming soon...
Coming soon...
Coming soon...
--Fred
Original Version: 2/1/1982
Last Updated: 4/24/2016
Always try to accomplish something concrete in your first week on the job.
Ideally, take on a JIRA ticket or two, write the code, tests and documentation for them, and check it all into Git. That's not always possible, but find some way to provide value, and ideally some sort of a concrete deliverable.
I had a client several years ago, that was totally unprepared for my arrival. I walked in, found the manager, and he said "Oh yeah, you're starting today. Let's see if we can find you someplace to sit. How about over here? We'll get you a computer soon." So, I pulled out my laptop, tethered it to the Internet via my phone, and resumed some of the studying and prep I had begun for the new job.
Various people wandered by, introduced themselves, and set things up for me. One brought a PC, another set up my account on the network, a 3rd installed some web server software that I'd need as a developer, etc. I took notes on what they did. This continued for a full week, with DB drivers and other S/W packages, access to various remote systems, etc. Finally, I was fully set up with their development environment, and able to start writing code.
On Friday, the manager stopped by to see how things were going, and said "Sorry, this always takes forever. I hope you haven't been too bored." I handed him a 20-page "New Employee Setup" document that showed exactly how to set up a new employee, step by step, with all the gory details of everything that everyone had done for me in the past week, and said "This should make it faster from now on."
Needless to say, he was VERY impressed, and also very thankful. From then on, each new person was able to set himself up without any help.
Even more dramatic -- about 3 months later, a virus swept through the company and many people, including the manager, ended up with infected PCs. The IT support group took their PCs, wiped them to factory-fresh, and gave them back. So they each, including the manager, pulled out Fred's "New Employee Setup" guide, and got up and running again in a day or less.
I was at that company for about a year, but to this day, over 10 years later, the thing people remember as my most valuable contribution was my "New Employee Setup" guide. It has since been moved into the company Wiki and kept current whenever the development environment changes.
--Fred
Original Version: 8/13/2004
Last Updated: 2/5/2015
Coming soon...
Coming soon...
Coming soon...
--Fred
Original Version: 6/3/1996
Last Updated: 2/5/2015
Coming soon...
Coming soon...
Coming soon...
--Fred
Original Version: 2/1/1983
Last Updated: 2/25/2021
The following tips apply mostly to careers in IT (Information Technology), thought you may be able to draw parallels to other careers.
--Fred
Original Version: 7/7/1996
Last Updated: 2/25/2021
One thing to keep in mind when looking for a new job is what kind of company you want to work for. For an IT guy, there are 2 types of companies:
My first job after college was at Raytheon in Massachusetts. They sold computer hardware. Computers, huge air traffic control video monitors, radar antennas, etc. They also wrote lots of software to drive all of that hardware. But the main product was hardware. Hardware was a "profit center". Lots of money was available to the hardware guys since it led directly to the sale of more hardware.
The software that had to be written to sell the hardware was a "cost center". Less money was available to the software guys since they were "overhead".
I worked for the software tools group -- the guys whose job it was to produce tools that made life easier for the software guys who were already a "cost center". Needless to say, we were even more of a cost center and even less money was available to us.
Later, I worked at at SMS which sold software. Much different! I was working in a "profit center" now. But SMS was entirely focused on selling software, not on keeping the developer environment running smoothly. So, they wrote an incredible utility for managing software builds. It allowed them to easily manage many different versions of the same software, running in many different environments, at many different client sites.
You could easily do a build of the latest 4.0 software and ship it to a new customer. Or just as easily apply an emergency patch to the older 3.2 software and ship it to an older customer that had not yet paid to upgrade to 4.0. Not quite as good as modern tools like Git, Jenkins, etc., but very impressive.
However, SMS did not do a great job of keeping the LAN and the servers up and running at all times. If there was an outage, it only impacted the developers, not the customers. I ended up buying and installing my own UPS because the power was flaky and my computer was always crashing.
Later, I worked at Vanguard which sold mutual funds and other financial products. Again, the software I was writing was not the product. Again, I worked for a cost center. Vanguard lived and died by the quality of service it provided to its financial customers.
The "phone pop" was critical. When a customer called and entered his account number, it was expected that his account info would already be on the computer screen by the time the customer service rep picked up the phone to take the call. No delays, no apologies, the phone pop had to work. The customer might be a millionaire or billionaire. Don't want them moving their money to another financial firm.
So, the LAN and servers at Vanguard NEVER went down.
However, the software we wrote at Vanguard was only for use internally, by the call center and other employees. So, very little effort was ever put into a build utility. We didn't have to support multiple versions, or clients outside the building. We just had to write the software and push it to the computers of the guys in the call center. Very different emphasis from SMS.
It pays to know what kind of company you're interviewing with. So you can decide if it's the kind of place you're going to enjoy. And whether your skills are going to be valuable to them.
--Fred
Original Version: 4/7/1992
Last Updated: 4/4/2021
Another thing to keep in mind when looking for a new job as a computer programmer is what kind of a programmer are you. There are 2 types of programmers:
I worked at SMS with Tim, a guy who was really good at what he did. It struck me one day that Tim and I were very different kinds of programmers.
Tim was very interested in all aspects of the application he was writing. How it affected the users. What features it had. How it compared to the competitors. Etc. But he was very disinterested in all of the underlying infrastructure.
He didn't really care about the operating system, or the logging or exception handling subsystems, or the portability layers, or inter-process communication mechanism, or the frameworks we used and created for UI, middle tier, DB access, etc. He was a natural and talented "application programmer".
I was very different. I found all of the underlying infrastructure to be absolutely fascinating. I loved to make it as bullet-proof, efficient, and full-featured as possible. I reveled in adding features that made it possible for yet another application group at the company to use it for their application.
I often stayed up all night working on such things, not quite able to tear myself away and go home to sleep. My office mates came to know that if I was there at 8am, I was STILL there from last night, not ALREADY there this morning.
But, when it came to actually adding features to any one application, I did it, but didn't get excited by it in the same way, and typically went home at 7pm. I was pretty firmly a "systems programmer".
So, are you an application programmer or a systems programmer?
Here's a good way to decide, after you're worked at a few jobs. When someone asks you to tell them about jobs you've had do you list application domains like these I've worked on?
Or do you list technologies like these I've used?
It pays to know what kind of programming job you're interviewing for So you can decide if it's the kind of job you're going to enjoy And whether your skills are going to be valuable to the company.
--Fred
Original Version: 3/18/2010
Last Updated: 3/18/2010
Here's an interesting summary of recent IT trends, what's hot and what's not.
A guy named Eduard Hidebrandt used the indeed.com job trends site
to do a bunch of queries about trends in marketability of various competing
technologies: languages, frameworks, architectures, app servers, queueing
mechanisms, build tools, IDEs, etc. He did different types of queries, getting
indeed.com to plot different graphs, to emphasize current market share
as well as recent change in market share, so you can see what currently
dominates, as well as what is rapidly accelerating. See his article
at:
http://www.soa-at-work.com/2010/02/it-job-trends-which-technologies-you.html
Eduard draws lots of conclusions, which you may or may not agree with,
but which seem to be supported by the data. In any case, you
can easily do your own queries at indeed.com to investigate further,
by going to:
http://indeed.com/jobtrends
and entering multiple technology names separated by commas, and each enclosed
in quotes if you use multiple words for one technology name.
Also, each graph in Eduard's article is a clickable link to the same
graph done with live data at the indeed.com site. So, you can click on
his graphs to go to the indeed.com site and then change the keywords slightly
to tweak the queries as you like. Also, you can go back to his
article a month or a year from now, and click on the graphs to see
how they've changed.
Actually, if you do a View Source on his page, you'll
see
that the graphs he shows are not stored locally anyhow. They are
links
to the trendgraph section of the indeed.com site, which is presumably a
cache of recently generated graphs. So, even without clicking on
Eduard's graphs, I think you'd be seeing updated graphs in his article
a month or a year from now anyhow. It will be interesting to
see if the textual commentary on what the graphs showed him still applies
as the graphs change.
As a further sanity check, you can do the same queries at other job trend
sites, like:
http://www.simplyhired.com/trends
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
For more links to Job and Job Trend sites, see the Jobs row of my links page:
http://bristle.com/~fred/#jobs
Thanks to Dave Fecak for pointing me to Eduard's article!
--Fred
Original Version: 11/4/2014
Last Updated: 11/4/2014
Yes, the graphs in Eduard's article above have held up well, since they are all live data.
Here's a recent email to a friend who was asking:
Dave,
To see what's hot, check out my tip:
You can pick your own combinations of competing technologies and have them graphed over time to see which are widely used, on the rise, on the decline, etc.
You're coming from a Java background, right? That's still very marketable. For more info, see:
But add these to the mix:
- JavaScript
- HTML5
- jQuery
- JavaScript frameworks like Angular
Mobile technologies like Android and iOS are rising, and are a great way to do small jobs from home, but may lose out in the long run to solutions that allow you write a web app once and have it also work well enough on all the phones and tablets, rather than having to write separate apps for each platform. If you're interested in Android and iOS, I would focus instead on:
- JavaScript
- HTML5
- jQuery
- PhoneGap (Cordova)
MongoDB and other No-SQL DBs are rising, but not yet very widely used. You may be better off learning MySQL or PostgreSQL. Personally, I use MySQL for everything these days.
I've also gotten heavily into Python lately. Large enterprises are all using Java, but smaller companies are using Python. It is a great rapid development platform, and with the Django web framework you can whip up apps in very little time. It's much more like JavaScript than Java -- no static type checking, lightweight syntax, etc. Very powerful, but not exactly a "belt and suspenders" language like Java, so you'll REALLY have to do a good job writing an automated test suite, because the compiler catches nothing, so everything is a runtime error. Fortunately, Python and Django make it really easy to write automated tests. Much like jUnit, but easier.
--Fred
Original Version: 8/30/1982
Last Updated: 2/5/2015
Coming soon...
My dad at trucking company
Coming soon...
Coming soon...
--Fred
Original Version: 6/3/1996
Last Updated: 2/5/2015
Coming soon...
Genesis intro with 4 points.
Coming soon...
Coming soon...
--Fred
Original Version: 12/25/1984
Last Updated: 2/5/2015
Coming soon...
Low raises to older guys at Raytheon
Coming soon...
Coming soon...
--Fred
Original Version: 12/1/1969
Last Updated: 2/5/2015
Coming soon...
Keep that car forever.
Pack your lunch.
Buy a cheap house.
Pay the house off early.
Max out retirement plans.
Put your next raise into your 401K, IRA, Roth IRA, or ESOP,
instead of allowing your lifestyle to get more expensive.
I "retired" at age 42 or so.
House was paid off.
Was still driving the 2nd car I'd ever owned.
Stopped working Fridays.
Took a few months off a few times.
Started donating most of my time to worthwhile clients, only
billing enough to pay my bills.
No stress.
See also: FIRE -- Financial Independence, Retire Early
Coming soon...
--Fred
Original Version: 1/1/2005
Last Updated: 4/14/2015
A great site with lots of practical, thinking-outside-the-box, no-nonsense, let's-keep-it-human career advice:
Lots of good links in the Jobs row of Fred's links page:
Some documents from Mike McKeown, a recruiter friend of mine:
Some documents from Kevin Raudenbush, a recruiter friend of mine:
My own resume as an example:
Recommended by friends:
--Fred
© Copyright 2006-2021, Bristle Software, Inc. All rights reserved