I liked helping smart developers who wanted to learn, I liked having a seat at the table to decide my own destiny and the level of autonomy to decide the “how”. I didn’t like the red tape, the political jockeying, meetings and more meetings etc. I wasn’t really learning anything that could keep me competitive in the market.
I finished the green field project they hired me for initially, put it on my resume, quickly moved on to a small company and negotiated not to be made a dev lead and said I could help meet their objectives better by being a free agent and moving from team to team as needed and mentoring the younger leads.
I absolutely love my job. I have far more influence, autonomy, and a larger voice than I ever did at the larger company I left. I still mentor and advise, but I only have the responsibility as an individual contributor. I also get paid more because everyone including the CxO knows what I bring to the table.
I was in a similar position at the first place I worked for after the company I was at for 10 years. I was just a developer but I carried the weight of their biggest customer by myself as everyone else was trying to create the next project. I survived rounds of layoffs until the company folded.
Lesson I learned: I like small companies.
The real sleezy thing is that by promoting someone to senior who isn’t nearly qualified at all, the company has now made it exponentially more difficult for these engineers to switch companies. Esp funny is the promotion of unqualified individuals to “project lead”.
I’ve seen many of these individuals move to next companies and revert back to standard level software engineer.
It’s never about titles - you need to be aware that companies are using the titles against you rather than for you.
Also it pisses off the engineers in your organization who do deserve a raise to see unqualified promotions. Its a one way ticket for a small company to very quickly lose its true talent (80/20 rule) and talent follows talent. Once you get a few supporting cast leave, even the actually qualified senior engineers won’t want to stick around longer because they will feel intellectually isolated as well as feel like the engineering management are inept.
I’m one of the three oldest developers - two of us are in our mid 40s and one in his mid 50s. The “architect” is well qualified but he has a lot on his plate. The other dev in his 50s also fought against being made a lead.
I usually don’t comment on downvotes, but I’m really interested in knowing what could possibly be offensive or disagreeable about this post.
After one year of moderate effort I too got the promotion, with almost no pay raise. The problem of giving everyone a certain title is you basically completely dilute any meaning or status it conveys.
I soon went on to FANG and am now a regular ol' Software Engineer again. But I'd much rather be bottom rung at a top company than a "Senior" whatever at a company where it means nothing.
- Technology/Career enhancement - where will this job put me in three years if I want to find another job
- Environment - I’ve grown increasingly picky about my environment and work life balance.
- Money - at least pay me the local median wage for what I bring to the table. Don’t insult me. But beyond that, money is the least important criteria.
A company of 20-50 programmers seems ideal to me now, with an overall company size of <300. I feel larger might require too much bueracracy and smaller might lose out on QoL and scale of work that can be accomplished.
What are some characteristics of a “expert beginner”? What did you realize you were lacking/weak points?
Unfortunately, you may not know until you get around people
who have been developing as long as you have on paper but have learned from other people.
But this is my go to list of books.