Hacker News new | ask | show | jobs
by cerrelio 3553 days ago
I'm 38, and I now find myself being coaxed into management. I was away from the Valley for about a decade and returned 4 years ago. My career has basically continued from where I left it despite not knowing most of the hot technologies when I returned. I simply learned them, and avoided the fads. Experience definitely helps you sidestep cargo cult development, spinning your wheels and wasting company time.

I've worked with many junior devs over the years and I can see two axes along which engineers develop: those who know/learn actual computer science and software design (the math, software patterns, etc.) and those who don't; those who learn new technologies, and those who don't. If you're in both of the "don't" categories, your career stalls after about 4-5 years.

Learning processes rather than technologies is very valuable, because processes produce things. Technologies are just the building blocks. I've seen too many developers who are one-trick ponies. They build the same systems over and over, only changing what technologies they use. "Sure, I can build you an MVC content management system in PHP!" -> "Sure, I can build you an MVC CMS in Rails!" -> "Sure, I can build you an MVC CMS in Node.js!" Those developers don't age well.

Also, like you mentioned, I highly recommend trying your hand at entrepreneurship. If you have enough process skills, you can eventually handle designing and pushing a product. You might feel uncomfortable moving away from your vim window into the meeting room, but that's where the greater rewards are. And those 20-somethings are going to help you do that.

1 comments

"You might feel uncomfortable moving away from your vim window into the meeting room, but that's where the greater rewards are"

Greater financial rewards, maybe. But not necessarily greater intellectual or emotional rewards. Not everyone's cut out for or enjoys management or running a business.

There are people who just love getting their hands dirty in tech and hate meetings, power point presentations, kissing up to and hobnobbing with upper management, making up budgets and writing reports, herding cats, giving pep talks, dealing with HR issues, and the rest of the things that managers often have to do to be "successful".

I'm happiest when I can just go nose down working on interesting technical problems, when I'm collaborating with other engineers on the same, or mentoring junior engineers, with all the corporate BS taken care of by my manager.

"Not everyone's cut out for or enjoys management or running a business."

That type of thinking will do you in. If you can take technical resources and produce a functioning system, then you're cut out for management. The people problems you'll encounter are largely irrelevant. Learning your charges' quirks, dislikes and styles is like learning a new language or API.

And if you believe in Alan Turing's compelling philosophical argument that people are just fleshbound Universal Turing Machines, then it's easy to carry over from development to management. You just end up putting a fleshy, slower, intelligent computational layer between you and the dumb, fast calculators you normally solve problems with. Program the people to program the machines. Abstraction is a core concept in development.

At some point you'll see that you can create bigger things by commanding a team or department. A single person rarely ever makes a huge contribution on their own.