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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Ask HN: What should I do next for my career?

36 点作者 abhnv将近 3 年前
I&#x27;ve completed 5 years working as a MEAN&#x2F;MERN stack developer. Although since the last 3 years, my work mostly has been creating cli commands.<p>I used to like programming, but nowadays my work has boiled down to writing unit&#x2F;integration tests or just fixing bugs. The last major feature that I implemented was 5 months ago. I don&#x27;t want to work here anymore.<p>Should I work on solving LeetCode questions, and aim to get into FAANG companies. Or maybe try to go to Canada&#x2F;USA&#x2F;Ireland for a Masters in Comp Sci, because I don&#x27;t have good grades in my undergrad. I&#x27;ve never faced any difficulty because of my low grades in undergrad yet, but will it be a problem when I go on to become a software architect in the future?<p>I have stopped learning new things, and working on personal projects because of Dota2. I&#x27;m trying to leave it behind, but its hard.<p>I feel very lost as to what to do right now.

21 条评论

headcanon将近 3 年前
A few things that might help:<p>- Exercise if you&#x27;re not already doing it. Bicycling or swimming can be a meditative activity and get you outside some more<p>- Join another company, possibly even a startup thats doing something you find interesting or meaningful. The job itself probably won&#x27;t be that different but it will be a change of pace, and maybe if you believe in what the company is doing then you might get more meaning from your day job. If they have in-office culture and you&#x27;re OK with that, it could also be a good way to get out of the house and get some form of social interaction even if its work.<p>- Dota2 is clearly the escape, your brain has to choose between something hard and (in the short term) unrewarding vs something thats easy and immediately rewarding. Of course you&#x27;re going to gravitate towards it. Definitely take a break from it for awhile, but you&#x27;ll need to replace it with something else.<p>- If you really want to play a game, maybe try something like Factorio or Dyson Sphere Program, you&#x27;ll be exercising a different part of your brain than Dota2 and you&#x27;ll have something to show for your efforts even if its virtual.<p>- You could try making a game, its a very different style of programming than web stack and you have to do a lot of problem solving from scratch. Plenty of resources on youtube if you&#x27;re not sure what to make. I&#x27;ve found it very refreshing.
评论 #32580029 未加载
评论 #32580704 未加载
almost_usual将近 3 年前
&gt; I&#x27;ve never faced any difficulty because of my low grades in undergrad yet, but will it be a problem when I go on to become a software architect in the future?<p>No. Work experience building software that’s used matters.
评论 #32579936 未加载
r0b05将近 3 年前
It seems that you are missing a creative outlet in your current role so it would be wise to find it in a new role.<p>Uninstall Dota 2. It&#x27;s hard but you can do it. Channel that creative energy into a side project, an instrument or whatever else you find fulfilling. Furthering your studies is also a good idea but be prepared for the marathon that comes with it.
评论 #32579357 未加载
评论 #32579993 未加载
samsquire将近 3 年前
Start journalling your growth from this point onwards. Write down what you want to learn, what you want to accomplish. Then take steps every day towards your goals in your journal.<p>Write down your side project ideas and work on projects that improve your skills.<p>The idea of journalling is to get yourself to be reflective and adaptive to your situation.<p>Edit: write goals that are achievable and that you think you think aren&#x27;t. Why both? Over time some of your goals shall look different. You can bank on gradual progress. Everyone has the same 24 hours a day, try use them on things you enjoy and that work toward your goals.
评论 #32580015 未加载
ironlake将近 3 年前
&gt;I have stopped learning new things, and working on personal projects because of Dota2.<p>In most professions, people learn on the job and don&#x27;t have personal projects. It&#x27;s OK to work 40 hours (or less!) a week and not think about your job on nights or weekends.<p>I have personal projects that I enjoy. I usually only work on them a few days a year. They are strictly for my own personal enjoyment and I could not imagine a prospective employer caring or being impressed.<p>I learn new things by taking time out of my regular 9-5 workday, even if the things I learn aren&#x27;t directly related to my work. And my employer sends me to conferences for continuing education.<p>If dota2 is problem in your life, uninstall it. But it&#x27;s normal and healthy to pursue hobbies and interests that you enjoy after work. Literally none of the non-programmers in your company (e.g. sales, hr, finance) have personal projects. They go home and play dota2, or bake, or binge re-watch Downton Abbey.
eatonphil将近 3 年前
If you&#x27;re interested in learning more about tech, maybe go work for a developer tools or infrastructure company. They build compilers, databases, distributed systems frameworks, IDEs, etc.<p>If you&#x27;re interested in learning more about business, maybe join an early stage startup (Series B at most) and focus on customers.<p>If you want to get into devrel or technical marketing, start writing more. Write blog posts for your company blog (since you can presumably do this on company time) if you have trouble finding time to write for yourself. Use company time to attend conferences or meetups and&#x2F;or give talks.<p>You can also pivot into product management if you are interested in dealing more with customers.
评论 #32579708 未加载
smaps将近 3 年前
If you&#x27;ve been working as a developer for 5 years no one will care about your grades in undergrad, and a Masters in Comp Sci is unlikely to be worth the opportunity cost.<p>I would suggest starting to look for developer jobs at smaller companies or startups. You&#x27;re much more likely to be working on all kinds of things instead of being stuck in small areas of the code. Working at FAANG is likely to be the exact opposite where you&#x27;ll be a bit more of a cog in the machine that works on some small feature.
onion2k将近 3 年前
<i>I&#x27;m trying to leave it behind, but its hard.</i><p>Something being difficult is a reason to do it, not a reason to avoid it. Easy things get boring fast.
MattPalmer1086将近 3 年前
I generally get bored doing the same things for years. And if those things are tedious anyway, well! I&#x27;m surprised you&#x27;ve lasted 5 years!<p>Finding another job that offers you the opportunity to learn new things is what I&#x27;d recommend in the short term.<p>Longer term, it helps to have some kind of goal. What do you think would be an awesome job, even if you couldn&#x27;t get it right now?
评论 #32579915 未加载
cpach将近 3 年前
You might want to have a look at this article by Julia Evans:<p><i>Some possible career goals</i> <a href="https:&#x2F;&#x2F;jvns.ca&#x2F;blog&#x2F;2018&#x2F;09&#x2F;30&#x2F;some-possible-career-goals&#x2F;" rel="nofollow">https:&#x2F;&#x2F;jvns.ca&#x2F;blog&#x2F;2018&#x2F;09&#x2F;30&#x2F;some-possible-career-goals&#x2F;</a><p>Also: Consider saving up some money and then go travelling for a while.<p>Best of luck!
评论 #32580051 未加载
asdfzalsd将近 3 年前
It depends a lot what you want to focus on in life, if money is important and you want to build that nest egg, it may be worth going through the leetcode grind.<p>(tiny self promo, I built spacedleets.com which is a site that uses spaced repetition when you are doing leetcode prep, its free and hopefully will make the leetcode grind a lil less stressful :)
评论 #32580032 未加载
theandrewbailey将近 3 年前
Have you thought of working for a different company? Maybe a different technology? It sounds like you&#x27;ve been pigeon holed and you don&#x27;t like it. You can leave for another.<p>I got my bachelor&#x27;s degree almost 15 years ago, and never once have I wanted to get a master&#x27;s degree. Only do it if you have an extremely good reason to, as it doesn&#x27;t have much market value over a bachelor&#x27;s.<p>Becoming a software architect comes with experience, and credentials usually come in the form of industry or platform certifications, not degrees.<p>Don&#x27;t worry about learning potential work related things or tech projects outside of work. That&#x27;s <i>your</i> time, not your employer&#x27;s time. Go outside, touch grass, and feel sunshine.
评论 #32580127 未加载
ChrisMarshallNY将近 3 年前
<i>&gt; I have stopped learning new things, and working on personal projects because of Dota2.</i><p>Might be worth looking at. In my own life, I have had severe issues with video games, in the past. I use a Mac, though (the worst video game platform on Earth), so that limits my ability to get too compulsive.<p>It can get bad, for me, but I know that I&#x27;m a bit of an outlier.<p>When I stopped compulsing on video games, my &quot;nights and weekends&quot; projects took off, in a big way.<p>The rest is history.<p>Good luck.
评论 #32580461 未加载
KMnO4将近 3 年前
&gt; but nowadays my work has boiled down to writing unit&#x2F;integration tests or just fixing bugs. The last major feature that I implemented was 5 months ago.<p>In that case, stay far away from any Fortune 500 (FANG or otherwise). It takes a LOT of work to move a boulder, and smaller companies are much more agile.<p>In my personal experience, I find 20-100 person companies to be ideal for giving you freedom to work on the cool things.
iExploder将近 3 年前
hey I believe I have the &quot;street cred&quot; to answer this with my 5k+ hours of dota2 not counting the endless nights of playing dota at uni while it was still just a w3 mod unlike the hours recorded by steam, a monumental slap to ones procrastination.<p>first of all I recommend uninstall as a priority. the beginnings are hard, you definitely need to find a way to break the cycle work-&gt;going home-&gt;playing dota by finding appropriate hobby, preferably something physical<p>as a developer with sedentary&#x2F;stationary job you _MUST_ be physically active in hours outside of your job, especially if you plan this to be a career spanning multiple years. Balancing out mentally difficult job with physical activity will improve your mood, concentration and performance at work as well. I have seen a lot of my colleagues going to their mid 30&#x27;s with back problems, chronic migraines, eye problems (redshift the damn monitors guys...), diabetes, general unfitness, etc...<p>I recommend walks, cycling, running, combat sports, hiking, anything you can do daily and be as active as possible...
bobkazamakis将近 3 年前
&gt;I have stopped learning new things, and working on personal projects because of Dota2. I&#x27;m trying to leave it behind, but its hard.<p>...oddly enough I found the most success by maining techies (pre-rework), planting mines, blast off -&gt; write code while respawning. rinse and repeat, enjoy mine kills and stop worrying about rank&#x2F;outcome.
chitowneats将近 3 年前
Your grades in undergrad do not matter at all. I cannot stress this enough.
评论 #32580258 未加载
xwowsersx将近 3 年前
&gt; I have stopped learning new things, and working on personal projects because of Dota2.<p>The reality is that some people at some times are capable of spending a significant portion of their personal time pursuing new skills and technologies, but not everyone can and that&#x27;s fine. I think that either way, relying on your own personal time and projects as the only forum for developing new skills is not a great way forward. Sure, you might have interests and want to learn things that exceed what you&#x27;re doing at your job, but you absolutely should feel that the job you are spending much of your day at is challenging and helping you progress as a software engineer. As soon as you feel that it isn&#x27;t because either you have learned all you can in your current role or because you&#x27;re interested in other things that aren&#x27;t really on offer in your job, that&#x27;s the right time to explore other opportunities.<p>&gt; Should I work on solving LeetCode questions, and aim to get into FAANG companies.<p>For better or worse, sharpening up the LeetCode-type skills does seem to be helpful when you start the interview circuit, but not necessarily and it&#x27;s a secondary concern IMO. From what you&#x27;ve said, it sounds like you need to get a better of sense of a) where you see yourself going medium-to-long-term (senior software engineer, tech lead...more?) and b) what technologies are you interested in?<p>To me, it sounds like you are just not really working on features and your job has become very prescriptive and limiting. From that standpoint, the fix seems a lot simpler and may not require a huge self&#x2F;existential review — instead, simply finding a company that wants to hire a proper software engineer who works on real features. Up to you what kind of product you&#x27;re interested in working on and with what tech.<p>So I would start there: is your near-term goal to become the best software engineer you can be? Then find a company with people smarter than you that is looking for a software engineer to work on core features with tech that interests you.<p>I have been in exactly the position you are in many times in my career and it&#x27;s a completely normal progression. You start somewhere and level up and eventually you have learned all you can or you&#x27;re interested in a greater challenge. As soon as you start to feel comfortable, that&#x27;s the time to pursue other opportunities (of which there are many). The people who stick around forever in spite of feeling completely unchallenged tend to do so because it&#x27;s comfortable and familiar — and there&#x27;s nothing wrong with that — but it is not the way to grow and progress. All of this is to say that you may not be as lost as you think you are. You&#x27;re simply experiencing a normal phase of &quot;time to look for other things.&quot;
评论 #32579827 未加载
bil7将近 3 年前
to help assist your dota quitting you could start by uninstalling the game and getting your fix watching pro dota streams instead. All of the fun with none of the toxic teammates
评论 #32580667 未加载
matt-w将近 3 年前
I&#x27;ve certainly been where you are. It definitely sounds like you need a job change, but your next company should be selected with care.<p>&gt; I don&#x27;t have good grades in my undergrad<p>Don&#x27;t furnish that information. If the company asks you, bow out - it&#x27;s an absurd question when you have 5 years of experience.<p>A masters won&#x27;t help you much and I wouldn&#x27;t recommend it in your situation. It&#x27;s the kind of thing a person thinks about when they feel stuck - I&#x27;ve had the same impulse at every career junction.<p>&gt; Should I work on solving LeetCode questions, and aim to get into FAANG companies<p>I&#x27;d certainly recommend LeetCode, but not just for interviews. There are benefits to it that nobody mentions: your initial code correctness, your debugging skills, your communication skills, and your familiarity with your programming language all go up.<p>I just went through this process and the time investment has paid off quite well. I used to hate LC and thought I wasn&#x27;t capable of landing any job, let alone a top tier job.<p>FAANG is good for compensation, but not necessarily the most exciting work, so keep that in mind. There are many non-FAANG companies that are good catches.<p>teamblind.com is a great resource for interview tips, if used carefully.<p>Expect months-long practice and to do a lot of interviews. Rejection is just part of the process. Interview with companies you haven&#x27;t heard of&#x2F;don&#x27;t care much about first. Respond to random recruiters who reach out.<p>Don&#x27;t forget to study for behavioral questions (STAR method) and system design (<a href="https:&#x2F;&#x2F;github.com&#x2F;donnemartin&#x2F;system-design-primer" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;donnemartin&#x2F;system-design-primer</a>).<p>For practical LeetCode tips - expect to complete a few hundred of them if you want to get into a top-tier shop. Speak out loud and explain as if you&#x27;re in an actual interview. Timegate yourself: 7.5 minutes for easy, 12.5 minutes for medium, 20 minutes for hard. These are very aggressive times. If you haven&#x27;t finished in that time, look at the solution, take notes, and understand it.<p>Here&#x27;s a Python script I wrote to help myself with this process. `pip install rich` should take care of the only external dependency. This script randomly selects LeetCode question numbers and creates a markdown file for note-taking. When I failed a question, I would stick it in `attempted` and it would come back up eventually.<p><pre><code> #!&#x2F;usr&#x2F;bin&#x2F;env python import random import sys from pathlib import Path from rich.console import Console LC_COUNT = 2218 TIME_LIMITS = { &quot;Hard&quot;: &quot;20:00&quot;, &quot;Medium&quot;: &quot;12:30&quot;, &quot;Easy&quot;: &quot;7:30&quot;, } crushed = {} mediocre = {} attempted = {} short_list = { # Blind 75 76, 102, 105, 124, 128, 143, 152, 153, 198, 207, 208, 211, 212, 213, 230, 238, 252, 269, 271, 295, 300, 322, 323, 371, 417, 422, 424, 435, 449, 1143, } all_lc = {num for num in range(1, LC_COUNT + 1)} untried = all_lc.difference(crushed) lc_options = short_list or attempted or untried or mediocre lc_options = lc_options.difference(crushed) if len(sys.argv) &gt; 1: num = sys.argv[1] else: num = random.choice(list(lc_options)) console = Console() def user_input() -&gt; str: return console.input(prompt=&quot;[bold blue]&gt;&gt;&gt;[&#x2F;bold blue] &quot;) console.print(&quot;LC:&quot;, num) base_path = Path.home() &#x2F; &quot;LC&#x2F;&quot; for existing_path in base_path.glob(f&quot;*&#x2F;{num}-*.md&quot;): console.print(&quot;File already exists:&quot;, existing_path) exit() difficulty = &quot;&quot; while difficulty not in TIME_LIMITS: console.print(f&quot;Difficulty {list(TIME_LIMITS.keys())}:&quot;) difficulty = user_input().strip().capitalize() name = &quot;&quot; while not name: console.print(&quot;Name:&quot;) name = user_input().strip().replace(&quot; &quot;, &quot; &quot;) url_name = name.lower().replace(&quot; &quot;, &quot;-&quot;) path = base_path &#x2F; f&quot;{difficulty}&#x2F;{num}-{url_name}.md&quot; template = f&quot;&quot;&quot;# Problem: {name.title()} https:&#x2F;&#x2F;leetcode.com&#x2F;problems&#x2F;{url_name}&#x2F; *Difficulty:* {difficulty} *Status:* Untried *Time:* ? left out of {TIME_LIMITS[difficulty]} minutes # Notes: # Attempts: ## Time: O(?) Space: O(?) ``` ``` # Solutions: ## Time: O(?) Space: O(?) &quot;&quot;&quot; if path.exists(): console.print(&quot;File already exists:&quot;, path) else: console.print(&quot;Creating file:&quot;, path) with open(path, &quot;w&quot;) as outfile: outfile.write(template) console.print(&quot;Done&quot;, style=&quot;bold green&quot;)</code></pre>
评论 #32580207 未加载
steve_john将近 3 年前
In the coming years, MERN Stack is highly to be used extensively since more and more applications are now built in JavaScript. It is the most sought-after language that serves both the front-end and the back-end side, doing away with the need for context switching.
评论 #32579590 未加载