Wednesday, February 23, 2022

Lessons Learned in my Career as an Engineer

Technical stuff

It's easier to do something right the first time than it is to do it over.

When given a choice between creating something, evaluating someone else's creation, or fixing someone else's mistakes, always choose creating. This applies to any engineering discipline.

Saying "no" may harm your career, but it may save your sanity.

Saying "yes," if done wisely, will open unexpected doors for you in the future.

A problem that mysteriously goes away, will mysteriously come back.

Engineers don't have to know everything. They just have to know where to look things up.

When someone asks you for a time estimate, come up with your best estimate, then double it and add one unit. "An hour" becomes "three hours." "Two days" becomes "five days". "Three months" becomes "seven months". (Engineers are notorious for underestimating the time budget for a project.)

Never trust an engineer who says, "Well, it works on my computer."

On the other hand, if nobody else is having the software or network problem that you're having, the problem is most likely not with the software or the network.

J.R.R. Tolkien understood engineers. He put these words into Bilbo Baggins' mouth: "It does not do to leave a live dragon out of your calculations." That relates to project planning and execution. The things that you overlook are the things that will bite you. Or burn you.


Bilbo and Smaug (copied without asking from https://movie-villains.fandom.com/wiki/Smaug)

Bilbo's "live dragons" maxim can be rendered as a haiku.

And J. K. Rowling understood both the lure and the dangers of technology. In 1999, she put these prophetic words into Arthur Weasley's mouth: "Never trust anything that can think for itself if you can't see where it keeps its brain." For the last half of my career, I have been a computer professional. I have never trusted computers, "smart" devices, artificial intelligence, or the Internet. You shouldn't trust them, either.

Manage your time carefully. 

Murphy's Law reigns supreme.

With extremely few exceptions, in an engineering organization, everybody's just trying to do things right. Don't waste time blaming, politicking, or fault-finding. Instead, invest the time in trying to help each other succeed.

When taking notes in a meeting, only take paper notes. Never take notes on a phone, tablet, or computer, because you will, without a doubt, be accused of "playing on your phone" during the meeting. 

Paper will never go obsolete.

Paper doesn't require batteries, spontaneously reboot in mid-sentence, or accidentally and instantly get erased. Some paper documents have lasted hundreds of years. Computers have been around for less than 100 years, and no computer-age storage medium has demonstrated the long-term viability of paper.

... Except for punch cards and punched tape, both of which are made of paper. :-)

Job and Career stuff

Your family is more important than your job. If you ever have to make a choice between the two, choose your family. There's always another job.

When looking for a job, who you know really is more important than what you know. 

The guy who says, "I want to be hired (or promoted) based on my merits," will never get hired (or promoted). Learn to play The Game. And learn to enjoy playing The Game.

Don't believe anything a sales professional says to you.

Never trust a sales professional.

Never work for a company run by a sales professional.

Never work for a narcissist. Learn how to smell out narcissists quickly.

No matter what the CEO, the HR department, and your manager may tell you, you are only an asset to the company. A resource. Raw material. They will use you until you break or wear out, and then they will discard you without thinking twice.

If you were to die on the job today, they would replace you tomorrow.

There's no such thing as "job security."

Your employer doesn't care.

Corporate loyalty is a myth, a relic of the 20th Century.

If you get a nice jacket with the company logo instead of an annual raise, enjoy the jacket, but start warming up your resume.

Sometimes it's better to quit and take your chances than to stay miserable.

Nobody pays you enough to make a miserable job worthwhile.

Nobody, but nobody, pays you enough to yell at you.

If you're in a job where someone yells at you, don't take it personally. But do quit. If you cannot quit on the spot, then immediately start a job search, and quit a week or two before you start your new job.

The "two weeks' notice" thing is a courtesy, not a legal requirement. It may or may not be in your contract. Reread your contract to find out. Remember, your employer would not give you two weeks' notice before dumping you.

