Managing Engineers for fun and profit

My finger is hovering over the publish button on this post. I hesitate, and keep thinking I can write up something easy about Linux or something. Unfortunatly for me, I read James Altucher’s blog and emails. You can check out his posts. He writes very personal stuff, and always clicks publish. In the spirit of James, if you’re reading this, I hit the big red button.

Why I suck at my day job.

You may be new to this blog, or just happened on this post, I don’t know. One thing to ask when you find technical information on the internet is, “should I trust this person?” A very astute question.

Before we go any further with embedded C code and neat projects, I have to tell you, I suck at my day job. Yes, it is an engineering job and very technical. You may laugh, but I really stink, like should be fired stink.

When I go to work, I have no idea what I should be doing. Things are not getting done, and the management is tossing me softballs. Big slow pitches over the plate, that I just let slip by.

You need to know that, between friends, and the whole web, before we go any further. I believe you can trust my technical advice and judgement. Keep reading and see if this post is useful.

How did I get here?

Here I am in my current position, pulling down a nice salary, good health benefits, and an OK commute. I’ve had shorter drives and even been able to walk to work, but this one is not bad. Anyone with any sense would be happy, and do all they could to keep the gig. Well you and me, we are not just anyone.

This is after I moved myself and my family 800 miles across the country for the job. Not exactly this job.

You may have heard a similar story. About six months from moving into a new house, kids in school, and settled, the project is cancelled. It is done. I moved to work on “the next big thing”. The big project that would become the new money maker for the company. It was a “startup in the large company” thing. Now, I get why it was cancelled. There were technical problems (the actual technology needed a complete redo, knowing what we learned from the first attempt), politics, and outside financial pressures. As I said this is not the main product, so it was a distraction and no one wanted to produce it. A few of us thought it was amazing technology and full of potential. It is still amazing, but not here.

They moved me because they needed someone with test, embedded firmware, and Linux experience. The usual engineering work done in our group is a completely different discipline. Plus I have done development work. The sort of thing where you start from scratch. Currently the design is done by others. We work on tests, and the tests are run by others. It is a big company, and that is the way they work. I am a much better fit for small companies and real startups.

So what do you do with a duck in the hen-house? Yeah, they didn’t know either. The assumption was, “this is what we all know, you should know it too.” Well, despite my experience, I have never done this sort of work, in this environment. Now I am like an intern with 20+ years of experience. I have gone in and asked for help. I feel like a broken record. If I am suffering in silence then there is no one to blame but myself. When I go to my manager and ask, “I don’t know this stuff, how do I learn?” The answer is “ask around, you’ll figure it out.”

From that, I am completely incompetent at my job. I am not learning, and when I ask, people tend to brush me off, or say later. It sucks, and honestly, I have never been in this position before in my career. I’ve been behind, buried in work, had death march schedules, and even over committed into working 7 days a week. Never have I been incompetent.

Going to work every day feels like wearing someone else’s shoes. My feet hurt and it is exhausting. Thank you for listening to my rant. The good parts are next.

Maybe I am writing this as an excuse, or a justification. Mostly I need to vent and get the truth as I see it out on the table. When James Altucher posts something he always includes a list of lessons learned. We will get to that now.

What can we learn?

This post is not about them or me. It is about you, dear readers. Don’t think I am throwing a pity party here. You needed some background to understand why I wrote this post. I heard this in Toastmasters and I really liked it,

“sometimes you win, sometimes you learn.”

The people I work with are kind, smart human beings. They are good at their jobs, and have done them for years. The problem is not the people at all, please don’t get that idea. Most people have worked at this company since college. My resume looks like a patch work quilt. Theirs has only one job. I can’t say which is better, my engineers ADD makes me happy. Other people are happy working there I am sure. It is a big place, people must cover the whole spectrum from happy to grumpy.

What can I share with you? What can all this teach us going forward? No reason for you to make the same mistakes.

  1. When someone tells you “we are a startup inside the big company” beware, never ever believe that. Do not put it in your job listing. If you are working on the main money making product for your company, good. The new thing may be a CEO priority for a while. The startup will either become the a major, profitable product, or be gone.
  2. Sometimes people tell you things in a job interview that are true. Those things may not be true with time. Yes, right now management is committed and spending on your “next big thing”. Times and circumstances change, and truth one day is not truth a few bad quarters later. Remember they are not really lying, it is truth at the time.
  3. When you interview ask deep technical questions. Ask to see the code! I did not, and never saw the code. Competing managers would not let others into their fiefdoms. If you’re told, “we will manage the code or design” ask to see the code. Give them the Joel Test every time.
  4. Demand to be taught. Demand it, sit in someone’s office until they show you how everything works to your satisfaction.
  5. Know yourself and don’t convince yourself you can change. I like startups and enjoy small teams. My other experience at a big company was good into bad also. Know that you are a control freak and need to touch every part of the development, manufacturing and product management. Or, if you’re OK with working on one thing and let the rest go by, don’t do a startup. Either way, know yourself.
  6. You are never powerless:
    I started to blog again, because the day job is boring,
    I am taking some online courses on things that are not at all related to code,
    I started a local meetup about Embedded.
    I refuse to be a victim in this story. I’m not looking for a new job, the timing is wrong, but may in the future.
  7. My friend Doug L. once asked “Would you prefer to work for a nice person or an asshole?” Pick the asshole every time. A no nonsense, get things done person often comes off as abrupt and difficult, an asshole. In my experience, that is much easier to work with, than someone too nice to handle the hard people problems.
  8.  When you have a good or great manager, it is really hard to know it at the time. Sorry Rick, Brian, and Jim, I should have been more appreciative at the time. Thanks for teaching me well.
  9. Take responsibility for your manager and show them the right way. Always manage up. I have failed at this, but it deserves it’s own section.
  10. Another lesson from James Altucher, come up with 10 Ideas every day. One idea that sounds pretty good I’ll pitch to you below.

Show your manager the right way

I have managed teams. I had good managers, meh bosses and a couple of recent duds. None were bad people. Just a few not good managers. We are probably in a very similar situation. The management side is not interesting, they are technical people, so they don’t do much with it. There is little management training beyond HR, “don’t get us sued” videos. People get promoted for being technical problem solvers, not for being astute with the humans. That’s been my experience in most engineering driven companies. I’ve been in their shoes and made some of the same mistakes.

This is a place I have failed to support my manager. Having more experience, I know what to do about a problem worker. About twice a week I think I should sit down and tell him, “look you have a problem on your team.” Because I am not doing enough, other people have to take on more work. They resent the extra effort. Everyone can see that no ugly problems are on my to do list. Giving me easy work does not help me learn.

The right thing to do is, give out an equal share of the work, delegate it appropriately and correctly, then track progress. If it does not work out, then put me on a PIP (performance improvement plan) and move me out. PIP is HR speak for “you’re fired”. Right now, firing me would be an HR nightmare. You can’t fire someone when you have never spoken to them about problems with their work.

It is tough love, and not fun. I have been there and said the words. As the manager you lose sleep over it. Most people know things are not going great. It turns out to be a relief for everyone on the team. They keep quiet, but everyone knows what’s up.

I have not had the “crucial conversation“. Advising your boss to fire you is not smart. I can leave smart. It is not up to me to fix management at this company. Add that to the list of things to learn, “It is not up to you to fix the company unless you own it.”

My Idea

You can probably tell many of my brain’s CPU cycles have been wasted thinking about all this stuff. With all that thinking, I have some ideas to make things better.

One idea is to start blogging about stuff I do know, Embedded Systems and writing C code. I don’t get to do what I enjoy at work, so do it on my own.

Another it to take all the blog posts and projects bubbling in my head and build an online course. That was the inspiration for Embedded Apprentice, to do an online course about Embedded Systems.

Now here is the new idea that I hope you have an opinion about. Would you be interested in a new course? The working titles are:

  • “The new manager course I wish I had when I became a manager”
  • “The manager course my manager needs”
  • Or, my favorite, “The management course HR does not want you to take”

The course would cover all the hard won lessons and the ugly mistakes I have made, so you don’t have to repeat them. I thought it would be interesting to collect articles, books and blogs that relate to managing technical people. Do one a day or a few a week. What do you think? Please comment below.

2 thoughts on “Managing Engineers for fun and profit”

  1. The hardest part about this post is the self-reflection that you are doing. It’s difficult to see your own flaws and be able to point them out and try to do something about them. I applaud you for 1 publishing this post and 2 having the courage to put your thoughts on the internet. This post could be the end of your job or could be the start of something new…

Leave a Reply

Your email address will not be published. Required fields are marked *