<story><title>Levels of Seniority</title><url>https://roadmap.sh/guides/levels-of-seniority</url></story><parent_chain><item><author>jaredgorski</author><text>I’ve seen ex-engineers in management positions (one very well known and experienced engineer in particular) forget how important it is to offset technical debt. I think, more than naïveté, product managers just become consumed by feature-making and feel unproductive if there’s not a constant rush to hand new features off to engineering (which are then rushed to release).</text></item><item><author>JMTQp8lwXL</author><text>You&amp;#x27;re right-- nobody wants to hear about refactoring. Management instead hears &amp;quot;time sink and no additional revenue&amp;quot; (which isn&amp;#x27;t true, since too much technical debt reduces velocity-- but you&amp;#x27;re the engineering expert, not management. For a moment, let&amp;#x27;s forgive their naivete). So when you pick up tickets, build more time into your estimates. Adding 30% more time to your estimates isn&amp;#x27;t crazy, since estimates are often wrong, and people frequently go over them. This really is a communication issue with how you package up your discussion of time allocation to management. Before exiting industry, I would consider giving this strategy a try.</text></item><item><author>zackmorris</author><text>I wish that the article mentioned the fourth level of seniority: graybeard. Bluntly, that&amp;#x27;s any developer over 40. But in terms of mindset, it&amp;#x27;s more like having multiple years of experience in a discipline spanning 2 or more eras so that you begin to see solutions outside of the immediate problem space in front of you.&lt;p&gt;So for example, a graybeard in the 1990s knew desktop development as well as the web. In the 2000s it was probably web and mobile dev, then NoSQL and reactive programming in the teens. Today it might be digging up old sysadmin knowledge for containerization, or applying functional programming to big data and machine learning problems. Maybe the definition gets fuzzier over time :-P&lt;p&gt;The problem with all of this is the danger of being put out to pasture. I hit an existential crisis last year where I stopped seeing things in code and started seeing everything like this big spreadsheet that I had to keep consistent. Satisfying multiple constraints in very large search spaces started giving me decision fatigue and I reached a point where my productivity fell below the junior developer level. Like, I&amp;#x27;d be given a ticket to fix a bug in a view controller and discover that the problem was actually due to an incorrect relationship in the database schema from 10 years ago. After awhile, nobody wanted to hear about refactoring, they just wanted it to work, and we began the long death march of playing whack-a-mole with technical debt. It felt like there was nothing for me to contribute, and I burned out.&lt;p&gt;Now I don&amp;#x27;t know if I should continue programming, or try to transition to being a mentor in a management role, or get out of the industry altogether and move to something like renewable energy and build stuff in the real world. I&amp;#x27;m still struggling, so any thoughts on this would be much appreciated.</text></item></parent_chain><comment><author>ebiester</author><text>It&amp;#x27;s worse. There are two cases I&amp;#x27;ve observed.&lt;p&gt;The first is that some of these managers never really understood technical debt in the first place. They ascended to the position because they were willing to do &amp;quot;what it takes&amp;quot; to get the job done, with a &amp;quot;can do&amp;quot; attitude that often meant bowling over those who tried to keep sanity.&lt;p&gt;The second is the people who learned the right way, got into management, and then were crushed by the deadlines and expectations and the only thing they could figure out (while keeping their job) was to acquire more technical debt until it wasn&amp;#x27;t their problem anymore.</text></comment>
<story><title>Levels of Seniority</title><url>https://roadmap.sh/guides/levels-of-seniority</url></story><parent_chain><item><author>jaredgorski</author><text>I’ve seen ex-engineers in management positions (one very well known and experienced engineer in particular) forget how important it is to offset technical debt. I think, more than naïveté, product managers just become consumed by feature-making and feel unproductive if there’s not a constant rush to hand new features off to engineering (which are then rushed to release).</text></item><item><author>JMTQp8lwXL</author><text>You&amp;#x27;re right-- nobody wants to hear about refactoring. Management instead hears &amp;quot;time sink and no additional revenue&amp;quot; (which isn&amp;#x27;t true, since too much technical debt reduces velocity-- but you&amp;#x27;re the engineering expert, not management. For a moment, let&amp;#x27;s forgive their naivete). So when you pick up tickets, build more time into your estimates. Adding 30% more time to your estimates isn&amp;#x27;t crazy, since estimates are often wrong, and people frequently go over them. This really is a communication issue with how you package up your discussion of time allocation to management. Before exiting industry, I would consider giving this strategy a try.</text></item><item><author>zackmorris</author><text>I wish that the article mentioned the fourth level of seniority: graybeard. Bluntly, that&amp;#x27;s any developer over 40. But in terms of mindset, it&amp;#x27;s more like having multiple years of experience in a discipline spanning 2 or more eras so that you begin to see solutions outside of the immediate problem space in front of you.&lt;p&gt;So for example, a graybeard in the 1990s knew desktop development as well as the web. In the 2000s it was probably web and mobile dev, then NoSQL and reactive programming in the teens. Today it might be digging up old sysadmin knowledge for containerization, or applying functional programming to big data and machine learning problems. Maybe the definition gets fuzzier over time :-P&lt;p&gt;The problem with all of this is the danger of being put out to pasture. I hit an existential crisis last year where I stopped seeing things in code and started seeing everything like this big spreadsheet that I had to keep consistent. Satisfying multiple constraints in very large search spaces started giving me decision fatigue and I reached a point where my productivity fell below the junior developer level. Like, I&amp;#x27;d be given a ticket to fix a bug in a view controller and discover that the problem was actually due to an incorrect relationship in the database schema from 10 years ago. After awhile, nobody wanted to hear about refactoring, they just wanted it to work, and we began the long death march of playing whack-a-mole with technical debt. It felt like there was nothing for me to contribute, and I burned out.&lt;p&gt;Now I don&amp;#x27;t know if I should continue programming, or try to transition to being a mentor in a management role, or get out of the industry altogether and move to something like renewable energy and build stuff in the real world. I&amp;#x27;m still struggling, so any thoughts on this would be much appreciated.</text></item></parent_chain><comment><author>TranquilMarmot</author><text>This reminds me of an article posted here a week or so ago (and posted many times before that) about working in a &amp;quot;feature factory&amp;quot;:&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;news.ycombinator.com&amp;#x2F;item?id=22335738&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;news.ycombinator.com&amp;#x2F;item?id=22335738&lt;/a&gt;</text></comment>