Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: How do I crawl out of the "Senior Engineer" hole?
96 points by throwaway_boy on Nov 15, 2010 | hide | past | favorite | 54 comments
I've been a software engineer for over a decade, and worked at huge companies and little startups. I know this probably sounds insane, but over that entire time, I only worked on one team/project where there was a notion of "tech lead", that is to say a technical individual contributor who was responsible for decomposing a project, overseeing the more junior engineers in its implementation, but was not a manager who managed those engineers. And that tech lead was me. Every other team/company I've ever worked at, I've basically been in a team scenario, where everyone worked in their own silos. I've always owned entire subsystems (even as a total newbie, painful as it was), never with another engineer over me, never with another engineer under me. I've had the words "Senior Developer" on my resume for almost 8 years now, over half my career.

I don't want to be a manager. But it seems like something's missing, that I don't have any "project leadership" experience on my resume (save that one time, which was a success I might add.) I'm confused about what the next step for me is supposed to be, and how to get there. It seems like the things above me on the career ladder (architect, principal, CTO, what have you) are not attainable because of this absence of leadership experience. I mean, is this something that even exists or am I just imagining it? I see peers (coworkers who eventually moved on to other places) who make these strange leaps from Sr. Engineer to Director or CTO and I don't understand how they did it. Should I just try applying to a higher-up position sometime?

I'm open to any and all career advice. This really isn't about money or responsibility, it's just about ensuring that I'm not stalling out somewhere in my professional growth. I guess I'm trying to say that I'm concerned about my long-term trajectory.




You don't want to be a manager, but you want to move up from Senior Developer? Directors and CTOs generally are (largely) managers. A big part of their job is sales (selling product vision to the engineering team, selling engineering realities to executives, selling jobs to prospective hires, etc). Do you want that role?

The organizational pyramid is just that. Not every senior dev moves up (or should move up if happiness is a priority). You shouldn't look to your peers to tell you what's next for your career. How do you want to spend your time at work compared to how you're spending it now? Do you want harder technical problems? More product design work? Something else? You've already expressed that you don't want to manage folks, which closes off a lot of paths.


In my mind a manager is not necessarily a leader or the leader. And certainly not a technical leader. Agreed though that a director/CTO is more of a management position, but I've seen coding CTO's, especially in the startup world.

I don't know what I want career-wise, vertically speaking, and that would be proprietary to every employer anyway. What I'm getting at is that I feel like I should be able to contribute more at this point, most simply expressed as helping the team and company make better technical decisions. How do I leverage myself better?

I'm kind of at this point where I feel like I've maxed out whatever my job title is now (NOT just speaking about my current employer - just speaking about my career in general), and feeling bored and stagnant. I don't really know where I want to go, because I'm not sure where I CAN go. I know there's a path to management which I've turned down repeatedly (I'm not interested in managing people, in having one on ones, as operating as an extension of HR in ranking employees, etc). And I see people who have made a quantum leap somehow to something well beyond a Sr. Engineer - say, Architect (kind of an out-moded term in my mind), or "Principal" which is a kind of nebulous guru-like position. Is there a third choice beyond just staying in place?

It's just really nagging me to feel like I'm not growing. I've done so many things - desktop applications, web, e-commerce, mobile, client, server, frontend, backend, enterprise, yada yada. I've run out of room to grow in that dimension, because I've been around the block and back.


I've pretty much only seen coding CTOs in the startup world (or small < 30 people tech services companies).

Go start a company if you want to grow. You sound skilled. Quit your job, start consulting and start a product on the side as a technical founder.


Here, let me give more "less painful" advise:

1) Don't quit your job, start consulting on the side

2) Don't quit your job, start a product on the side

Both options won't cut paycheck. Take calculated risk. OP is no longer a 24 years old super smart developer.


Your advice is sound and it will definitely create security. However, what it will not create is "a sense of urgency". Follow both steps 1 and 2 and ten years from now you will find yourself still employed (by the same people?) and in the same situation.

My advice would be:

1) Make sure you have at least 6 months worth of savings. 2) While you're still in your day job try to land a freelance or contract job. 3) Once you have a gig, THEN quit your job. 4) When the freelance/contract job comes to an end, look for a new one.

Now point 4 will take some time. Maybe a few weeks sometimes more than a month. In that time-frame you can work on your project/product full-time. You might have to go back to contracting, but at least you can put in some decent time to work for project.


Relying the situation to motivate you seems... um... very risky and not quite strategic.

