When I was younger I would email successful people and ask how they got where they were, and how I could get there. Now I get paid to work with / on Linux, and figured I would share a few things. Age is a funny thing, and as much as I thought I knew when I was 18, 10 years later gives you a much better perspective.
- You can’t be a expert in every field
My whole life I have been a “computer scientist”. That meant I ran pretty much every operating system, and tried to program in as many languages possible. However, in the professional world, your advice outside of your realm is seldomly used or even asked for. Even if it is technically correct, team x does not want to have team y telling them how to do their job. Swallow it up, not everything will go the way you want it. - Communication is more important than technical expertise
If you look through the ranks of a corporation, you will notice that seldomly does the most technicially proficient employee ever even get to the ‘C’ level (CTO, CIO etc). In smaller companies, being the expert is important because everything is riding on you. When your company has thousands of employees, communicating efficiently is worth much more. Learn how to talk to non-technical people. - Your manager is always right
Never be a martyr for a specific technical feature. If your company needs something done a specific way, and you are against it, politely state your position. If they are not interested, do it their way. If the manager was wrong, they will take heat for it. However, if you make a big issue about it, your manager is still the one at the end of the day who evaluates you on your performance review. - Appearance matters
You are selling a complete package to a corporation. It is important that your outward appearance is in line with the position you are going for. If there are two applicants of similar skill levels, the one who interviews that is well dressed and clean will get that position. First impressions count, especially during interviews. - Everyone has their reasons
No matter how bad you think a choice or decision was, everyone had a reason for doing it. They thought it out, they presented it, and weighed the factors that matter to them. It is very easy to point out how dumb you think something is, but likely you don’t have all the facts of the entire scenario. If you do have all the facts, calling them out on it won’t fix anything and will likely create resentment.
Related posts:
- Explaining a simple argument I had a conversation today, where the other party disagreed...
#1 by John Navarro on October 19, 2009 - 11:46 am
Quote
I worked in New York City for over 10 years for a well known publication. Your bullet #2 is so very true. I have seen many non-technical folks hold VP, CIO, and other managerial postions. These people didn’t know the difference between gigabyte and megabyte. After a while I dawned on me that these folks had skills that most lacked – the skill of communication.
#2 by LaserJock on October 19, 2009 - 12:35 pm
Quote
I think #5 is especially important in open-source communities. People are fond of calling other people’s proposals “insane”, “stupid”, “silly”, etc. I confess I’ve done this a time or two. I have to look back and remember that people have reasons and usually the real disagreement is over which reasons are the most important, not that somebody was an idiot.
#3 by VincentH on October 19, 2009 - 12:41 pm
Quote
Soft-skills and self-presenation are important (point 2, 3, 4 , 5), indeed. But you are missing one point here. If you are the Guru in some field at the company it is important to let it know. If you disagree with the manager, don’t make it into a fight who is wrong or right (points 4 and 5) but ask if they took the risks-in-your-field-of-expertise into account. Never, ever, just do what the manager tells you, since you are a team. If you were wrong, better learn to think; if the manager was wrong, next time you will be consulted.
#4 by James on October 19, 2009 - 3:38 pm
Quote
All good advice. I would like to add pick your battles and projects. I have a team member that chose and fought for a particular application and project. After winning the battle (due to the exhaustion of the other team members) is now disgruntled. He feels that the responsibility of supporting the application falls unfairly onto himself and that other team members do share the burden of support.
Pick your battles, get buy in and make sure you are comfortable with you own choices.
#5 by jezra on October 19, 2009 - 6:05 pm
Quote
Like most of the commenters, I too have had a “that happened to me” memory surface while reading the list. The item that strikes a chord with me is #2 and I’d like to expand the point to include “learn to listen to non-technical people”.
#6 by rolando on November 19, 2009 - 8:49 pm
Quote
100% Agree,
if “Your manager is always right” = false then
“Your manager is always right” = true
fi