TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: How to become a ridiculously good back end staff eng?

77 点作者 andher将近 4 年前
A bit of a click-baity title, apologies. I&#x27;m a senior eng and want to really push myself to better levels. My non-tech skills (comms, collab, leading) are one of my strengths and I&#x27;m constantly trying to make them better. I constantly keep feeling that I don&#x27;t know enough tech stuff, there&#x27;s a ridiculous amount to learn and foundational blind spots and holes that keep cropping up.<p>One of the questions I try to ask myself is, if I joined a new team or company, what skills would I need to really help the team succeed quickly and effectively.<p>A lot of ya&#x27;ll have been around the block a lot, and either been or worked with such folks. Your insights would be super appreciated

15 条评论

anonuser123456将近 4 年前
There are a lot of not-sexy but highly impacting skills in systems programming.<p>For example, the most productive person I&#x27;ve ever met, is a master of shell script, all the various shell tools (with obscure flags and usage modes), has deep knowledge in the use and application of makefiles, is a perl wizard and knows lots of tricks for virtualizing&#x2F;replicating things in non-obvious ways.<p>When this person wants to automate a task, he can do it immediately, without having to think about &#x27;how do I xxx&#x27;. It just flows from his fingertips because he knows all of these &#x27;basic&#x27; things. Since so many things in SW are automatable, this gives him a non-linear advantage against nearly all his peers. He can dedicate 50% of his time building tools that act like a multiplier for the 50% of his production work and gets 500% done.
评论 #28147127 未加载
评论 #28160911 未加载
PragmaticPulp将近 4 年前
Ship code that works, do it quickly, and do a lot of it.<p>A common mistake is to focus too much on the technical aspects and not enough on shipping. It’s easy to get lost in over-engineering the hypothetical perfect system that doesn’t ever shift to customers. You don’t want to be that person.<p>Instead, focus on simplifying implementations and shipping simple, trustworthy code as quickly as possible. A reputation for getting things done will go a long way.<p>Beyond that, focus on area under the curve. The more code you ship and the more tickets you work through, the more experience you’ll acquire. Cut through the time wasters and get coding as much as possible. Over a decade you can accumulate multiple times more experience than someone who moves slowly and puts in the bare minimum. This doesn’t mean kill yourself by working 50+ hour weeks, but it does mean you need to learn how to cut through the slack in a workday and eliminate procrastination and distraction. Learn how to get down to work and focus efficiency. It’s a learnable skill.
评论 #28146261 未加载
lacker将近 4 年前
When you are trying to become a good junior engineer, or a good senior engineer, it feels more like &quot;checking off the boxes on the checklist&quot;. There are many skills that are expected of you, and you should gain them.<p>But you are kind of past that point. There are a lot of different &quot;archetypes&quot; for being a really good staff engineer. You can become very skilled at a particular technology, or very knowledgeable about a particular product, or very politically effective within a particular organization. For different people, the best strategy here is different. It depends what you&#x27;re good at, and what you really want to be good at.<p>For your question - if you joined a new team, what skills would you really need? The answer is, <i>it depends on what the team needs</i>.<p>I think you might be focusing on the wrong details. The first step in taking your career further is to find a team that is a good fit for you. That means two things.<p>1. The team&#x27;s mission is big enough that it needs a staff engineer (or another staff engineer)<p>2. The skills needed for the role of staff engineer on this team are skills that you have or can acquire<p>On some teams it will just be impossible for you to become a staff engineer, because there just isn&#x27;t enough opportunity or importance, as perceived by the management. On some teams it will be impossible for you to become a staff engineer, because it will require a skill that just isn&#x27;t you. So go find the right team, and then it will be far more obvious what you need to do to become a ridiculously good backend staff engineer.<p>Feel free to email me if you&#x27;d like to chat more, I have been the engineering manager for a number of people who have gone through the senior -&gt; staff period in their careers....
评论 #28146432 未加载
legerdemain将近 4 年前
Get to be better than average at picking projects and tasks that have identifiable, meaningful deliverables. A history of highly evident impact is a huge part of a personal brand of success. Learn to avoid projects where the best outcome is &quot;fail less hard.&quot; Avoid being brought in as life support. Don&#x27;t be left holding the bag.<p>Obviously, green-field projects hold the promise of easy prominence. But you can learn to spot other opportunities that aren&#x27;t as obviously sexy, yet get you name recognition.
评论 #28147381 未加载
评论 #28151465 未加载
tedyoung将近 4 年前
Take time to reflect. A lot of folks focus so much on doing that they don&#x27;t take the time to take a step back and see what&#x27;s working and what isn&#x27;t. You might be shipping a lot of good stuff, but maybe you&#x27;re making assumptions too often, or making the same mistakes over and again, or simply not taking the time to just _think_.<p>Take time to share and listen. Teaching, mentoring, coaching, etc. others, especially those with less experience, is good, but is often done as a one-way transfer of information. Instead, find people who ask good questions (those with the least experience often ask the best ones) and be open to exploring those questions together. It&#x27;s hard, because you will base your answers on your experience, which is by definition limited (it is for everyone), but it may not be the right answer in all situations.
评论 #28146570 未加载
drx将近 4 年前
&gt; A bit of a click-baity title, apologies.<p>On the contrary, your attitude of &quot;I want to become ridiculously good at this&quot; will carry you 50% of the way there. Good luck!
_benj将近 4 年前
I haven&#x27;t been around the block a lot nor do I consider myself as &quot;ridiculously good&quot; but from my experience shipping is king, every time.<p>It&#x27;s very easy for us to focus on the tech and think that more knowledge, more performance or whatnot is the next level. While we have some superheros (John Carmack, Dennis Ritchie, Dan Abramov) that are famous for incredibly focus and deep technical skills, for the rest of us, we are evaluated on getting stuff done, reliably and consistently.<p>There are, of course, situations in which &quot;shipping&quot; has to do with performance (I once had to rewrite and algo from python to rust to gain about 100x performance), but in those cases it&#x27;s often explicitly defined as a business requirement, i.e. more revenue or lower expenses.<p>Another tool in my toolbox has been understanding better the &quot;business&quot; of coding, that is, how does software engineering work fits in the &quot;supply chain&quot; of a company, from idea to the sales guy making cold-calls. Two books come to mind, &quot;The Unicorn Project&quot; and &quot;The Phoenix Project&quot;.<p>At any rate, the desire to keep improving yourself, growing and learning it laudable!
评论 #28159616 未加载
Rd6n6将近 4 年前
If you pay deliberate attention, you will find that some problems affect projects dramatically more often or more severely than others. If those problems were easy to solve, they might not exist. If you learn to solve them, you will be a lot more valuable.<p>However, since this isn’t about listing trendy techs on your resume or l33tcoding, I don’t know if it will make you more in demand or not
pictur将近 4 年前
Don&#x27;t make simple things complicated. Simplify complex things. backend developers generally like to build complex crap.
cpach将近 4 年前
In addition to the good advice already posted, some links here that could perhaps be useful for you: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=28007862" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=28007862</a> (mainly the first two links in the list)
评论 #28159624 未加载
dyeje将近 4 年前
Internalize DDIA and go deep on some topic (databases, event sourcing, kubernetes, etc) that interests you.
austincheney将近 4 年前
1. automation. Write code that removes humans effort.<p>2. do hard things. Solve problems other people are incapable or unwilling to solve.<p>3. practice. Rinse and repeat until you get it right. Be insanely persistent.<p>4. humility. There is no secret sauce. There is no magic toolset, framework, or assistant to do your job for you or cheer for you. Toil in silence and repeatedly fail until you get it correct. That pinnacle of success is the expectation not an achievement.
wh-uws将近 4 年前
read this <a href="https:&#x2F;&#x2F;staffeng.com&#x2F;book" rel="nofollow">https:&#x2F;&#x2F;staffeng.com&#x2F;book</a> and decide which type of staff path you want to follow.<p>the author Will Larson <a href="https:&#x2F;&#x2F;lethain.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;lethain.com&#x2F;</a> goes into detail about all types of staff engineers<p>also follow him on twitter
rajacombinator将近 4 年前
The non-tech stuff seems to be most important at this level. One thing I notice some senior SWEs lacking is instinctive understanding of how prioritize and which tradeoffs to make to maximize their value. Beyond that it seems to be almost entirely political &#x2F; luck of the draw. Figure out how to play the game.
shakkhar将近 4 年前
Learn databases.