I noticed that some people weren't born to become Jason Calacanis, Zuck, Gates, Hsieh. For these type of people, they have to play a bit safe or else they will regret their choices by cutting the oxygen lifeline and hoping by 1 year things will pick up.

Let me rephrase that: following your 1,2,3,4 steps, 10 years from now he'll probably end up either jobless, have less money in the bank, or even in less favorable situation (working for less money, worse jobs, etc).

We're using the same assumption correct? that either consulting or the product were not successful.

One gig is definitely not enough. Consultant needs to build portfolio in order to get more gigs so that they can rely less from their networks. That is to assume the OP have a pretty good connections that could help him land few gigs.

People always said that "make sure you have X-months worth of saving".

People say the following phrase quite often as well: "money is not a problem". I'll add one word to that phrase... "...yet". Money is not a problem yet (so far).

Once you started to realize that money becomes an issue, your mind will have hard time to focus and concentrate. From that point onward, whatever you'll do won't be optimal.

To sum up my advise: make sure you have a fixed stable income. Once that's taken care of, your mind will have more capacity and effort to focus on something else.


Yeah, quitting your job is a poorly planned out idea, but it does sound like freelancer is your best bet. It gives you the ability to work on different problem sets, as well as upward mobility without having to leave development behind. Many will suggest architect, but in my opinion if you love the code you will not like drawing boxes all day. most of the people that I know that ascended to architect, did not like the position. The recommendation to start consulting on the side is probably the best option. Growing a consultancy while having a steady source of income is a lot easier than trial by fire of popping right into it.


So I can't speak to his particular situation. But in general I disagree with this. I think quitting the job is the most important part. Consulting is the safety.

"Leap and the net will appear" - John Burroughs


That is assuming everything will go well: this person will get a few customers ASAP, within 1 week or 2, to stay a float for at least 1 - 1.5 years.

Consulting requires networks and connections. If the person stick too long as a "Senior Software Developer" and rarely meet non-geek human being (potential customers), it'll be a while before the person can get a well-paying less-stressful consulting offers.


First, if he quits he might be able to consult for the company he just quit from. They, presumably, know he's good and can do the work. So they could hire him back as a consultant (where he'll probably make more money and perhaps do more of the kind of work he's really after).

Second, if you work in the technology field, meeting geeks is a great way to find potential clients. People in the technology field tend to move around a lot from company to company and from position to position. So the developer you meet at one company today may well be a manager or even a CTO at another company tomorrow. They will probably be the very people who'll need to hire consultants at some point in the future. Make a good impression on them and keep in touch, and you'll have a nice network of contacts for consulting work down the road.

As a senior developer, I bet he's already made plenty of such contacts. Now it's just a matter of getting in touch and letting them know he's looking for consulting work.


Agreed. We can some how manage to make our living on consulting and cutting expenses, but if you are still in day job, it will take up major part of your time and energy. Also, some companies will have employment agreement that you will not work for any other thing


It's like reading an Ask HN from me. You sound like me about 3.5 years ago.

I was in the same situation, dev lead for 10 years. Bored. But I hated shuffling papers more than I hated being a drone...even if I was a senior drone.

What you need to do is start your own Startup.

What you're lacking in experience is only a problem if you need to actually manage people. You must likely have plenty of experience actually running a project... why not run your own project. Do consultancy on the side (even to your existing employer), but get out and do your own thing.

In time, you'll hire your first employee, then your second etc. There is far more career progression when you're growing a pyramid beneath you.


This was absolutely my solution to the same problem.

I'd been a solid dev for 10 years and the closest I'd come was being an unofficial team lead a couple of times. I found it hard, in a big company, to work on raising my profile without feeling like I was taking credit for other people's work. Sadly, it's hard to get recognized as being a "leader" if you are scrupulous about acknowledging the efforts of your team -- even if your team-mates recognize your leadership role, nobody asks them.

I'm also, frankly, an insubordinate bastard -- I always get along really well with my immediate manager and co-workers, but upper management tends not to like me because I poke fun. So it's easy to see why nobody was running to promote me, and I can't say I really blamed them.

So I jumped at the chance to be tech lead and co-founder of awe.sm. Now I have my own team, and I am getting to prove my leadership credentials first-hand. I'll let others decide how well that's going ;-)


I see peers (coworkers who eventually moved on to other places) who make these strange leaps from Sr. Engineer to Director or CTO and I don't understand how they did it.

Really, the only thing you're lacking -- and I do not say this lightly, or mean this disparagingly -- is chutzpah.

The simple (and sad fact) is, that for the vast majority of these CTO/COO/CEO types, whether they happen to possess great talent, or not -- what happened to catapult them through the glass ceiling into that "leadership" role was one of two things: (1) they were already working in an organization for some time and there was suddenly a vacuum, a great need for someone to "pick up the reins", and the were seen as "the only one in the room"; or (2) they were simply very brash, and repeatedly but persistently insinuated themselves into the "technologist, visionary, co-founder, (what have you)" role and eventually (perhaps with the help of a thick skin and/or immunity from the crushing weight of self-doubt that afflicts most normal, healthy people I know) it finally stuck -- someone finally believed them, and they got that brass ring -- that CTO job in their 20s, million-dollar funding for their company, speaking gigs at TED, whatever.

What I vastly prefer working with managers/principals in the first category, I find the latter path to "greatness" is far more common. I don't mean to belittle these kinds of characteristics, or to say charisma and the ability to sell one's self isn't important, or anything like that. But it does seem is that part of what keeps (very good) engineers in that "worker thread" category, it seems, has (very sadly) a lot to do with what made them good engineers in the first place -- the ability to stay humble, stay focused on just being really excellent at what they do, not for the vanity (or the outsize paycheck) but simply for the sake of excellence itself -- and above all, not taking themselves too seriously.


I don't think this is unique to programming either. In fact, this is the reason why so many Narcissists and Psychopaths make it into management.


In an organization that doesn't have a defined career path for engineers (which is to say, most organizations), you need to take responsibility for yourself if you want it. If you're on a team of engineers and nobody is leading, then step up.

Help newer engineers learn skills, help interview people, help run meetings, and instigate new projects. Cook up a new product or feature, and champion it. If it goes well, you'll be the de-facto tech lead.

Of course, you might just be at a very flat organization where nobody reports to an engineer. In many companies there is no formal idea of a tech lead - you report to somebody who used to be an engineer, but is now a manager.


You're right that more initiative will be required of me. In hindsight there were times when there was a vacuum and I could have done something (ultimately the vacuum always stayed there; noone stepped up as it would happen.) Lesson learned. Right now my company is extremely small and utterly flat (it's basically CO's and non-CO's), so there's no room to lead anything. This is really more about whatever I do next.


This is the same situation I'm in, except that I'm at the beginning of my career as a developer (despite being 30+... took a detour through grad school). I feel like it's hard to know what's up, down, left, or right at a small company or startup.

For the most part, I get my projects done, start my own in areas where I know there is pain, and advocate for other projects/solutions when I think they're applicable but I'm too swamped with my own work.

It's an issue I've been meaning to bring up with my supervisor ("So just how do I fit in? What's next?"). Is a frank discussion with your CTO out of the question?


That terminology sounds almost military. Is that in your past? Because you'll have to throw out the services mindset where there is both a structured path upwards and a structured chain of command. Those things are great for organising massive amounts of people towards difficult goals, but that's not necessarily the right fit for software development.

To me most of the boxing in is done in your own mind. In my last corporate job I was a team lead who never touched the code. I was supposed to go though my manager for stuff, but he was the problem. I learnt to go straight to the CEO - most of the time the 'open door policy' isn't just lip service.

Many people face the problem in their careers that they think there is a stuctured hierarchy where you can't jump levels for problem solving, initiative or anything like that. So do stuff like that. Your job is really to make the company run as well as possible, whether that is coding or leading changes that need to be made. Staying in your box really means staying in a box that someone else has designed for you, and being successful means spreading your influence by whatever means. Just don't be an a-hole and treat everyone with respect, even those who disagree with you.


I actually wrote C-asterisk-O's and non-C-asterisk-O's, as in wildcards of CEO/COO/CTO/CFO, but HN seemed to parse my markdown and I didn't notice. Whoops. :) No military past in my background.


If you want to get leadership experience, you will need to take on a role that requires it. To get that role, you will have to ask for it. The minimum requirement for leadership is the ability to get things that you want.


Where I work there is a career path for technical people, but it tops out at the "Senior Staff" level. Now, as far as the role goes, you can be an individual contributor up to a point before becoming a "manager". You can lead a team from a technical standpoint without being a "manager". Those are what we call Technical Leads, Software Architects, and Chief Engineers.

