Author Archive

IT Needs to be a Better Business Partner

November 8, 2013 by Morons. 4 comments

Post to Twitter Post to Facebook Post to Reddit Post to LinkedIn Post to StumbleUpon Post to Digg Post to Delicious Post to Technorati

Salespeople have a reputation for being just about the worst people to work with when building software. Being in the CRM space myself, this is a constant topic of conversation. Usually the focus is around user adoption, as opposed to mundane complaining about salespeople caring about nothing but their commission checks. But it’s true, that’s all they care about. That’s why when pitching CRM systems to salespeople the pitch always revolves around increased sales\commission.  “This will save you time, so you can do more of what you do best, selling!” or “Not only will you have greater visibility into what your customers are interested in, but when they are interested so you can strike while the iron is hot!”. The thing is salespeople don’t buy CRM systems. Sales managers do. This stuff that we are telling the salespeople is usually post sale, during training, when we are focused on user adoption.  Good salespeople know when smoke is being blown up there a**, and this is a primary reason why CRM systems have abysmal user adoption rates (though it has gotten a lot better in recent years). Salespeople know that all this extra data entry is primarily for the sales manager’s reporting needs.

The traditional advice is that companies should seek a system champion. An evangelist, who is going to sell the system to users, and if he fails simply force the users to use the system. I feel this is somewhat misguided; systems that work shouldn’t have to be sold to users. When presented to users, it should have such a clear advantage over current processes, that the users themselves evangelize the system. Yet, how often do you hear business users praising the systems they work with? It’s almost unheard of.

It’s my belief that IT workers need to take ownership of this. For too long we have left business managers\owners to evangelize technology….

In a perfect world, up front at the start of such a project, the technology team would tell the sales manager, “If you want your reports, your sales people have to do some data entry, lets figure out a way to make the CRM system work for them, so they want to do the data entry because they benefit from that data too. Now let’s work together to figure out how to do that.” But this is rarely the advice given.


My initial reaction to Gene’s Article.

Some time ago, I read a great article, in which the author (Gene Marks) is “sick of the whining”, he tells business owners to take responsibility for their technology and getting the most out of it, he says:

the problem with your CRM system isn’t usually about your CRM system.  It’s about you.  It’s the way it’s been setup.  It’s the way it’s been implemented.  It’s the way it’s managed.  Wake up.  Stop your finger pointing.  Enough with the whining.  Look in the mirror.  If you want your CRM system to succeed, then take a deep breath and do these three things….


Gene is 100% correct on this, but what really hit home in this article is the following quote:

To succeed, you also need someone like Kathy.  Hire that person or re-organize to create time for that person.  This should not be an IT person either – those people are not suited for this task.”

Ouch.  What really hurts about this is that it’s true. IT people suck at questioning business requirement correctness and suck even worse at questioning business requirement usefulness. The below image is from the ITSM Trends 2012: The State of the Dev-Ops Union report


91% of business system users don’t consider IT to be a true business partner, 91%! Even if this number is off by 20 points, it’s an embarrassment. We as technology professionals should be ashamed. Maybe business owners share some of the blame here. But the bottom line is, we work for them, not vice-versa. It’s our job to keep them happy, and we are failing miserably.

For 10 years, I worked in professional services. About 2 years ago, I joined a Fortune 500. I always knew this was a problem, but for me it was always a good problem. If I had to make a back of the napkin estimate, I would estimate that 75% of our Fortune 1000 customers worked with us for no other reason they when working with a vendor they didn’t have to deal with internal IT people.

Professional services firms understand how important it is to be a strong partner with their customer . Product companies understand this as well, probably even more so than professional services firms. All too often internal IT staff looks at business users as peers as opposed to customers.  This is what I feel is at the root of this problem. If IT looked at business users as customers they would make it their business to know everything there is to know about their customer and bend over backwards to help them achieve their goals.

Internal IT departments need to get on the same page as professional services firms and product firms when it comes to understanding business and only then can they provide proper guidance on the use of technology. They need to act as an advisor on business matters (not simply technological ones), they need to accept that business users don’t understand how technology works and therefore don’t always know what they need. Today internal technology people simply don’t know enough about the business they support to properly guide them.

Enter the Business Analyst, the individual who doesn’t fully understand the business or the technology. Most often the business analyst is reduced to a middle man between business and IT, not allowed to think but only to ask and document. More often than not the technology team understands the business rules better than the business analyst. I can’t count how many times I had to explain the intricacies of a formula or data integration to a business analyst only to get a blank stare back.  Often (I know I have had to many, many times) a developer needs to compose an email for the business analyst asking a very detailed question, only to have him\her forward it along to the business owner. A business analyst is not the solution. It’s not surprising that has come up on P.SE, see: “How much system and business analysis should a programmer be reasonably expected to do?


A classic example of bad advice given by IT, and approved by the business.

I think the solution is clear. IT people need to take responsibility for understanding the intricate details of the business; it is my belief that any IT person should be able to conduct the job of the person they are writing a system for with a reasonable level of competency. Yes, if you are writing accounting systems you should be able to perform the job of an accountant. Yes, if you are writing marketing systems you should be able to run a simple marketing campaign.

This is the level of knowledge needed to build proper systems, and is the only way you, as an IT professional will understand the psychology of your user and can be confident that you are not only meeting the business requirements, but that you are meeting the intent of the business requirements.  This is the only way to insure that you are building systems are usable by your target audience, that your users want to use.

This is what I believe is what needs to happen to restore the broken relationship between internal IT departments and business users. It starts with you… step up, learn your industry, it will make you a better IT professional.


One final point, an anecdote really… Recently one of my old clients asked me help him to look into an issue with a Gift Card module I wrote for them years back. The system had worked flawlessly for years, until one day a customer complained that he didn’t receive one of his gift cards. While investigating I came across something very odd, the customer was buying gift cards with gift cards, over and over again… really bizarre. At first I thought, maybe his gift card was about to expire so he found a loophole, to extend the expiration. But no, he was buying gift cards using gift cards he bought the day before!! W.T.F.! This is what caused the glitch. I fixed it and went on with my day. But this odd behavior was bugging me, why would someone use a gift card to buy another one? Few days later I was talking to another person who worked for that same client and told her of the odd set of transactions. She immediately knew what this person was doing. A few weeks prior the Co joined one of those “Cash Back” affiliates, so basically this person signed up with the cash back affiliate, and every time he used  the gift card to buy another gift card he made 1% of the gift card value! So basically kept turning over the same $100 gift card making 1$ on each turnover! That’s one smart SOB! Anyhow the point is understating the business is also an important part of system security. Perhaps I knew a bit more about the marketing habits if this retailer, this sort of “fraud“ could have been prevented.

Recommended Reading: Quantum: Einstein, Bohr, and the Great Debate about the Nature of Reality

Post to Twitter Post to Facebook Post to Reddit Post to LinkedIn Post to StumbleUpon Post to Digg Post to Delicious Post to Technorati

The Ultimate IT Professional’s Guide to Conducting an Online Job Search (Part III – Sales)

June 10, 2013 by Morons. 5 comments

Post to Twitter Post to Facebook Post to Reddit Post to LinkedIn Post to StumbleUpon Post to Digg Post to Delicious Post to Technorati

Note: This is Part III of a three part series; it is recommended that you read Part I – The Basics & Part II – Marketing first. 

A quick Re-cap

I previously defined the Job search Sales phase as “Direct contact with a potential employer where, building on your marketing, you sell yourself as the perfect candidate for the job”. This is everything you do from the moment you get a person on the phone discussing a specific opportunity and afterward.

Also previously stated is that the Sales process looks something like this:


  1. Develop\fine tune a targeted sales pitch for each response (These are no longer leads, These are now Opportunities)
  2. Make first (direct) contact.
  3. Recruiters\HR
  4. Phone screen(s)
  5. In Person Interview(s)
  6. The Offer
  7. Negotiation
  8. Postmortem

Sales is a direct extension of marketing, the key to success in the sales phase is to back up everything you said thus far and then surpass it. If a potential employer is talking to you, it’s because he is interested what you said thus far and wants to hear more. Specifically they have two questions they want answered:

  1. Do you really live up to your “hype”? i.e. What you claimed as part of your marketing.
  2. Do you meet all the unwritten requirements?

Most interviewers suck at interviewing, I mean they just really stink at it. By that I mean they simply have no clue as to what they are doing. And when I say “Most” I mean “All”. When it comes to interviewing nobody knows what the f* they are doing. They rarely put any effort in choosing the right questions to ask, and don’t spend any time thinking about what they expect to learn about the candidate by asking those question. They will routinely interview 5 people (ask each of them and entirely different set of questions) then pick the “Guy who worked for Google”, even though they build POS Systems because obviously “Google is better at picking good people then we are”. They ask questions about skills that can be learned in less time than it takes to answer the question, Then disqualify the applicant for answering incorrectly (because they failed “the test”, this is a direct result of not thinking about what to ask and why).

