Note: The image used above is from the 1994 film Léon: The Professional, and is copyright by Columbia Pictures.
I lost the bid for a job last week. Losing the bid was no surprise — if you aren’t being told “no” by some prospects you either aren’t selling enough or your prices are too low. The reason, however, that I lost the bid was something that I come across every now and then, and it really bugs me.
I’ve never considered the mysterious art of selling to be one of my strengths. As such, whenever I lose a bid I typically do a “bid loss analysis”, whereby I critique myself to see if there was anything that I did wrong, or could perhaps do better the next time I bid for a job. Of course, I found several things that I could have done better (I am, after all, my harshest critic) but as I completed my analysis the ultimate reason that I lost the bid became patently obvious: I lost the bid because I’m “too professional”.
The prospect’s project was a couple years old now, and had many daily active users. The code was going stale though, not having been touched in several months. They had been through several developers because the developers could “never deliver on their promises”. There was no version control, and the code was in the condition that one would expect with a project like this. Astute readers and experienced developers are already seeing the red flags here, I’m sure.
I decided to bid on the project for several reasons, not least of which was my sometimes unhealthy affinity for rescuing shipwrecked projects, and seeing the joy and relief that clients get when their stuff “just works”.
To spare you from the rest of the boring details I’ll summarize my correspondence with the prospect. When I was asked to elaborate on the amount of time that I quoted for the project, my response included the tasks that any project of this nature would require when first starting; namely setting up development and staging/testing environments, getting the code put into version control so we have backups and can undo any mistakes, and familiarizing myself with the code that I would be editing.
The prospect’s reply was a variation of one that I’ve heard several times now: “Oh, well, we need to skip the formalities for now, and just get this done ASAP.” It was this exact moment that confirmed my growing suspicion that I was not a good fit for the prospect or their project. I replied once more, thanking them for the opportunity and wishing them the best of luck with their ventures.
Now, I know what some of you — potential clients, amateur developers, etc. — are thinking: “dude, just skip the so called formalities, get the work done, and get paid.” Well, as it happens, that’s exactly what this article is about: being a professional.
As obvious as it sounds, one of the main things that sets me apart from most of my competition is that I strive to be a professional in everything that I do. Not only do I believe that this is simply the best way to conduct business, I’ve been doing this kind of work long enough to know that skipping the so called formalities is a surefire way to increase technical debt, and set yourself up for complications or even failure in the future (In fact, I can’t help but wonder how many times the prospect had “skipped the formalities” already with their project, and how much it contributed to their project’s current state.)
What is a Professional?
The dictionary definition of professional includes several entries. The one that I find most relevant to this article is “having or showing the skill appropriate to a professional person; competent or skillful.” I believe, however, what makes someone a professional is much more than just skill and competence (although those are both important.)
Beyond the typical characteristics, such as being polite and having great customer support, there are several key attributes that define a professional. To me (this is what I strive for) a professional is someone that:
- Does the job right (or: does not skip the so called formalities)
Formalities and best practices exist for a reason. They are tried and true methods that are put in place to protect not only the professional, but the prospect and their project. Foregoing best practices, even once, sets a bad precedent for the rest of the project.
- Does not compromise on quality or standards
A professional has a standard of quality and perhaps even a code of conduct or ethics, and does not waver from them. Ever.
- Is always truthful
It’s very tempting to tell a prospect or client whatever they want to hear, especially when bidding on a job. But a professional is always truthful, even at the risk of losing a job or client.
- Does not make promises that are unrealistic
Every prospect wants (or “needs”) their project done ASAP. While it’s always great to accommodate a client’s need for urgency, a true professional does not make promises they can not realistically deliver.
- Admits when they don’t know something
A real professional will tell you up front if they don’t have a particular skill or knowledge. That’s not to say the professional can’t acquire said skill, and even become proficient in it though.
- Always takes responsibility
Mistakes, miscalculations, and other mishaps can happen with any project. A professional will always take responsibility for their mistakes. Furthermore, a professional always learns from their mistakes.
- Is transparent and open
Clients should never have to guess the status of their project. A professional provides thorough and timely updates, and clearly articulates any needs or concerns that they have.
- Is reliable
A professional strives to always be reachable in a client’s time of need, and upholds any agreements that have been made.
- Is timely
A professional keeps their appointments, deadlines, and other promises. If something comes up and the professional can’t keep a commitment then they notify the client in sufficient time to reschedule.
- Knows when to say “NO”
A true professional will not compromise on their values, even if it means they have to say no to the prospect and risk losing their work.
Can you be “Too Professional”?
I believe that one can be too professional in much the same way they can be too smart, too rich, or too handsome. That is, they can’t be. The reason, therefore, I wrote this article was to remind myself and any consultants, developers, or even potential clients that may be reading it, that a person — a professional — must have a code which they live and work by.
When I first started consulting as a freelancer one of the hardest things for me to realize was that sometimes it’s not only ok, but it’s actually beneficial to say NO to some prospects and projects, especially when they don’t align with your standards or values. As the old saying goes “if you don’t stand for something, you’ll fall for anything.”
What are your thoughts?
What do you think? Can someone be too professional? Do you think there are values that define a professional that I missed? Leave a comment below to weigh in on the subject.