My suggestion would be to ask (or even take) on a leadership role. Fake it til you make it, and put the results in your annual performance review. Write it up really well, and make sure you show results and not just state what you did. Show that your leadership adds value.

You do not need a formal leadership role to do this.

Mentoring is a quick way to put a notch in your leadership role, especially in your position and level of expertise. Share best practices with some junior engineers, and help them learn, grow.

You can also take on tasks outside of the office to build a proof of concept or the like that saves the company money or adds value. I have a mentor who became a senior manager after developing what became our enterprise email infrastructure during off hours with a small team of colleagues. He's now a CIO of a large part sector of the company.

A third idea, and we love this one where I work, is community leadership. Whether its helping out at a local non-profit, or spearheading a one time event for a holiday food bank, these are great opportunities to demonstrate leadership. (They're also a good idea in general, and great karma!)

That said, I am right there with you. I spent 4 years working in software development outside my current company, another 2 years at the company, and just now entered a leadership development program. There is a tremendous amount of soft skill development involved in the program I am in, and it really does help (even if it frustrates me at times).


I've always thought there should be no cap on either salary, or glamour for advancing developers. We've all seen how a single person can drive the productivity of an entire organization. The career path promoting great developers into managers (and eventually CTOs) tends to take people out of something they're great at and put them into something they might not be so good at.

On the flip side, the best technical managers I've worked with were not very technical at all.

I did take the route of advancing into a CTO position. There were parts of it I really enjoyed, and parts of it I dreaded. Those overlapped predictably with the parts I was bad at...

I would do it again, for the right project. But with a much clearer understanding of which responsibilities I will take for myself, and what I which I will delegate.

My advice to you would be to focus on the parts of your job you love, and make sure you're getting the credit and rewards you deserve. If that means you're a Senior Developer for the next ten years, it should also mean you're getting profit sharing, an office (if you want one) and a recognized position as a driver of the company's future.


> The career path promoting great developers into managers (and eventually CTOs) tends to take people out of something they're great at and put them into something they might not be so good at.

Peter's Principle. The more professional experience you get, the more you realize it's not a joke :-)


So there's a slight cognitive dissonance here. Outside of an architect role - the only real way up is taking on more management tasks.

A lot of larger companies are seeing this as an issue so they are adding gradients to what a SSE is (SSE 1, SSE 2 etc) but really the answer is you're going to have to move up via a team leadership role and this means more management and less engineering.


A think it depends on what you mean by "management task." If you take the initiative to drive a really valuable project, can assume a leadership role while ignoring a lot of the tasks the company typically assigns to a manager, like performance reviews and meetings and ticket/bug metrics and timesheets and project plans and timelines and deadlines and fielding every request that comes your group's way.

Meanwhile a good leader will drive and inspire the team by making and pushing excellent design decisions, obtaining needed resources, doing the oxen's share of grunt work to get the project off the ground, and energetic mentoring of other developers.


This comment may be lost in the fuss but shouldn't be under-rated.

You are a senior - you have mastered the technical. Time to move onto to different kinds of problems.


In the places I've worked that were large enough to actually have names and levels and whatnot, manager/non-manager was always a totally separate dimension from job level. You could easily have a level N engineer being managed by a level N-1 manager. A level N engineer becoming a manager produced a level N manager, it was not a promotion.

So I've never seen how becoming a manager means going "up."


1. Most HR departments use "Senior Software Engineer" as a catch-all title for techies. Irrespective of the title that work gives you; you should name yourself as an Architect or Technical Lead or Consultant, or all of the above for the various roles that you've done (any other role that you can back up with from your experience and skills). So long as you've been doing that work there is no harm in that. Your skills and experience should back you up in the title, whether or not the actual title of the role was such. If you retain the title of Software Engineer, then that is all that recruiters will view you as.

2. Remember; YOU OWN YOUR CV/RESUME! You can write whatever you like and think will sell you best. Don't say you're a Chess-Grand-Master if you aren't but write that which sells you and your skills and shows them in the best light. You don't need to write everything; focus on your strengths and those areas that show your team leadership and advanced skills. Structure it appropriately and you'll be able to include all your skills (so you appear in search results) and target your strengths.

3. Look for some certifications in an area that interests you that if you tag to your resume/CV will give you the leg up you need. PRINCE 2/PMP/ITIL if you're looking for management leanings; MS/SUN/Oracle architect/DBA certs if you want to keep a foot in dev.

4. Get an MBA or MSc in a specialisation.