Interviews are conducted by people with no training and no (or little) planning. Unfortunately this is just a fact of life; there is not much you can do about it. You are going to interview for jobs, and you will be rejected for no good reasons. Understanding this is critical, accept it as fact; and don’t let it affect your confidence.

The hiring process can be summed up as follows: Phone screen\ interview a bunch of people based off their marketing material, and then go with your Gut. (It’s a well-documented fact that employers will choose drinking buddies over talent). As flawed as this process is, it actually works surprisingly well.

Getting back to the two questions: Question one is an honesty check asking “Is this person lying?”. For question two, the interviewer doesn’t even know what the unwritten requirements are, and isn’t even conscious he is asking himself this question. These two may look like different things but they are not, simply stated likeability is the single most important unwritten requirement. If the interviewers like you, and clearly see that you meet all the written and unwritten requirements, you will get the Job (because their Gut will tell them that you are the right person for the job). Nobody likes a liar and nobody hires people they don’t like. Well most people don’t like liars…


While working for a professional services consulting firm, I was asked to help out with the technical assessment of a candidate. So I join the VP, practice manager and the candidate in the conference room and told the candidate “I want to get a good understanding of your level of knowledge of the different aspects of product X, so I am going to ask you a whole bunch of questions where you will get things wrong, that’s ok, nobody could know all this, don’t let it throw you off.” Asking him about one particular advanced feature of the product, I asked him “Have you ever configured feature X”, the candidate responded “Many times!” I say “Great, tell me how the feature works”, he then proceeded to give me a very plausible answer, good if I was asking him to design such a feature, yet entirely wrong in terms of how it actually worked, making it clear that he never configure or even used this feature, not once.

After the interview, in discussions with the VP and the practice manager, I expressed by concerns of the candidates ability (and audacity) to lie with such confidence.  To my surprise their reaction was “That’s what consultants do!! He’s a natural!” he was offered the job and accepted. (I eventually became good friends with the candidate as we worked very closely together. He’s a good honest guy overall) this is the kind of thing people talk about when they talk about “Cultural Fit”.  The VP and practice manager simply liked him.


The important thing to remember about unwritten requirements is that just because you may not be asked about them doesn’t mean you won’t be judged on those requirements (Subconsciously by the interview’s gut). If these requirements are not addressed at all, it will count as a strike against you. This is particularly true if another candidate does address them directly, forcing them out of the interviewer’s subconscious.

So what are the Unwritten Requirements?

Here is a list of the most common unwritten requirements:

  1. Likeability – Likability, nobody hires people they don’t like
  2. Honesty – We already covered why this is so important.
  3. Communication Skills – Solid Communication skills are a MUST.
  4. Confidence – being confidant demonstrates your ability to do the work. It also goes a long way to likeability.
  5. Enthusiasm for the Job – Nobody wants to work with a miserable f*. Also if you like your job you are more likely to stick around a few years
  6. Salary– Will you be happy with the salary?
  7. Cultural Fit – This is very similar to Likeability, but extends to the working environment. (ie. Structured vs unstructured environments)

The rest of the unwritten requirements vary from job to job, you should be able to figure most of them out when you are analyzing the requirements to put together your elevator pitch (See Part II), the rest you’ll have to figure out along the way.

Make first (direct) contact.\Recruiters\HR

First direct contact is really a transition phase between Marketing and Sales, I discussed most of what you need to know previously. Everything previously stated stills hold true: you have 3 basic goals: (See Parts I & II)

  1. Learn more about the position
  2. Pitch your elevator pitch
  3. Discuss next steps.

If you are dealing with a Recruiter

Dealing with recruiters is a marketing activity; treat it as such, that means you need to focus on efficiency. Never go out of your way to meet a recruiter in person. If they insist, offer a Skype interview, if they turn that down, politely tell them you just don’t have the time, and pass on the opportunity. (If they offer to come to you, accept)

If you are dealing with HR

Remember your 3 basic Goals; this should get you a phone screen with the hiring manager. Send a thank you letter to HR personal after speaking with them.

The Phone Screen

The phone screen is conducted by the hiring manager or a member of his\her team. This is the true start of the sales process. Insist on a phone screen even if you are offered an in person interview off the bat. (Say something like “Would it be possible to have a brief conversation with the hiring manager prior to coming in? I think that will go a long way in making the in person interview more productive.” – I have never had someone say “No” to this.) The Phone screens serve two purposes:

  1. Confirm what you heard from the recruiter and \or HR, and determine if you are still interested
  2. Prime the Interviewer for the in person interview

Get Confirmation of the details: The recruiter’s and HR’s goal is to get the position filled. The hiring manager’s goal is to get the position filled with a qualified candidate (in terms of written and unwritten requirements). Because qualified is something only the hiring manager cares about, often the Recruiter and HR “fudge” things to get you more interested. For example recruiters will tell you there is tremendous room for growth, or lie about travel requirements thereby increasing your Enthusiasm for the Job (an unwritten requirement) this is the time to set the record straight.Remember you are screening them too, if you are not happy with what you are hearing don’t waste your time with an in person interview.

Priming: The fact of the matter is that external forces effect how people think of you. If you are being interviewed 20 min after the interviewer got a raise, he\she will be in a good mood, and that good feeling will be somewhat transferred to you. If the interviewer just got reamed out by his\her boss because the server crashed and now the interviewer has to waste 20 min talking to “another looser candidate” you haven’t got a shot in hell of landing that job.

By priming the interviewer during the phone screen you are taking control of the interviewer’s first impression of you. He\she can’t see you so all his\her superficial biases are out, and he\she is left with nothing to judge you on except for content under your control (Assuming you don’t have a heavy accent).  Now that you control the picture, you can push the messages you want to get through: you have the expertise and experience they are looking for (your elevator pitch), and you are a great person to work with (your likability). You want to leave them excited about your candidacy and looking forward to meeting you in person. (Priming goes a long way in effecting someone’s Gut feelings toward you)

While on the subject of priming and likeability, here’s a Random tip: : Lighten the mood from hello, and keep the energy level up. Because of basic phone protocol, 98% of phone interviews start with “How are you doing?” This is great chance to lighten the mood, answer with “Great!” followed by some silly anecdote explaining the “Greatness of the day”, that gets the interviewer smiling. Score #1 on the likability scale plus puts the interviewer in a happy mind set.

Send a thank you letter after the Phone Screen.

The in Person Interview

If you did your job right during the phone screen they should be excited to meet you in person.

