whiteboarding ideas

Programmers: To be considered a professional, you need to act like one.

Filed under:

Being a programmer is a profession. It is a high-skill job that demands a large initial investment of time as well dedication to continuing education to stay at the top of your game - much like a doctor. Yet, programmers often lose sight of the fact that the skills we bring to the table are only part of the equation; like a medical professional, our "bedside manner" is incredibly important to our overall professional success.

The Evolution of the Programmer

Programmers have a reputation for fringe personalities or being anti-social. I believe this perception stems from years and years where programming was a largely academic function, reserved for universities who could afford massive computers that occupied whole sections of buildings. People drawn to programming in the early days were people with bumper stickers that read "I LOVE MATH" or hardcore physicists. By contrast, today, with the democratization of computers the need for programming is everywhere. It is part of our everyday life (websites, apps, etc.) and is becoming more mainstream all the time. Gone are the days when programmers were academic types shuffling around campus with a box of cards in the hands; today's programmer is front-and-center, as key members of almost every company's staff.

How You Say It Matters

So, if the programmer is playing a more central role in business and life in general, we are well past the stage of needing to validate our trade. Everyone understands the importance software plays, so it's now a question of leveraging our expertise in ways that people will listen. To do that it is important to always keep the following five elements in mind:

  1. Honesty
  2. Accuracy
  3. Perspective
  4. Good Stewardship
  5. Always Help

Let's explore this in detail.

1. Honesty

Honesty comes from a place of respect and is critical for maintaining a good relationship with anyone. Drawing a parallel between doctors and programmers, I think we can all agree that if we ever found out a doctor we had visited had lied to us, not only would we feel betrayed, but we would almost certainly find another doctor. Honesty first is an important foundation.

2. Accuracy

One of the more tricky parts of programming is accurate estimation, however getting good at it is core to building a good rapport and establishing trust. I'm sure we have all met a programmer who colored their estimates with how much they want to work on a project, or often provides wildly inaccurate - and unhelpful - estimates: "That will take FOVEREVER", "I can do that in one minute". Connecting with the medical profession again, accurate diagnosis is important; you should never tell the patient they are going to die if there are treatment options available or things really aren't that bad.

3. Perspective

I once heard a customer complain, "all programmers think everyone else's code is crap". They were tired of hearing us rail about how their existing codebase was poorly written, and even though it was, they didn't want to hear us complain about it. In this situation, there were two important things to keep in mind: 1) the customer didn't write it and 2) complaining about it wasn't going to change it. Diagnosing technical debt is important, but once it is out there try not to dwell on it. Often, patients are not responsible for the current state of their health and even when they are (smoking, etc) doctor's need to treat the problem, not harp about what could have been. In programming, sometimes bad customer choices (cut rate vendors, bad PMing, etc.) have contributed to the problem, but more often than not it is just bad luck. If someone is working us and we are truly professional, they have taken the first step in making things better and should always have our respect.

4. Good Stewardship

Like most other professionals, programmers these days are able to command relatively high hourly rates and/or salaries. That's great news for us, but it also means we have a higher level of responsibility in terms of how we utilize our time. If we are skilled enough to command a high rate, we need to be careful and deliberate about how we spend someone else's money. Don't propose solutions people can't afford or bill people for things they don't need.

5. Always Help

To many people programming is mysterious. Much like a patient showing up at a doctor's office for help, people coming to us are often confused, uninformed about our trade and don't know where else to turn. With this in mind, we should help even when we can't. If someone asks for help and we are not the right kind of specialist, we should try refer them to the right person. This kind of help will always be warmly received, as it indicates you care about someone's success even when you won't benefit directly from it.

The Results

Following these rules whether you are an independent consultant or an in-house programmer will bring greater professional success. People will see you as a "go-to" person, someone they can count on and look to for advice. It will do much more to improve perception of you as a highly respected, talented professional, than adding a new language or library to your roster could ever do.

Date posted: June 1, 2013


Thanks to Slavko Pesic on our team for pointing a few places this article could be made a little more gender neutral. The appropriate rewrites have been made!

Add new comment

Restricted HTML

  • Allowed HTML tags: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <cpp>, <java>, <php>. The supported tag styles are: <foo>, [foo].
  • Web page addresses and email addresses turn into links automatically.
  • Lines and paragraphs break automatically.

Metal Toad is an Advanced AWS Consulting Partner. Learn more about our AWS Managed Services

About the Author

Joaquin Lippincott, CEO

Joaquin is a 20+ year technology veteran helping to lead businesses in the move to the Cloud. He frequently speaks on panels about the future of tech ranging from IoT and Machine Learning to the latest innovation in the entertainment industry.  He has helped to modernize software for industry leaders like Sony, Daimler, Intel, the Golden Globes, Siemens Wind Power, ABC, NBC, DC Comics, Warner Brothers & the Linux Foundation.

As the CEO and Founder of Metal Toad, an AWS Advanced Consulting Partner, his primary job is to "get the right people in the room".  This one responsibility is cross-functional and includes both external business development functions as well as internal delegation and leadership development.

A UCLA alumni, he also serves in the community as a Board Member for the Los Angeles Area Chamber of Commerce, the Beverly Hills Chamber of Commerce, and Stand for Children Oregon - a public education political advocacy group. As an outspoken advocate for entry-level job creation in tech he helped found the non-profit, P4TH, an organization dedicated to increasing the number of entry-level jobs in the tech industry, and is in the process of organizing an Advisory Board for the Bixel Exchange, a Los Angeles non-profit that provides almost 200 tech internships every year.


Have questions?