5. Find a niche - personally, I'm in Security, but there are plenty of others out there.

6. If your present company won't give you the opportunities, leave and find a place that will. If your skills and experience isn't recognised, then there's no point playing the sucker for them.

7. Double check yourself; the problem may be with you. Work on your soft skills: Make sure people like you (don't become a kiss ass, but just try to get on with people - especially managers); Work on your communication skills (Email, powerpoint, speaking, presenting, mentoring, documenting, making a proposal).

If you don't want to be a slave to a manager/HR hiring you, then you can always go the start-up route. I have little to no experience here, so I'll just leave that hanging as an option. :-)


While I agree in theory with #1 & #2, there's a very real element of danger there. Many places will only provide a reference for start date, end date and title/position.

If you self-grant and put "Lead Architect" on your resume and your reference check comes back with "No, that wasn't his title. His title the whole time was Senior SWE.", how's that going to look?

If you want to choose your own title, and you've been doing good work for your current company, propose a new title/role for yourself.

To the OP: if you want to find ways to have a bigger influence, but you don't want any stink of management to get on your hands, you may have a long road ahead. While you don't necessarily need to formally lead (and review, set comp, etc) as a career manager, you're probably going to have to do things that look a lot like management of one form or another: technical, project, career/people, or a mix. It's hard to have a significantly larger impact without doing something beyond individual contributor work.


I don't know what to say — we're super aggressive in my company about promoting talent to technical leadership roles. I run a small (22 person) product/professional services company.

I think it might be the companies you're working for. If you're talented, and you've talked to your boss about it, she/he should respond in the shorter term with an opp. to accomplish your career goals. Or you need to leave the company and get a technical leadership job.

You might just be too tolerant to the paycheck.

I think that's why so many posters are suggesting you start your own startup. Get aggressive (politely) about what you want. Once you know what you want, the world either responds or whatever limits that circumstance goes away (if you're really clear).

My 2c. Startup or be clear with your boss or company switch.

< blatent advertising > BTW, we're hiring tech leads. :) If you do Drupal or Mobile, email me. :) And no, this does not affect my advice... I'm just saying... < / blatent >


Some companies have technical positions beyond Senior Engineer.

LinkedIn goes up the technical chain like so: 1. Software Engineer 2. Senior Software Engineer 3. Principal Software Engineer 4. Software Architect

All of our architects still code, I believe. Some quite a bit. There are also Engineering Managers, Directors, and Senior Directors, but this is going the management route. Most engineering managers here code a bit, and a few directors still code (or at least script useful queries for helping diagnose issues when working cross team)

I think it all relies on stepping up to the plate, either technically or managerially.


The game industry uses the title "Lead Programmer", which I like. A lead programmer supervises "Senior Programmers."

This role combines architecture, project management, and some light management responsibilities for the team. You're still writing code, but you have overall responsibility for the technical parts of the project. It sounds like you've held this position at least once, and succeeded.

Beyond this point, you'll either need to move to organization with a full-fledged technical career ladder (and try for a title like "Distinguished Engineer" or "IBM Fellow"), or pick up more management skills and go for "CTO" or "VP of Engineering."

I'm learning management skills, and enjoying it: There are lots of problems which can only be solved by changing an organization as a whole, and not just by writing code. Even if that code is very sweet.


As a word of warning, nearly every single lead programmer I know (in games) find that their schedule and responsibilities tend to expand to the point where they have annoyingly little time to focus on writing code.

The sole exception I can think of was a founder of the company -- he was able to effectively delegate management responsibilities and did not need to answer to anyone when he went into heads-down mode to work on a major task.


Several years ago, my producer forced me to stop coding, because it was cutting into my time to manage, and I was frequently becoming "critical path" since I couldn't stay focussed entirely on coding tasks.

I do miss coding. But, at the same time, when I want to play around (at home), I'm not completely burned out on it.


Here at SCEA (San Diego Studio), for programmers we have: Associate Game Programmer, Game Programer, Sr. Game Programmer, Staff Game Programmer, and Sr. Staff Game Programmer (of which there are none that I know).


First of all, forget titles. There's really a mush of random titles near the top now, and they can mean COMPLETELY different things depending on the company. Think about your job on a personal level. What skills do you want to refine? What skills do you want to learn? What skill do you want to flex every day?

