Earlier quoted context omitted.
Everything thinks the crap they inherit is terrible. Everyone thinks they can rebuild it in a far better way. Everyone then passes their project on to someone else, who thinks the crap they inherit is terrible.
I agree, and this is why I mentor my engineers to replace the phrase technical debt with specific qualities that are impacted by technical choices: * Resistant to future change * Won’t scale past x units * Prone to operational issues * Exposes us to liability or compliance risk * Increases ongoing maintenance costs Any large initiative to replace "crap" should map to specific product quality attributes that stakehold…
Things I Learned to Become a Senior Software Engineer
121–129 of 129 posts
Re: Things I Learned to Become a Senior Software Engineer
#122While it’s not impossible. I find it hard to believe anyone could become senior (in terms of actual skill) in two years.
This is a very subjective question. I think a senior engineer is an engineer who can develop features without hand-holding. The technical leader should be able to say, "Develop feature X. These are the requirements." and then not worry. But what "senior engineer" means varies from company to company. So it becomes a loose term.
What I want out of a senior engineer is dedication to a coherent whole.
Re: Things I Learned to Become a Senior Software Engineer
#123> Figuring out how to become a force multiplier sounds more valuable to me than a 10x developer. I'm always astounded by what people imagine a 10x developer is, especially some one who calls themselves a senior developer. Hint, they aren't a lone wolf who writes 10 times as much code as the rest of the team, doesn't deign to sit in scrum planning sessions and creates chaos with every pull request they self approve. M…
If programming were really engineering, you would need 20 years to be Senior. A Senior Engineer keeps the organization from making disastrous mistakes and unnecessarily complicated designs.
Since the title was squatted, actually-senior programmers are being called Principal Engineers. Do not make the mistake of calling yourself a "Principle Engineer".
Re: Things I Learned to Become a Senior Software Engineer
#124Re: Things I Learned to Become a Senior Software Engineer
#125Earlier quoted context omitted.
I agree, and this is why I mentor my engineers to replace the phrase technical debt with specific qualities that are impacted by technical choices: * Resistant to future change * Won’t scale past x units * Prone to operational issues * Exposes us to liability or compliance risk * Increases ongoing maintenance costs Any large initiative to replace "crap" should map to specific product quality attributes that stakehold…
This is why any of the "ilities" is a red flag for me. Don't tell me it isn't scalable, make it concrete. Tell me what specific numbers we're supposed to meet. Don't tell me it isn't readable, tell me specifically what the problem is.
Re: Things I Learned to Become a Senior Software Engineer
#126It seems millennial achievement medals have now become job titles. Two years to become a senior engineer out of college is a joke. You only just know how to work in a general sense in that time frame, domain expertise comes much later. After a University degree, you only really know what page in your textbook to turn to when you recognise a problem. I come from a mechanical engineering background and it probably take…
Re: Things I Learned to Become a Senior Software Engineer
#127Earlier quoted context omitted.
Usually leading engineer is called "Lead Engineer", which is step over Senior.
Of a small group? I'd ordinarily expect a "lead engineer" title to be overseeing 6-20 people.
Re: Things I Learned to Become a Senior Software Engineer
#128Earlier quoted context omitted.
I agree 100% with you Have worked as both PM and developer and now run my own very small software company A) two years senior engineer is like one of those consulting companies where everyone in 2 years becomes DIRECTOR B) In two years most new programmers have not even gotten their heads out of their asses C) You should refer to Outliers 10,000 hours to master a task And to that add 10,000 hours to make your first m…
How long are we going to hold onto this silly 10,000 hours thing? Mastery, and high levels of skill, are a combination of inherent talent + explicit effort (not passive time) + quality of experience. I have seen 15 year experienced engineers who are utterly useless, and 2 year engineers who are incredible in everything they do. Your description of a senior engineer is not a job one person should be doing. If you’re t…
Easy - until some other metric comes along to reliably replace it
It's a useful rule-of-thumb
It's not an absolute, and, had you bothered to read Outliers, you'd know that
But it's more fun to sit back and armchair quarterback others via anecdote, right?
Re: Things I Learned to Become a Senior Software Engineer
#129Earlier quoted context omitted.
How do you effectively lead a project? How do you balance requirements? How do you say no to stakeholders? How do you balance time vs quality? Moving someone up to a senior role is giving them the opportunity to take on more responsibility and develop their skills. Very few people are promoted to a senior role already knowing how to manage a team well or how to balance requirements. The expectation is that they've sh…
> Very few people are promoted to a senior role already knowing how to manage a team well or how to balance requirements. There’s more to it than that. If you’ve had a chance to work under someone who knows how to do the job (or someone who doesn’t, but you can see other groups that work well) then you have some idea how to do the job. It’s similar to programming, or any other job: you write good code and bad, and le…
A "senior" doesn't have to be able to lead a team (though they should probably learn)
If they're going the team-lead path, that's great
But it's not (and never should be) a "requirement" to be "senior"