Here are my best Interviewing Tips: (Many of these also apply to the Phone Screen)

  1. Dress Like an Oracle DBA – (Unfortunately some people still don’t get this)
  2. The night before, review the requirements and all your notes, go through each and every requirement and think about how you experience can be transferred to meet that requirement. Research the company’s and understand their business model. that the Take your Elevator Pitch expand that out into a comprehensive Pitch covering every single written and unwritten requirement. If you don’t have a solid answer to how your experience relates to a requirement you had advanced notice of, shame on you, there is no excuse for this.
  3. Know who you will be interviewing with : Research them (Check LinkedIn and Google them). Know their role in the company. That will tell you who are the real the decision makers are. It will also tell you who cares about which requirements. (I.e. The technical people will be judging your technical skill, Business people what to know that you understand the industry and that you are someone the can work with. Your would me manager wants to know the he can put you in front of a business user\client without having to worry you embarrassing him)
  4. Build a Targeted story: At some time during the interview you will be asked to “Tell us about yourself”, be prepared for this, you should be able to start at the bottom of your resume and tell the story of your career, at each stop along the way (Every job change, every role change, every promotion) tell how you grew as a professional better preparing you for the job you are currently interviewing for.  For every position you should explain how that experience relates to the job you are applying for. (targeting specific written and unwritten requirements, the full bullet list created as part of your marketing strategy will come in handy here)        
  5. Bring Print outs of everything.
    • The job ad
    • The cover letter you sent
    • Copies of your resume on resume paper
    • A copy of the Email that has the interview location and time
  6. Arrive early, stop at a Cafe and review the requirements and your pitch, make sure you can pronounce everyones names, use the bathroom, chew some gum, and relax your nerves. Arrive at the interview location 5-10 min early.
  7. Let them talk first, again tweak your pitch, if necessary
    • Start high level and go into details when asked.
    • Details are the key to believability and they show your breath of knowledge. This is how you showcase what you can do for them
    • Ask question that demonstrate your understand the business they are in, and that you know what they are looking.
  8. Reinforce likeability
    • Smile and joke a bit, mock there procedures if you can pull it off!
  9. Ooze confidence, borderline cocky. This demonstrates talent and adds likability.
  10. Communicate clearly. If needed ask for a few moments “To find the right words” (Avoid thinking sounds, “umm”, “err”, “uhh”, “Like, you know”.. it’s better to pause silently, this takes some practice)
  11. Focus on the written (core) requirements but also remember the unwritten requirements
  12. Think about the intent of every question; ask yourself “what are they really asking here”?
    • Answer both the question and the Intent, if you don’t know, ask what the intent is.
    • If you answer only the intent you look like a Politician avoiding the question, also you may be wrong about the questions intent.
    • Example: if the interviewer is asking “At your last job did you use Erwin?” The interview is really asking “We use Erwin here, how comfortable are you with it?” – Infer your experience (SPIN Selling) Remember your Bullet List! (Again see Part II.)
  13. Understand the Difference between Elimination Questions & Qualifying Questions
    i. Elimination Questions – The sole purpose of these is to eliminate you as a candidate.
    • Answer briefly, details can only hurt you.
    • Example: “Why did you leave your last job?”
    • Most technical questions are Elimination questions. All “Have you ever” Type questions are Elimination questions
    ii.      Qualifying questions
    • Here details are your Friend! Remember- Details are the key to believability and they show your breath of knowledge. This is how you showcase what you can do for them.
    • All “Have would you” Type questions are Qualifying questions
  14. Watch out for Trap Questions – These questions leave you with no clue as to what is the “Right” answer, the key here is to identify the intent of the question and then infer your experience. (Again see Part II!)
    • Example “What Methodology did you use on your last project?” –Correct Answer “We use Methodology Y, What do you use here?” – “We use X”, – “We Considered Methodology X but it wasn’t the right fit for us because of ABC, Methodology Y fit better because of XYZ. I did use Methodology X a few years back when I was …” – Trap avoided, and you get to showcase you knowledge of different methodologies!!
  15. Wrap it up!
    • Ask for the Job! – Express Interest
    • Reiterate why you feel you are a strong candidate – remember your elevator pitch!
    • Thank them
  16. Ask about Concerns – Toward the end of the interview ask “Do you have any concerns about my Candidacy?”, This gives you an opportunity to address those concerns directly, plus this info is invaluable during your postmortem analysis. (If you don’t get this info during the interview, you will never get it.)
  17. Ask about Next steps
  18. Send a thank you letter

If you are unemployed

There is a horrible trend now days, where employers think that if you are unemployed you must be an untalented lousy employee. This has gotten so bad that here in NYC a law was passed making it illegal to reject a candidate because he\she is unemployed. Studies have shown that employers are more likely to hold long term unemployment against you then they would a criminal record. I hate to say it, but I think IT shops are the worst offenders. This is a despicable practice and truth be told employment status does not gauge talent or work ethic in any way. Because of this, if you are recently unemployed and it is feasible I recommend you lie about being unemployed. I know I’m going to take flak for this, I don’t care; I think lying is justified in this case.

The Offer

Congratulations! If you did a proper job qualifying the lead the offer should be in the ball park of what you expected. If it’s not, you need to reevaluate your lead qualification process.


See: Managing your Career in IT


As I stated above you will not be offered every job you interview for. That’s ok, the key is to understand why, learn from your mistakes and adjust. This holds true for just about everything in life.

Recommended Reading
The Hoboken Chicken Emergency

Post to Twitter Post to Facebook Post to Reddit Post to LinkedIn Post to StumbleUpon Post to Digg Post to Delicious Post to Technorati

The Ultimate IT Professional’s Guide to Conducting an Online Job Search (Part II – Marketing)

December 31, 2012 by Morons. 0 comments

Post to Twitter Post to Facebook Post to Reddit Post to LinkedIn Post to StumbleUpon Post to Digg Post to Delicious Post to Technorati

Note: This is Part II of a three part series; it is recommended that you read Part I – The Basics first. 

A quick Re-cap I previously defined the Job search Marketing phase asFinding and Advertising yourself to potential employers”. This is everything you do up until you get a person on the phone discussing a specific opportunity. Also previously stated is that the Marketing process looks something like this:


  1. Look for Markets – i.e. Research where (what roles\position\industries) that there are good opportunities for your skill set and will position you for growth
  2. Generate Leads based on your research
  3. Qualify your Leads
  4. Market to your Leads – By sending a targeted Cover Letter & Resume
  5. Get Responses
  6. Qualify Responses
  7. Postmortem


Mammals and insects tend to have very different reproduction strategies. Mammals (like us) tend to have a few children, spending an exorbitant amount of time and energy caring for each child. Insects, however, have thousands of offspring and provide no care at all. These also happen to be the two most common approaches to job searching, you have people who apply to every job on the web that meets some basic criteria (The Cockroaches), and you have those who apply to a small few with a customized resume and cover letter (The Monkeys).

Confession: For a few years after I graduated college, I was a Cockroach. I had a solid resume for a Classic ASP Developer with SQL Server (What more could you need?!). I had a Basic cover letter (“I would like to apply for your Dev position listed in the NYT…”). I had Word Mail merge and a Fax Modem. I’d go through the Sunday paper, queue up my Faxer-Spam-A-Bot-umus, then bask in the glory of a full answering machine upon my return from work the next day.

After the Dot-Com Bust everything was online and there where oodles more Cockroaches to compete with (Mass emailing is massively easier than mass faxing). The going advice amongst the pros was that Cockroaches are bad, you need to be a Monkey. This didn’t sit well with me at all. How could I spend all that time customizing each resume I sent out? With each resume so customized, each was sure to have a few typos! I’d likely get disqualified on that alone, besides how long is the hiring manger going to spend looking at my resume? With so many Cockroaches out there I’d be lucky if my resume even gets looked at, and then I would likely only get a 15 second scan. It just didn’t seem right (or fair) to spend 2 hours of work (per job application) for that. Needless to say, that was not a fun job search…. I eventually joined a friend’s venture as a semi-partner, thinking I would do that until the job market picked up.

5 years later, I was ready to go on the hunt again, but I knew my Cockroach strategy was a failure. I needed to be a Monkey, but if I was going to be a Monkey I was going to be a Highly Efficient Monkey. I needed to optimize every part of my job search so I could apply to a large number of jobs that I actually want; I needed to be able to do that with no typos. The remainder of this article will focus on the different phases of marketing (see above) and how to do each in an efficient and effective manner. This is not a single linear process: you should be doing many of these in parallel, every day you should be searching the job boards, and you should be returning phone calls every day.

Disclaimer: All of the below is based on my personal experiences job searching in the NYC job market, this is in no way meant to be a one size fits all. You should test out these techniques, as well as others, and do what works best for you.

Look for Markets The key here is to research what roles\position\industries exist that there are good opportunities for your skill set and will position you for growth, these are the jobs you want. This process should be an ongoing process, you should decide what you want to do next, and then develop the skills you need (See Managing your Career in IT). If you didn’t do this and you find your self unemployed. You have no choice but to evaluate your skills, then look for markets where they are suitable.

Doing this is fairly straight forward, browse the Job boards looking at the types of jobs you want and make note of the skills you see coming up over and over again. (This is a great way of determining the marketability of a skill in a particular location, just search the Jobs boards and see how many come up! It’s not perfect but it works).

If you come across a skill you never heard of, look it up. is great for checking what particular roles tend to pay. You should always be looking for new markets even you are not conducting a job search.

Generate Leads based on your research

Finding potential employers is easy, all you have to do is go to your favorite Jobs search engine and type in a word and click “Search”. (My favorites happen to be Dice, Monster and LinkedIn).  Most sites have “Jobs Agents”, these will run a set of saved searches for you every day and email you the new listings for each agent. Jobs Agents are an unbelievable time saver, use them.

Making your resume searchable on job boards is common; I personally like the idea, though many people advise against it. If you do this, I recommend adding a “White List” stuffed with keywords to your resume (In a white tiny font so computers can see it but not people, think of it like Job Board SEO). This is a somewhat controversial idea, as many people believe it to be dishonest. In IT with so many acronyms and different terms that mean the same things, I feel this is a valid way to list all the different versions and acronyms that would look funny if you already mentioned them in a different way.

Qualify your Leads

You want to quickly scan each of your search results and only apply to the jobs you a) Want and B) Have a reasonable level of qualification. I briefly discussed this as a response to this now closed question. What I stated there still holds true. Scan the job posting much like the hiring manager will scan your resume. Look at the following and make a snap decision if you want to apply.

For me, the Quick Scan includes (You scan should include what you see as deal breakers.)

  1. Job title
  2. Pay Rate (Often not listed)
  3. Location
  4. Employment Type (Permor Contract, Contact length)
  5. Requirements List \ Tech Used.
  6. Then I start reading the Body.

The last thing you want to consider is the time it will take to apply: many companies\recruiters want you to reenter all your data into their proprietary system. Keep in mind that anything you enter there is going to be in that system till the end of time, and maybe used against you the next time you apply (if they see info that is inconsistent across applications). Any application that asks me to do more work, (e.g. retype my resume into a form) will also make me less likely to apply.

Market to your Leads – By sending a Targeted Cover Letter & Resume

For Monkeys this is, by far, the most time consuming part of the process; particularly if you are applying to a large number of jobs. The good news is that this is also the place where you will get the most gains in terms of efficiency. Before you apply, develop a basic “Elevator Pitch” for this particular Role. Put yourself in the employer’s shoes and ask yourself “What am I really looking for here?”. You should be able to define the job requirement in no more then 3 or 4 sentences. Everything else in the Job description is Fluff. Next, you need to develop a sales pitch that directly answers that description. This answer is your “Elevator Pitch”: it’s short, it’s to the point, and most importantly, it’s easy to remember.  This “Elevator Pitch” will stick with you through the rest of the process with regard to this particular job listing.

Suppose you read a job listing and you summarize it down to: They are looking for a Tech-Lead with 5-7 years of e-commerce experience within the high fashion industry. They use the LAMP stack and really need someone who can lead their team to success. (Note: they may not have used the words Tech-Lead or e-commerce in the job description; you need to read between the lines) 1

Your “Elevator Pitch” should be something like this: I have been working for the past 5 years with the LAMP and the last 2 as a Tech Lead, including the roll-out of an e-commerce site for a small kid’s apparel company.

Note that you don’t have the high fashion experience; you are going to need to explain that Kid’s apparel is close enough. This is just one example; you will need to do this sort of thing constantly. You must understand how your skills can be used, and more importantly how to explain the transfer-ability of those skills (to the skills your potential employer is looking for) in such a way that the gate keeper can effectively sell you to the decision maker. Your “Elevator Pitch” must be so simple that the HR drone or the recruiter can sell it effectively to the real decision maker.

Also note that your “elevator pitch” never said you used LAMP for e-commerce, that’s because you didn’t. You don’t need to highlight this, but if asked answer honestly, “It was not LAMP, it was package X, Everything I learned about e-commence rolling out that system will be invaluable should I be given this opportunity, I am confidant that I can repeat the success with LAMP”

This “Elevator Pitch” will be at the center of all your correspondence up with the Recruiter\Co until mid-way through the first in person interview.

The Cover Letter

The purpose of the cover letter is to do 3 things:

  1. Introduce yourself and formally apply for the position
  2. Explain why you are the perfect candidate, using your elevator pitch.
  3. Express your enthusiasm for the job

And that is exactly what my cover letter looks like. A two sentence opening paragraph along the lines of “Please accept my application for the XXXXX position, I feel I am an excellent candidate for it because:”. I then have a list of reasons in bullet form, highlighting the key points of my elevator pitch. I then have a closing paragraph saying: I’m very excited and interested in this opportunity, thank you for considering me.

Clearly, the Bullet list is the core of your letter. Bullets are easier to read then paragraphs and more likely to resonate with the reader. The first few times you do this, it will be very time consuming. The key is to keep every bullet you write archived for later (re)use. After a while, you will have your cover letter template and a list of 30-40 bullets that you have written over time covering just about every single one of your selling points. Then, when applying for jobs in the future you can quickly assemble your cover letter by selecting the bullets that match your elevator pitch on a job by job basis. Each bullet should reference a specific job or project so the reader can easily find the details on your resume.

For the example above, your bullets would look something like this:

  • 8 years overall experience working as a Business Analyst and Web Developer, Including 5 Years working with LAMP, JavaScript & jQuery.
  • Proven Track Record Rolling out E-Commerce sites within the Apparel Industry, While at Kids-Yellow Corp, I successfully led the development and roll out of their E-commerce site fully integrated with inventory and order processing systems. The System was built to be scalable and is responsible for 35% of company sales, bringing in $35m annually. I am currently working as the tech lead rolling out the Mobile version of that same E-commerce site.
  • Solid Understanding of SEO and Web Marketing, Worked closely with the Kids-Yellow Marketing team to ensure all web marketing activities are tracked and related back to E-commerce site visits and sales, allowing for internal analysis of marketing ROI.
  • Certified MySql Developer

From the reader’s perspective, it’s clear you read the job’s description and know what they are looking for. It’s clear you have the skills they are looking for (or at least, why you think you do). It’s clear that you have some level of communication skills, and lastly there are no typos, because there is no original content. Also, notice how easy this makes it for the HR drone\recruiter to pitch you to the hiring manager.

While on the subject of Typos, here’s a Random Proofreading tip: Use Speech to Text software to proof all your correspondence by listening to it, grammar errors have a way of standing out when you hear them.

One last thing on cover letters, if you really want a particular job and you really feel you are the prefect candidate for it, include a sentence stating “I will follow up with a phone call later today”, and then do just that.

The Resume

You should have a separate resume for each role you are looking for, (So if you’re a looking for a Lead Dev role or a PM Role you should have 2 resumes). If you resume is well done, you shouldn’t have to customize it for each job you apply. That being said it doesn’t hurt to move bullets around if a particular listing really wants a skill that you have hidden.

There are whole books on the subject of resume writing, it really is an art. The key thing is that you need to be constantly working on it, and fine tuning it. That being said, my resume is laid out as follows: (Everything in Bullets, needless to say I prefer the classic chronological resume)

  1. Name & Contact info, Including LinkedIn URL
  2. Professional Profile – A bullet point list of who I am professionally, a high level overview. If someone read my whole resume, and had to describe me to someone else. This is what they would say.
  3. Professional History, ordered chronologically with the latest first, I list the company, job title (if your job title is not very descriptive feel free to use a functional job title), accomplishments, responsibilities, methodologies & tech used, ect.
  4. Education & Certifications
  5. General Tech section – a list of Languages, Databases and Operating systems
  6. Appendices with project level info – Because for most of my history I have worked within the professional services, I use Appendices to discuss in detail specific project details, I often swap out appendices based on the job I am applying to. I find this is a great reference when discussing my work history with a potential employer. I also include my white list as an appendix, so if someone does find it, it doesn’t look out of place.

Get & Qualify Your Responses

If you have a reasonably marketable skill set and do the above you will get responses, but you still have to manage them well. Here are a few pointers:

  1. Have a dedicated Email address just for your job search. Preferably YourName@???.com. Once you job search is done, this account will get spammed for years.  This way you have established a quarantine.
  2. Have a dedicated phone number for your job search. I recommend Google Voice.
  3. NEVERever pick up this phone unless you are expecting a scheduled call; always let it go to voice mail.
  4. Before calling a lead back, review the original job posting (most job boards track the jobs you have applied for, and you can review them at any time), visit the companies’s website, review the cover letter you sent them, remind yourself of your elevator pitch for this lead (adjust if necessary). If this is a direct hire (not a recruiter) and the salary is not listed in the ad, check If you have any other questions make note of them, and keep your paper and pen handy. Now you are ready to call them back. Nothing is worse then taking a call for a job you don’t remember applying to; you can kiss that opportunity good by. I learned this the hard way.
  5. On this first call back, you have 3 basic goals: learn more about the position, pitch your elevator pitch and discuss next steps. Let them speak first, let them tell you about the position. What they say should match the mental summary you made when you first read the job description, make note of the differences and modify your elevator pitch on the fly. Once it’s your turn to speak, if you are still interested blow them away by going through each of there requirements and knocking them down one by one (just like you did in your cover letter). Speak with confidence, show your excitement and personality. Finish by telling them “I think this is a great fit and great opportunity”, ask if they have any further questions and what are the next steps. (Next Steps are part of the Sales Process and will be the focus of Part III of this series)
  6. If you are no longer interested, thank them for there time and for thinking of you. Ask them to feel free to call you again should another opportunity come their way that may be a better match.
  7. At some point during this initial call, ask them the salary range. If they won’t tell you (or give you some crap about it being wide open contingent on experience) be insistent that they let you know before you go in for an in person interview, tell them “It’s to our mutual benefit to know we are on the same page and that you are just asking for a broad range, not an exact number”. The common advice is to never bring up salary until you have an offer. I adamantly disagree with this, more likely than not, a company that refuses to discus salary early on pays below market level and you are wasting your time talking to them. If push comes to shove tell then what you are looking for and ask them if that is within the range.


Above I stated that all of this is based on my personal experiences Job searching in the NYC job market, this is in no way meant to be a one size fits all, you should test out these techniques, as well as others, and do what works best for you. This is what the Postmortem phase is for, to analyze your failures and look for improvements. If you find that you are not getting call backs you need to ask yourself “why” and adjust. If you find that you are not getting past the initial phone call, you need to ask yourself “What I am doing wrong?”. You should be doing this constantly analyze every thing, every phone call, every email. Ask yourself, what’s working? What’s not? How can I improve?   I’m giving you great start with this article buts it’s not the do all end all, you need to do what works for you. Your marketing efforts need to match your personality (this is why I was very loose on providing high quality text examples; you should not be cutting and pasting any of your correspondence off the web). If the person that picks up the phone doesn’t match the email personality, red flags will go up. In this day and age, any Red flag is instant disqualification.

Recruiters are people too
In the IT world, there is a large animus towards recruiters, and with good reason. That being said, you still need them. There is no reason to be rude or mean towards them (not even to Indian recruiters). Selectively return their calls; always be civil (even if you are not interested). That being said don’t let them waste your time with endless meet and greets and online tests. Tell them you will be more than happy to meet with them once they have a specific opportunity they want to discuss. (If they have a specific opportunity where they feel you are their ticket to $$, there is no way in hell they are waiting till you meet them in person next week to submit you). Recruiters can be a great source of feedback and will often be very honest with you; passing along valuable feedback given to them by their client.

Next up, Part III – Sales, Stay Tuned…

Still Recommended Reading

SPIN Selling

1 (1)   Back in the day of newspaper ads, employers had to pay per letter, ads were 3 lines in a 1.5×0.5 inch box in small print and somehow they managed to get the point across. If I ever again decide to venture out on my own; tt will likely be a twitter-like job board, with listings limited to 250 chars, plus the location and Rate, both required. If you are interested Ping me in Chat maybe you can convince me it’s time. (highly unlikely)


Post to Twitter Post to Facebook Post to Reddit Post to LinkedIn Post to StumbleUpon Post to Digg Post to Delicious Post to Technorati

Maintaining Healthy Hands

November 20, 2012 by Morons. 3 comments

Post to Twitter Post to Facebook Post to Reddit Post to LinkedIn Post to StumbleUpon Post to Digg Post to Delicious Post to Technorati

Keeping your hands healthy and pain free is something every programmer should be thinking about, minor hand injuries will affect your productivity, a major injury could threaten you livelihood. Hand injury is common problem amongst programmers, so it’s not surprising that the question “How do you keep your hands in good condition?” was asked here on Programmers (though closed as off topic).

Dr. Alan Gotesman an orthopedic surgeon with training in hand, microvascular & upper extremity surgery and friend to the Programmers Community has agreed to answer this question for us.

By: Dr. Alan Gotesman

Repetitive Strain Injuries of the Hand

Prolonged repetitive hand movements, particularly in awkward positions, can lead to strain injuries. It is important to be aware of these injuries and prevent them as well as treat them when appropriate. Some of the conditions may not necessarily be caused by repetitive stress, but many can be aggravated by it.  The following are some of the more common hand conditions encountered by hand surgeons in the setting of repetitive stress.

Carpal Tunnel Syndrome

The carpal tunnel is a narrow, tunnel-like structure in the wrist. The bottom and sides of this tunnel are formed by wrist (carpal) bones. The top of the tunnel is covered by a strong band of connective tissue called the transverse carpal ligament.

The median nerve travels from the forearm into the hand through this tunnel in the wrist. The median nerve controls feeling in the palm side of the thumb, index finger, and long fingers. The nerve also controls the muscles around the base of the thumb. The tendons that bend the fingers and thumb also travel through the carpal tunnel. These tendons are called flexor tendons

Carpal tunnel syndrome occurs when the tissues surrounding the flexor tendons in the wrist swell and put pressure on the median nerve. These tissues are called the synovium. The synovium lubricates the tendons and makes it easier to move the fingers. This swelling of the synovium narrows the confined space of the carpal tunnel, and over time, crowds the nerve. The synovial swelling can be caused or aggravated by repetitive motion. Direct compression of the carpal tunnel as well as extreme positions can also aggravate the condition.

Symptoms of carpal tunnel consist of:

  • Numbness, tingling, and pain in the hand
  • An electric shock-like feeling mostly in the thumb, index, and long fingers
  • Strange sensations and pain traveling up the arm toward the shoulder


Prevention of symptoms should focus on proper hand positioning when performing activities, in particular typing. The wrist should be in a neutral position (not bent up or down) which is best done by a forearm rest. There should also be no direct compression on the wrist which can increase the pressure in the carpal tunnel. Occasionally, braces may be required to rest the wrist and if symptoms become severe enough, surgery may be necessary.


Tendons are the connection between muscle and bones which allow us to move our joints. The wrist tendons slide through smooth sheaths as they pass by the wrist joint. These tendon sheaths, called the tenosynovium, allow the tendons to glide smoothly in a low-friction manner. When wrist tendonitis becomes a problem, the tendon sheath or tenosynovium, becomes thickened and constricts the gliding motion of the tendons. The inflammation also makes movements of the tendon painful and difficult.

The most common and consistent complaint of patients diagnosed with wrist tendonitis is pain over the area of inflammation. Swelling of the surrounding soft-tissues is also quite common. Repetitive stress can cause tendonitis by putting too much strain on the tendons.


Taking frequent breaks and not putting the wrist/hand in awkward positions can prevent these injuries. If symptoms appear, anti-inflammatories can be helpful as well as short periods of immobilization. Swelling can be brought down with ice and elevation. Cortisone injections can be helpful for symptoms that are not improving and surgery may be necessary if conservative modalities are failing.


A sprain is an injury to a joint caused by a tearing/stretching of the ligaments. These are frequently acute injuries caused by trauma, however they can be chronic from repetitive stress across the joint causing stretching. Any joint can be affected, but the thumb can be particularly vulnerable as the ligament is often being stressed with daily activities. The increased frequency of texting, with the thumb primarily being used to depress the keys, has increased the incidence of this problem.

Symptoms consist of discomfort around the joint, particularly with any stress applied. There can be swelling in the area as well as tenderness directly over the affected joint. Extremes of motion can be painful as well.


Repeated stress across the joint, especially in one particular direction, should be avoided. If symptoms appear, alternative positions should be used and if possible, decrease the amount of activity. Custom splints can be helpful to support the particular ligament involved and decrease the stress across it. Anti-inflammatories can alleviate the pain and swelling. Infrequently, if symptoms persist, the ligament may need to be repaired or reconstructed.

Repetitive stress injuries of the hand can be disabling and appropriate measures to prevent them should be instituted. If symptoms persist, they should be evaluated further by a qualified hand surgeon for further treatment.

About The Author

Dr. Alan Gotesman is a board certified orthopedic surgeon with fellowship training in hand, microvascular & upper extremity surgery. He has a special interest in minimally invasive and arthroscopic surgery. He is in private practice in Rockland County.

Alan Gotesman MD
Orangetown Orthopedics
99 Dutch Hill Road
Orangeburg, NY 10962

Post to Twitter Post to Facebook Post to Reddit Post to LinkedIn Post to StumbleUpon Post to Digg Post to Delicious Post to Technorati

The Ultimate IT Professional’s Guide to Conducting an Online Job Search (Part I – The Basics)

November 5, 2012 by Morons. 1 comments

Post to Twitter Post to Facebook Post to Reddit Post to LinkedIn Post to StumbleUpon Post to Digg Post to Delicious Post to Technorati

My good friend Webster defines “Ultimate” as “the best or most extreme of its kind”. Needless to say that writing the Ultimate Guide to anything is no trivial task. But in this case it’s not too difficult, simply because of a loophole in the definition of the word. “The best or most extreme of its kind” implies “currently in existence”, and currently there is not much good information online with regard to this topic. Most (if not all) information online is bad, wrong or simply to basic to be useful. There are some good tips, but nothing that outlines a holistic, consistent, effective strategy to conducting and effective online job search. This article aims to do just that.

Truth be told I don’t really know if this is the “Ultimate Guide to Conducting and Online Job Search” or not. The reason I put the word “Ultimate” in the title is because adding that single word will likely double the readership of this article. It was put there for marketing reasons more than anything else, well sort of; it was actually put there to make a point about conducting a job search. That point being an online job search is an exercise in marketing, and marketing matters.

Some time ago, I decided I wanted to move into Sales Engineering, So (as per my article Managing your Career in IT) I decided to shore up my sales skills (I already had solid engineering skills) and then convince management to officially move me into a Sales Engineer position. I already often helped out the sales team developing prototypes, proof of concepts and tagging along on sales calls as a “Technical Expert”. Unfortunately I was too valuable an asset as Tech Lead & Project Manger, so I was shot down, and shortly thereafter I left the company. (See: So you want to be a Rock Star Developer? Maybe you should reconsider.) As part of my self training I read the book SPIN Selling (recommended by red-dirt in this now deleted question).  SPIN Selling, a book on sales, turned out to be hands down the best book on job searching I ever read!

The premise of the book is fairly straight forward, 1) there is a big difference on how you sell low end (low cost) products and high end (High cost) products 2) To sell high end products you really need a very targeted and often elongated sales process. Often you have to get through a gate keeper to reach the real decision maker, and then you need to understand what the real decision maker is looking for, and then target your pitch exactly to that. This turns out to be very similar to what you need to do when conducting an online job search. And this brings me to my second point of this article: Just like a book on sales can be a valuable reference to one conducting a job search, so too can your skills be used in a variety of ways, (hence the importance of choosing to learn transferable skills). So, you need to understand how your skills can be used, and more importantly how to explain the transfer-ability of the skills (to the skills your potential employer is looking for) in such a way that the gate keeper can effectively sell you to the decision maker. (Read that sentence again) How to do this will be extensively discussed in Parts II & III of this article.

Your online job search had two (overlapping) phases

1)      Marketing: Finding and advertizing your self to potential Employers. This is everything you do up until you get a person on the phone discussing a specific opportunity

2)      Sales: Direct contact with a potential employer where, building on your marketing, you sell yourself as the perfect candidate for the job.  (Unfortunately, in today’s job market beating out the competition is not enough; you need to be the perfect candidate). This is every thing you do from the moment you get a person on the phone discussing a specific opportunity and afterward.

Your Online Job Search “Sales Process” should look something like this:

1)      Marketing

  1. Look for Markets – ie. Research where (what roles\position\industries) that there are good opportunities for your skill set and will position you for growth.
  2. Generate Leads based on your research
  3. Qualify your Leads
  4. Market to your Leads – By sending a targeted Cover Letter & Resume
  5. Get Responses
  6. Qualify Responses
  7. Postmortem

2)      Sales

  1. Develop\fine tune a targeted sales pitch for each response (These are no longer leads, These are now Opportunities)
  2. Make first (direct) contact.
  3. Recruiters\HR
  4. Phone screen(s)
  5. In Person Interview(s)
  6. The Offer
  7. Negotiation
  8. Postmortem

The Marketing Phase is used to bring in leads, qualify those leads (eliminating the ones you aren’t interested in) and hopefully converting the few that you are into Opportunities. During the Sales Phase you focus on closing those opportunities. Each step in the above sales process has its own set of techniques and strategies. You need to constantly analyze the techniques and strategies you are using for each step and look for ways to improve upon them. This is particularly true if you change a strategy, you need to know if that change is working for or against you. Lastly if you are not happy with the conversion rate from one particular step to the next, you should be asking your self “What am I doing wrong here and how can I improve on that?”

Here’s what my “Sales Pipe” looked like towards the end of my last Job search. (Conducted between Feb. & June of this year)



So basically, I know that if I sent out 100 resumes to qualified leads, I would get about 20 call backs; I’d interview for about half of those, and wind up with 2-3 offers. I honestly don’t know how good this compares to the average; I simply have no statistics on it. But I will tell you this; my numbers have vastly improved by doing using the strategies and techniques I will describe in the next two parts of this article. (I’m sure the sorry state of the economy didn’t help things.)

Part II of this article will focus on Marketing, specifically: looking for markets, how to qualify a lead, composing a “Flexible” cover letter & resume so it can be easily “customized” and targeted, and qualifying responses.

Part III will focus on Sales, specifically: Developing targeted sales pitches, First contact, dealing with Recruiters & HR, Phone screens, Interviewing, and Negotiating offers.

Parts II and III will be published in the coming weeks, so stay tuned…..

One last thing: this article deals exclusively with conducting an online job search, there is an obvious missing piece here, and that piece is the importance of “Networking”. Unfortunately I don’t consider myself an authoritative subject matter expert on Networking. I am simply not going to give out advice that I feel is unproven, and for that reason I won’t be writing about it. On that note, we are always looking to expand our blogging team, if you would like to write an article on Networking or any other subject matter that is of interest to the Programming Community, please drop us a line in the Programmers Community Blog Chat Room.

Recommended Reading

SPIN Selling

Post to Twitter Post to Facebook Post to Reddit Post to LinkedIn Post to StumbleUpon Post to Digg Post to Delicious Post to Technorati

So you want to be a Rock Star Developer? Maybe you should reconsider.

October 22, 2012 by Morons. 21 comments

Post to Twitter Post to Facebook Post to Reddit Post to LinkedIn Post to StumbleUpon Post to Digg Post to Delicious Post to Technorati

When I started writing this article I ran into a serious issue, defining exactly what a RockStar programmer is. The Term has the “God Problem”1, a problem that atheists and physicists who dabble in philosophy face on near daily bases. Lawrence Krauss actually spend the better part of the preface in his book A Universe from Nothing: Why There Is Something Rather than Nothing explaining it. He practically throws his hands up in frustration stating you can’t prove that something can be created from nothing without the existence of God to someone who defines nothing as “That in which God creates from”. Being a somewhat religious individual I have decided to adopt that definition of “Nothing” (now a proper noun) because of its sheer strength in defending the necessity of God’s existence. But (hopefully) to prevent such arguments here, I will define Rock Star for the purpose of this article. Then if one wishes to argue if such a person exists or if it is a good idea to be such a person. It can be argued by means of saying “A Rock Star programmer as defined by Morons…”

So here is how I (Morons) define a Rock Star programmer: An individual who is a top level performer (let’s say more than one standard deviation). This person, when assigned work, regularly and consistently completes that work in a fraction of the time allotted without sacrificing quality, then spends the remaining time helping his teammates (by giving guidance, not by doing their work) complete their tasks on time, singlehandedly improving the performance of the whole team.
(The same definition can be used for Ninja or Jedi or the various other terms used to descried programmers of exceptional talent)

The reason I chose this definition is because I feel it is more in line with that a true exemplary developer is. The most common definition of a Rock Star is a programmer who is an order of magnitude (10x) more productive than the average programmer. I don’t believe such people exist but there are definitely people who are 5x more productive than the average. Even if you hold to this definition, the remainder of this article still applies.

(See: Are there studies clearly illustrating the great discrepancies in programmer productivity?)

Regardless of the definition, it’s becoming increasingly common in the programming community to say that Rock Star programmers don’t exist. These naysayers are absolutely wrong, these people do exist. But they only exist in an environment that allows them to exist. In such environments the average programmer is easily 2-4x more productive than in environments that are not conducive to productivity. If you don’t believe me, I ask you this: how much more productive are you working at home on your pet projects than when you are in the office doing salaried work?  There are entire books written on the subject of making environments conducive to productivity.

Employers love Rock Stars; they give their employer a tremendous value and have a positive effect on everyone around them. But that doesn’t mean it’s what’s best for you. What’s worse than being a Rock Star is striving to be one. Before you read the next sentence, if you haven’t already, you need to read my last blog article, if you don’t, the next sentence won’t make any sense… I’ll wait….Back? Good. The reason being a Rock Star is bad is because it is a lousy position to be in. The reason striving to be one is worse is because that means your entire career goals are wrong and you are striving to put yourself in a lousy position. Once you are in that position, your employer will do everything to keep you happy in that position, throwing money at you if necessary. But the day will come when you will want to move on, and that day will be a Terrible, Horrible, No Good, Very Bad Day.

As previously discussed the key to professional growth is learning new skills, putting them to use on the job, asking for more responsibilities and then for a promotion. The Rock Star doesn’t do this, the Rock Star spends years finely tuning his relatively small set of skills to the point of absolute perfection. This makes him less marketable, he can only sell himself on a very small skill set, and effectively selling himself as the absolute best to a potential employer is very hard ( if not impossible).

The Rock Star is highly valued by his employer and his job will be very secure, he will also (assuming he has some level of negotiating skills) be paid at a rate significantly higher than the industry average for his position. These two things actually work against him.  Once in this position, there is no opportunity for professional or serious financial growth.

Consider the following:

  • The Rock Star can learn new skills, but can’t put them to use. His current employer doesn’t want him using his newbie skills; he wants him using his Rock Star Skills! That’s what he is being paid such a high rate for! But here is the kicker; the Rock Star is only being paid well relative to the market value for his skill set, but not relative to someone with a more valued skill set. Learned skills that have not been used on the job have very little market value. The Rock Star is stalled in terms of professional growth. The Rock star has been typecast and can’t change roles. If the Rock Star threatens to quit, his employer will let him go. If the Rock Star is not doing his Rock Star stuff, he is a regular expendable employee (who happens to be overpaid).

  • If the Rock Star asks for a raise, his boss says “You are paid 25% more than any other dev on the team, your salary is on par with mine!, Sorry, no can do, maybe next year” The Rock Star has no negotiating position with his current employer; His current employer thinks to himself “Where is he going to go? No one is going to pay him as well as I do.” And his employer is right. The Rock Star is stalled in terms of financial growth.
    (See : )

  • If the Rock Star decides to look for a new Job, he will quickly realize his boss is right. There is no way to prove oneself is a Rock Star to a potential employer. There is no Rock Star Test. Nor is there a Rock Star market. He will be forced to accept a position as a mere Sr. Dev (a step down professionally) at less salary (a step down financially), hopefully this new position will offer him the opportunity to put some of his other skills to work and attain some professional growth which will then lead to financial growth.

  • Even if he could attain another Rock Star role, at Rock Star pay, being a Rock Star is so dependent on the working environment of his new employer, there is a high chance of failure (to live up to expectation).

  • If the Rock Start chooses to start his own business or go into consulting, he can, but he didn’t need to be a Rock Star to do this.

  • How many years did it take to attain that Rock Star Skill level? Those years could have been put to better use learning new skills and moving up the corporate ladder.

  • All of the above could be summed up with the following: The Rock Star is underemployed, but well paid for the job he is doing. The high pay mentally locks him into this underemployed status. His employer treats him well, is nice to him, gives him creative freedom, and a pleasant work environment. All of those things reduce his motivation to better himself, so he remains in that Rock Star position long term with little professional or financial growth. The longer he stays on this path the worse off he is.

Yes, I am actually saying it’s better to be underpaid than over, because you should have never gotten to the point where you are overpaid. You should have been promoted and taken the salary increase that comes with that promotion (so that your position is in line with your salary.) If you are overpaid you did something wrong, you should correct that mistake, in the interim take the money.

Lastly, I know that to many what I described above sounds like a dream job (an employer pays him well, treats him well, gives him creative freedom and a pleasant work environment). It is nice, but the fact of the matter is that those conditions weren’t created for the Rock Star, but are the only ones in which a Rock Star can exist. Those conditions where there when the Rock Star joined, and would likely still be there had he never become a Rock Star.

If you feel you are that skilled and want to reach your full potential with that skill, I urge you to reconsider. People who are that skilled should be running industries, not working in them.

Recommended Reading:
Peopleware: Productive Projects and Teams (Second Edition)
A Universe from Nothing: Why There Is Something Rather than Nothing
Alexander and the Terrible, Horrible, No Good, Very Bad Day

1Any question where in trying to answer it results in an endless argument over definitions. All “God Problem” questions are off topic on P.SE as unconstructive.

Post to Twitter Post to Facebook Post to Reddit Post to LinkedIn Post to StumbleUpon Post to Digg Post to Delicious Post to Technorati

Managing your Career in IT

September 10, 2012 by Morons. 6 comments

Post to Twitter Post to Facebook Post to Reddit Post to LinkedIn Post to StumbleUpon Post to Digg Post to Delicious Post to Technorati

One of the things I like most about working in software development is the fact the for the most part you get to work with fairly intelligent people. I’ve always wondered why so many smart people manage their career so poorly.  If I had to guess, I would estimate that close to 35% of people in this industry don’t manage their career at all. Now I have a theory about why this is1, but the fact of the matter is that explaining to that 35% the importance of managing one’s career is an utter waste of time. Today I want to focus on helping those who do manage their career, do so more effectively.

The key to understanding how to properly manage your career is to understand the importance of positioning, not where you are currently, but positioning yourself for growth (ie. You want to put yourself in a position of high growth potential).

The IT world changes so rapidly I nearly burst out in uncontrollable laughter the last time and interviewer asked me “What is your 5 year plan?”. Though its true things change so fast in IT that it’s difficult to plan long term, you should plan none the less. But your plan should be in terms of actions that will position you to take advantage of opportunities for growth; ideally those actions will also immediately contribute to your growth.

The two basic types of career growth are Professional Growth and Financial Growth.

Positioning yourself for Professional growth

Professional growth is generally thought of in terms of skill sets, you want to continue to improve on you current skills while acquiring new complimentary skills. Once you learn the basics of those skills you should put them to use on the job by asking for more responsibilities then a promotion.

Choose Skills that compliment your current skill set:

Because learning takes time and time is limited you need to ensure your time is well spent by learning skills that will best position you for growth. This is why it is so important to choose skills that compliment your current skill set. (If you already know C# WinForms learning ASP.Net will contribute more to you professional growth than learning Java.)

Having a large well complimented skill set does not make you a generalist; it makes you a well-rounded expert. Calling yourself a generalist implies that you can do many things at a mediocre level. Do not accept that label. Conventional HR wisdom is that you can only be an expert in one or two things. Don’t be afraid to challenge that, say directly and proudly, “I can do a lot of things, and I can do them well!”

Choose Skills that are transferable and Soft

Transferable soft skills should not be neglected; you should put as much effort into them as you do into learning hard skills. As you advance in your career you will find that Soft skills are of much higher value than Hard. Plus they don’t depreciate in value with time as tends to be the case with technical hard skills. Transferable skills are great because they complement so many other skills.

Skill Hard\Soft Very Transferable?
C# (Syntax) Hard No
Java Hard No
Sql Server Administration Hard No
DB Design Hard Yes
OOD Hard Yes
Business Knowledge Soft Yes
Industry Knowledge Soft Yes
Leadership Soft Yes
Time Management Soft Yes


Choose Skills that are Marketable

This is key, if you developed all the skills in the world but can’t put them to use, you accomplished nothing. As I stated above, once you learn the basics of those skills you should put them to use on the job by asking for more responsibilities then a promotion. If no such opportunity exists with your current firm you need to look for a new job that will put you in a position to take advantage of such opportunities.  This means you must choose skills that are marketable. By their very nature marketable skills have market value, which leads us to the second half of this article…

Positioning yourself for financial growth

Financial growth usually follows Professional Growth assuming you are in a position to take advantage of your Professional Growth to earn more money. If you have positioned yourself with a solid set of marketable hard and soft skills that complement each other well, you are off to great start. But you need one more thing: Negotiating Position.

To have a strong Negotiating Position you need to:

1)      Market yourself Internally (to your current Employer) and Externally to the Job Market

2)      Have Options and Know your next best Alternative should negotiations Fail and Know your Market Value

Marketing yourself internally

Even if you are happily employed you need to market yourself to your current employer. But because your job performance is under constant scrutiny at work, you need to be what you are selling. If you are marketing yourself as that employee who should be trusted with additional responsibility (as required for Professional growth) you need to be that someone who can be trusted with additional responsibility. You simply can’t fake this for long. You need to consistently do good work and act (and dress) professionally manner and ensure you are getting proper recognition for you work. I can’t stress this enough, you need to ask for additional responsibilities and then, when the time is right a promotion. If you get shot down, you should have a positive attitude and negotiate. “What do I need to do to ensure I get that promotion next January?” Then Follow up in December.. (But you better have lived up to your half of the bargain). If you are not happy with the results of these conversations or your employer is not living up to his end, you need to look for opportunities else ware.

You should act as if you care about the company and your job performance but like you don’t need the job. You want your employer thinking “If I don’t work with him/her, he/she may just up and quit on me.” You need to have a demeanor the projects a strong personality as someone who is not going to be taken advantage of (in a professional and respectful manner). Your demeanor should suggest loyalty but with limits.

One last point on this: You should market yourself internally even if you are sure you won’t be with the firm long term. When looking for a new job you really want to spend your time and find that job that will give you the growth you are looking for, and in today’s job market that could take well over a year. If you are that guy with a positive can do attitude, constantly improving yourself and taking on additional responsibility, no employer in his right mind would let you go. When layoffs are coming, these people are literally pulled aside and told “Don’t worry”.

Marketing yourself externally

Marketing yourself externally to the job market is a bit different than internal marketing. With external marketing you can literally outright lie about everything you ever did, and be met with some success. Doing so may get you a job, but once on the job you will never be given additional responsibly or a promotion, you will be first on the list come layoffs time, and quite frankly it’s dishonest.

Conducting a job search is simple (and outside the scope of this article): You need to have a plan, you need to put you plan into action and you need to reassess and refine you plan over time and iterations.


If you are offered a new job or are negotiating a promotion with your current employer, you need to know your options if you are to effectively negotiate. That means you need to:

1)      Know your plan of action should negotiations fail.

      a) If you are currently employed you always have the option of staying where you are while you continue to look. Don’t make the mistake of saying “

well this is better than what I have now”

b) If your plan is “Negotiations can’t fail” your plan is sh*t.

2)      Know how long it will take you to find another Job and at what salary.

    a) If you are currently employed, the answer is “I have a job!”

3)      Know how long it will take you to find the job you want.

4)      Know what accepting this opportunity will mean in terms of long term growth.

5)      Know what accepting this opportunity will affect your external marketing strategy for your next job search. (In terms of skill set and position)

6)      Know your market value.

    a) Think in terms of your whole skill set, you should be compensated for as much of your skills as possible. This is why complimentary skills are so important.

7)      Know how long you can go without income & how much you have in your emergency Fund.

8)      Know the Value of you current and proposed benefits package.

9)      Know your ability to do good work and market yourself internally once you accept the opportunity.

Knowing all of the above will enable you to negotiate stronger and with more confidence.  Don’t be afraid to negotiate everything and anything. You will come off as more confident, more capable and a more appealing Candidate. Not only that but you will be more confidant you made the right choice.

In Summary: Continually improve your skill set (hard and soft), Market yourself internal & externally, Have a plan, Negotiate.

Recommended reading

The Hard Truth About Soft Skills: Workplace Lessons Smart People Wish They’d Learned Sooner
Corporate Confidential: 50 Secrets Your Company Doesn’t Want You to Know—and What to Do About Them

1So why do smart people do stupid things-A Moronic view of Free will
There’s an old saying: “God helps those who help themselves”.  But this is not quite true; it’s more of a half-truth. The full truth is “the ability to help ones self is the help God gives”. Unfortunately god doesn’t give everyone the ability to help themselves, for  those incapable, God has no choice but to help then directly as they are helpless. So I ask you, who is more likely to make a good decision? A) The smart helping themselves or B) The Stupid with God’s help?  Stupid people make quick decisions without thinking, smart people think things through, than choose wrong or choose inaction (analysis paralysis). Simply stated smart people have the free will to f*up, as God trusts them to act in a prudent manner.  … Key feature of stupidity is that its power lies in its abundance. One stupid person is helpless, a herd of stupid persons can be invincible….”

Post to Twitter Post to Facebook Post to Reddit Post to LinkedIn Post to StumbleUpon Post to Digg Post to Delicious Post to Technorati

Fix Price vs. Time and Material Contracts

August 13, 2012 by Morons. 5 comments

Post to Twitter Post to Facebook Post to Reddit Post to LinkedIn Post to StumbleUpon Post to Digg Post to Delicious Post to Technorati

Some time ago, the development team at my firm staged a revolt against the sales team and senior management: our demand was that no Statement of Work was to be sent to a customer without first being reviewed by a member of the development team.

The message was clear: “We refuse to be held responsible to deliver on terms in which we had no say”. Today it’s not uncommon for a senior member of a development team to author a SOW in its entirety. In many ways they are better equipped than sales staff to write a SOW. They are good with documents (questionable), are very detail oriented, are great at finding loopholes, and at breaking down large ideas into small, manageable chunks. Today I would like to explore an important aspect of any Statement of Work: the pricing model.

Though there are countless pricing models in use throughout the world, the two that are most prevalent in the IT world are:

  • Fixed Price (also referred to as Fixed Fee)

Both the price and the scope of work are set in the SOW and neither change without agreement from both parties. I, (seller) will provide you (buyer) with X, Y and Z in exchange for $A.

  • Time and Material (T&M)

The buyer agrees to pay a set amount per hour plus the cost of materials and other expenses. I, (seller) will provide you (buyer) with X, Y and Z in exchange for $A per hour of effort needed to produced, Y and Z. You (buyer) will also reimburse me (seller) for any expenses I may incur (Hardware, travel etc.).

The major difference between these two is who bears the risk if you exceed the estimate. With Fixed Price, it’s you the IT professional who bears the risk. With T&M it’s your client. Regardless of what pricing model you choose, you will need to estimate what it will cost to perform the work (even with a T&M contract the client is going to want an estimate before signing it). As the professional, it is you who are responsible for the estimate, and logic would follow you should stand by your estimate and accept responsibility if it is off.

That said, any time you take additional risk you should be compensated for it. As a rule of thumb I would recommend charging a 20% premium on a fixed price contract over a T&M one. So the same contract under a T&M pricing model (assuming you are spot on with your estimation) will be 20% less than a fixed price one.

Based on the premise above, I propose the following: You should adopt a policy of always choosing Fixed Price over T&M unless you have a good reason not to. Before I delve into the details of what exactly is a good reason to choose T&M over Fixed Price, I want to dispel a few myths:

Myth: Risk is bad

Fact: Risk is an opportunity to make (or lose) money. It’s neither good nor bad. As I have stated above you can easily earn 20% more just by accepting the risk associated with your own estimate.

Myth: T&M pricing protects you if you exceed your estimate.

Fact: If you exceed your estimate, even with a T&M pricing model your client will fight you tooth and nail over the overage, even small overages (This is even more true in today’s world of tightened budgets). Often he will refuse to pay above the estimate forcing you into a compromise. Getting new business from this client will be substantially harder next time.

Myth: With T&M you don’t need a change control process.

Fact: You will need to show hard evidence explaining why your estimate was wrong. The only evidence worth anything is client signed change control documents that clearly outline the cost of the change.

Myth: With T&M, the client benefits if you are under your estimate.

Fact: Consulting firms will simply not leave money on the table.

Myth: Incompetency in your firm’s ability to accurately estimate is a good reason to choose T&M

Fact: Unless you are upfront with your client about your inability to estimate a project choosing this reason for T&M is unethical. You (your firm) are professionals; you sold yourself as experts with statements like “We’ve done this kind of stuff a hundred times before!” If you cannot properly estimate a project, you have no right to call yourself experts on the subject matter. If you would never tell your prospective client the real reason you are proposing T&M, your reason for choosing T&M is simply not valid, and likely unethical. You did the Estimate, you are the expert, and it’s your job to know how long it will take and what problems may arise. (I’ll say it a second time: You are a professional; accept responsibility for your estimates)

Myth: Double your estimate, just to be safe.

Fact: This myth comes in many varieties, which can range from adding 15% to quadrupling your estimate. The truth is, doubling your estimate will simply make your bid uncompetitive (or unrealistic), and you will lose the contract to a competitor. (Three’s a charm: You are a professional; accept responsibility for your estimates)

Myth: Developers don’t need to know the pricing model.

Fact: Everyone on the team needs to know the pricing model. It effects every decision the team makes that involves effort. Who is paying for the effort is always a factor in such decisions.

Okay, so what is a good reason to choose T&M? A good rule of thumb is “If you are unable or unwilling to give your client a solid estimate AND you can explain the reason you can’t (or won’t) in a way your client will understand and respect you should go with T&M”. Keep in mind that just because you can’t (or won’t) estimate a particular task, doesn’t mean that the entire SOW must be T&M. You can specify T&M for some tasks and Fixed price for others). Here are the most common examples:

  • Insufficient data to properly estimate it: Your client is asking you to migrate data from an internal proprietary system to a new system you are implementing. Your client says the data is clean and properly normalized. Because you have nothing other than your client’s words to go on, your client should accept the risk of his information being wrong.

  • Your client wants to take part in the project in any way: If he is providing resources (ie internal developers or another vendor is participating that the client is managing) or if you are working on site, you should go T&M. You should not be held accountable for the performance of your client’s resources where you are obligated to ensure they succeed. Chances are high that you will wind up performing this work in its entirety, while fearing to tell the client that his trusted employees are incompetent.

  • Your client has a culture of excessive meetings and bureaucracy: This kind of culture tends to exist with larger fortune 500 type firms. The only way to work with this kind of client on a fixed price basis is to specify in the SOW exactly what kind of documents will be submitted and how many hours of meetings will be attended. Often the client has to do days research just to get you a list (and templates) of documents that need to be submitted in order for the system to move from one environment to another. Unless you have a history with the client this is hard if not impossible to estimate.

  • Your client insists on T&M: This usually happens after you have built a relationship with your client; he trusts you and no longer wants to accept the risk and rewards (the 20% discount) of T&M.

  • Your client is looking for a support contract: With support contracts, instead of defining specific work to be done, only the type of work to be done is specified, and it is performed as needed.

The last point I want to make is this: if you are bidding on a very large project I would strongly suggest that you split the project into phases with separate contracts. The first phase will deal with requirements gathering and system design. Once that phase is done, you will be in a much better position to properly estimate the effort required for the development phase.

When your estimates are accurate everyone wins.

Post to Twitter Post to Facebook Post to Reddit Post to LinkedIn Post to StumbleUpon Post to Digg Post to Delicious Post to Technorati