I don't think that minimal experience managing will completely ground you, but if you want to be a CTO, start to think like one and learn the things that CTOs have to know. You can always start at a young company and grow into a role if you pursue it. Good, young companies like to hire hungry people who want to grow into their roles. You might also get advice from some good headhunters, who see people in your position all the time.


As a very senior (and hopefully talented) software engineer, you should be getting a fairly decent paycheck. Here two workable options, bound to get you the result you want, with a degree of risk: 1) Save money while working on "side-projects" at home. If and when one of them take off you should be able to fund through early growth 2) Join a very small, interesting start-up and take a relative pay cut for equity. If the start-up grows you will naturally assume a technical leadership role such as Director or CTO.


Folks who go beyond Sr. Engineer are very much into putting their ducks in a row -- with extreme prejudice. They become CTO, Consultant, Senior Member of the Technical Staff, Fellow, Startup Partner. That person initiates projects, begins the R&D, writes the proposal, estimates the budget, create slides and do presentations, evangelizes the ideas. You sometimes orchestrate prototype development if you don't get to put one together yourself. If necessary you take the idea and build a company around it.


You need to show your management that you can handle architecting a design from scratch or take a leadership role. Nobody will ever see your potential and offer you the role. You have to take the initiative and express your attitude on this. If they don't listen then you can switch your job to one where you have more control (i.e. a startup) or start a startup yourself.


Sorry to digress, but does an MBA in any way make the senior engineer to a management role go faster, in a software company?


May I suggest that you talk to some of the peers that you mentioned that have moved on to other positions. Ask them how the "strange leaps" came to pass.

You could also ask these peers how their current positions differ from that of a Senior Engineer. What is better, what is worse, what did they find surprising, etc.

Finally, ask the ones you really trust for an honest assessment of your strengths and weaknesses.

In my experience, many Senior Engineers have a hard time moving up to larger (in scope) problems or projects because it requires relinquishing ownership and control of subsystems (silos to use your term) to other engineers, other teams, and other companies. To do this well requires political skills many Senior Engineers lack.


Sounds like you should do your own startup. Then you can be whatever title you want.


The alternative track is 'research scientist'. That's the title where you get to play on the company's dime. Unfortunately, it usually requires a PhD and have a strong publication history.


Yeah. That's way not me. Not really interested in playing, anyway. Would rather ensure that I work someplace that's run well so I can go home and play with a clear conscience.


My first thought is that this is the sort of problem managers are supposed to help with. If yours is a good one, raise the issue with him. Failing that, my thoughts:

It sounds like the position you want doesn't exist at your company. The next steps:

1) Figure out exactly what you want to do. Write specs? Write the most difficult code? Mentor other engineers?

2) Look carefully to see if the position exists after all, with some non-obvious name.

3) If not, figure out what employer or class of employer would have such a position.

4) Apply.


Do you want to stay at the same company? There's always the option of moving on to something new with more opportunities. Being able to do that opens a lot of doors and one can climb the ladder quicker rather than waiting for someone to retire/leave. The reason I say this is because many companies only promote people based upon the company's need and not the individual worker's merit.


If anyone is looking for a product job, I just came across one of those rare awesome product jobs.

Mention that you saw the job listing via my comment on Hacker News and I'll split the "unusually large" referral reward with you or give the whole thing to your favorite charity.

http://asana.com/jobs#PM


I'm sorry but don't you a have a Project Manager position in your company for overseeing whole projects?


You must be a very capable senior engineer. Management will not promote someone who does good work, reliably.

You might have to gain some leadership experience in an alternative way. Something outside of your work like sports, charities, politics, arts - something that interests you.


Where I work, if one doesn't want to be a manager, he can go up by being Architect and then Senior architect. Those roles doesn't require leadership experience...simply, the best engineers who doesn't want to manage people will become architects.


If you want to move up and you don't want to be a low level manager, I see two options:

1) Join a company with a technical track for higly skilled individual contributors. 2) Become a consultant.


It's easy to become a CTO at a small enough startup.


Even in a team where there is no architect or tech lead, there's room for leadership. What parts of the process don't flow smoothly? How well is information shared within the team and to other groups that you work with? Who makes decisions about the planning and organization of dev projects? Who brings new hires up-to-speed and mentors them? There are lots of places where you can take on more than just dev work and you never know where that can lead.

Mind you, I don't see anything wrong with being a Senior Dev if that's what you're happy doing. In general, I think there's value in an experienced developer who enjoys their work, can articulate technical concerns to the non-technical, mentor new tech hires, and carry some institutional memory.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: