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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Ask HN: How to know what I don't know, early in my career

25 点作者 StefanWestfal超过 3 年前
As the end of the year approaches I took time to reflect. I couldn&#x27;t finish all that I planned. Therefore I need to prioritize going forward. Somethings are easy to argue for. I.e. look at used techstacks and how they work together (React, FastAPI, sqlalchemy).<p>Now my question: With experience, what do you think is important as a software developer. What is something that juniors are often not aware off. Something they don&#x27;t know they don&#x27;t know?

13 条评论

tedyoung超过 3 年前
Avoid getting distracted by every new thing you read about, from frameworks to architectures. Focus first on the fundamentals of software development, which often aren&#x27;t taught:<p>1. Break things down into small &quot;complete&quot; steps. Nope, smaller than that. Nope, you can still break that down. Test-Driven Development can help here, not by making sure you&#x27;ve got good test coverage, but by encouraging you to break down the solution into small, testable pieces.<p>2. When learning something new, don&#x27;t copy-and-paste. Retype it if you have to, but at least understand _why_ that code will work, and maybe a bit about _how_ it will work. As you get more experienced, you can copy-and-paste, though you&#x27;ll find you&#x27;ll do that less anyway.<p>3. Related to 2 and the post about technical communication: learn how to concisely ask questions. The number of juniors (and seniors) asking questions, but failing to show the precise problem (or at least what they think the problem is), with enough code (but not everything!) to evaluate is...frustrating for those of us who want to help. Tell us what you tried, tell us what the errors are (precisely, i.e., here you want to copy-and-paste!), but do so with as few words as possible. This is _definitely_ a skill, so you&#x27;ll get better as you do it more, so pay attention to the questions you get in response to your question. Reflect on whether that could&#x27;ve been included in your original question.
Jugurtha超过 3 年前
&gt;<i>Somethings are easy to argue for. I.e. look at used techstacks and how they work together (React, FastAPI, sqlalchemy).</i><p>Are they? If you recursively try to answer the question &quot;why&quot;, I&#x27;m certain you&#x27;ll end up at some level of &quot;because uhm, because uhm... Because I saw someone else do it that way and haven&#x27;t given it much thought&quot;.<p>Conversations with beginners who know nothing to assume anything is a humbling experience. Some of questions they ask seem to cut right at your area of incompetence.
ozzythecat超过 3 年前
&gt;I.e. look at used techstacks and how they work together (React, FastAPI, sqlalchemy).<p>I see a vast number of posts on HN about React or some other web framework.<p>There’s more to software engineering than learning the latest flavor of how to render webpages.<p>Many projects don’t require the complexity of these frameworks and all the added middleware and layers upon layers of tooling.<p>These are bored people, who solve the same problems again and again, and invent new forms of complexity as if they’re undertaking the Gemini missions or Apollo missions.<p>It’s less about frameworks or specific tool chains. The biggest piece of advice I can offer you is to get out of your comfort zone, and learn to manage complexity and ambiguity.<p>This is what I didn’t know earlier in my career.<p>It’s not so much about quickly learning whatever new framework to once again solve the same problem people have been solving for decades. It is, however, about simplifying complexity, and thinking about how you or your team will support something in the future, will your solution be extensible as and when your product evolves, etc.<p>Work on projects where you solve problems that are hard to you. Work with more senior people whenever you can. Learn from them. Get comfortable with being out of your comfort zone.<p>But don’t burn yourself out. Drink water. Exercise. Don’t let your job become your identity.<p>Also, work on your communication - whether written form or verbal. Write clearly using full sentences. Be mindful that others may not have the context you have or don’t have the expertise you have in a specific. In fewer words, you want to convey a clear message.<p>Being able to communicate and break down complex topics will natural help you build influence and promote yourself in your career. The leaders will come to you for your judgement.
ranuzz超过 3 年前
Technical communication is really important and you get good at it with time, practice, experience and feedback. I define technical communication as a skill to explain any project to a fellow engineer. Either in person or in the form of a written document. This will help you understand your projects more clearly and also in future interviews where you will have to explain what you achieved in the past.
jakupovic超过 3 年前
Common security principles and how they are applied in daily use. For example Root Certificate Authorities and how they apply to having <a href="https:&#x2F;&#x2F;your-domain.work.securely" rel="nofollow">https:&#x2F;&#x2F;your-domain.work.securely</a> with no browser errors. Using bought and certs created by openssl command.
bamurphymac1超过 3 年前
&gt; What is something that juniors are often not aware off. Something they don&#x27;t know they don&#x27;t know?<p>The key is to keep on asking this question about every project you work on. The world is made up of innumerable little complexities and the faster you reach out for guidance on each domain the better.
71a54xd超过 3 年前
Even though I had great internships and lots of early startup experience, what I wish I learned earlier was how to simply deliver reasonably with my current skill-level and use that to level up in an org. I&#x27;m much better with this now, but it pains me to realize I have friends that have now leveled way above engineering and have made it into management positions and I&#x27;m just sitting here as a senior + engineer at a loss for words. When I&#x27;m deeply interested in what I&#x27;m doing I can grind 18hrs a day like nothing and crank out really cool shit, but when it&#x27;s not interesting I basically resort to scrambling to re-position or coast. If I actually developed decent leetcoding ability I&#x27;d like to think I could start avoiding this pattern?
aregsar超过 3 年前
In software engineering there are always trade offs between approaches. There are no silver bullets. Context matters. OOP vs Functional, Monolith vs micro services, DRY vs duplication, Unit tests vs integration tests, and on and on. Don’t blindly adhere to what is claimed to be the best way or the right way to build software
f0e4c2f7超过 3 年前
Read books like Designing Data Intensive Applications. As you encounter stuff you don&#x27;t know stop to Google it.
helph67超过 3 年前
Always remember the Pareto Principle, you will find it applies to most aspects of life. <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Pareto_principle" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Pareto_principle</a>
评论 #29701578 未加载
alexfromapex超过 3 年前
It’s easy to get this sort of information from people more experienced in what you’re trying to learn. I would ask around because that’s the easiest way to get the best answers without having to do a ton of research.
User23超过 3 年前
Pair with more experienced programmers.
评论 #29695154 未加载
ldjkfkdsjnv超过 3 年前
All of the highest paid jobs don&#x27;t care about technologies, they care about data structures, algorithms, and leetcode
评论 #29694538 未加载
评论 #29693332 未加载