The only way an employer has of showing how much they value you is money. It can be salary, commissions, or significant cash bonuses. Stock options are just a promise, and they mean nothing. Stock itself is of questionable value. Gift cards and T-shirts are cheap fluff. Promises are worthless -- even if they're on paper. And salary targets (as opposed to actual salary) are an easy way to make a promise and get away with not keeping it. (HP was notorious for that.)

An employer never pays you what you're worth. An employer only pays you what you're willing to settle for, and not a penny more.

But the jackets and gift cards and T-shirts are a nice gesture, and they should be acknowledged graciously.

If you find a better job, and you give your notice, and your employer makes a counteroffer to induce you to stay, don't take the counteroffer. NEVER take the counteroffer. They're two weeks too late -- maybe even six months or a year too late. If you were that valuable to them, they would have fixed things that long ago. Their counteroffer is not a sincere offer -- it's just damage control.

When should you get a new job?

  1. When the great company that hired you gets sold, acquired, bought out, or spun off.
  2. When the great company that hired you gets a brand-new management team.
  3. When that great boss that you loved working for, quits or gets fired.
  4. When you start noticing a high attrition rate (lots of people quitting or getting fired).
  5. When pay is delayed, or paychecks start bouncing.
  6. When you start noticing a pattern of dishonesty, broken promises, or shady dealing among the managers or in the C-suite.
  7. When you can get an equivalent position or a promotion, for significantly better wages, benefits, working conditions, and future growth prospects, somewhere else.
  8. When you realize that the money you're paid isn't worth the garbage you have to endure.
  9. The instant you discover that the job you wanted, or the job you thought you were getting, is not the job you ended up with.
  10. The instant you come to the realization that you are in a dead-end position.
Don't think that you owe "three to five years" to your current employer. They would not hesitate to dump you after a month, if they had a business reason.

Having said all that, if you do find an employer who:
  • is loyal to you, 
  • gives you good compensation and benefits and a good working environment,
  • supports you and contributes to your personal development, and 
  • truly watches out for you and your loved ones,
then give that employer your loyalty and your best efforts in return, and hold onto them for as long as you can. Employers like that are rare in today's world, and they need to be nurtured and protected.

Retirement stuff

It's never too early to start planning for your retirement.

Always spend less than you earn.

Always contribute to your 401(k). Start contributing to it as soon as you can. 

If you don't have a 401(k), then create and start contributing to an IRA as soon as you get your first job.

Even if you can only contribute a tiny bit, do it. Even $100 a month, through the magic of compound interest, will turn into a huge pile of money in 30 years.

As soon as you can, start contributing the maximum amount you're allowed into the 401(k). Take advantage of the company matching.

Make sure that the 401(k) funds are not invested into your own employer's stock. That's always a losing bet. Instead, move your retirement funds outside of the company. 

Do not gamble with your retirement funds. Invest in a combination of ETFs (for growth) and long-term bond funds (for stability).

Don't make your work your life. Don't tie your personal success exclusively to your professional career. Make sure you have hobbies, interests, and friends outside of work.

Do something that doesn't require batteries, an operating system, or a network connection.

Again, your family is infinitely more important than your job.

Your job won't last forever. Start planning and preparing now (whatever age you are) for what you will do with your life when you retire.

Useful books

This is a short list of books that have served me well in my career. Admittedly, it is a rather eclectic list, but all of the books are relevant to an engineering career.

Thinking, Fast and Slow, by Daniel Kahneman
Nudge, by Thaler and Sunstein
The Art of War, by Sun Tzu
The Book of Five Rings, by Miyamoto Musashi
The Lord of the Rings, by J. R. R. Tolkien
Ender's Game, by Orson Scott Card
The Last Lecture, by Randy Pausch
The Art of Electronics, by Horowitz and Hill
The Goal, by Eliyahu Goldratt
The Phoenix Project, by Kim, Behr, and Spafford
The C Programming Language, by Kernighan and Ritchie
Who's Afraid of C++ (now part of Learning to Program in C++), by Steve Heller

No comments: