TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: Career trajectory? I'm terrible

14 pointsby hoboonover 10 years ago
hi, hn.<p>I&#x27;m in a fix, of sorts. All I&#x27;ve done in my career is fix bugs and I feel that I&#x27;m actually quite terrible at programming. I have no value in an engineering organization.<p>I&#x27;ve been on a few interviews and they always say I&#x27;m smart and have technical chops but not the experience they want. Even taking them at face value, I do realize that for someone whose been a software engineer for 7 years, I don&#x27;t have the experience of 7 years; more like 1-2 years a few times over.<p>How do people get good at this? Practice I assume. I mostly did embedded or c++ daemon work, again, fixing bugs. I know I did not satisfy engineering people at my last job; I tried to move in to a dev role and they said they were dissatisfied with me as an engineer.<p>I&#x27;m trying to learn more about programming and practice as much as I can but it feels like it&#x27;s so insurmountable. I can&#x27;t envision anyone wanting to hire me.<p>I feel like I&#x27;ve wasted the last several years and I should go away and do something else and let the real engineers work.

16 comments

lsiebertover 10 years ago
Dude, you sound like you are just depressed. You can&#x27;t read that much into things. We are surrounded by signals telling us how awesome other people are, because they show us what they are proud of, and only the coolest of that really get&#x27;s seen.<p>Second, remember the best companies hiring are still basically only a little better than 50&#x2F;50 at predicting success after 18 months, and success isn&#x27;t a simple thing. If you support developers they do a lot better then if you just throw them in the deep end, but still there are a bunch of factors, expectations, time demands etc. that can effect the perception of a programmer.<p>Third, coding ability isn&#x27;t a singular thing. It&#x27;s a mixture of various talents, skills, and knowledges that each programmer has to a certain degree.<p>But let&#x27;s say that you are a shitty coder. The truth is, with all the talk of rockstar programmers who do 10x the work of the normal, most coders are not awesome, and most code isn&#x27;t written by rockstars, and that code runs, and works, and ships&#x2F;is put into production. There are people who will hire you, and there is work for you, engineering work, that is a valuable contribution to a company. This is a pretty good time to be in tech, and there are plenty of positions.<p>Even if you lack innate talent, you can work to develop your skills and knowledges and become a better programmer.<p>Or it&#x27;s perfectly fine to do testing, automation, sys admin work, or take a management role.<p>Still, I think you are probably selling yourself short, because you feel discouraged.
评论 #9025181 未加载
pauleastlundover 10 years ago
This is exactly what good managers are for.<p>Go get _some_ job doing what you know how to do -- hunting down bugs in embedded C++ code is a skill the right employers will pay good money for. Don&#x27;t apply for full software engineering jobs if you don&#x27;t feel confident doing that. Be up front with your hiring manager about what skills you have now and what skills you want to develop. (&quot;Up front&quot; does not mean &quot;ruthlessly self-critical.&quot; Do not say, &quot;I&#x27;m actually quite terrible at programming,&quot; or, &quot;I have no value in an engineering organization.&quot; Say, &quot;I&#x27;ve done plenty of coding but to be honest most of my professional experience to date has been tracking down hard-to-find bugs and I think that&#x27;s where I&#x27;ll be able to provide the most value from day 1.&quot;)<p>Apply around to a lot of places, and look for somewhere that values the skills you have but also will allow you to develop into the longer-term role you want to hold. Make sure you meet your hiring manager before you accept a job, make sure you talk through this with him, make sure you look him or her in the eye and believe that they are a good person and are sincere about helping you grow into the next phase of your career.
评论 #9023828 未加载
topkai22over 10 years ago
Let&#x27;s break it down a little. First, you probably aren&#x27;t terrible at programming. I&#x27;ve seen terrible at programming, and if you are even LOOKING at code worth millions of dollars a minute someone thinks you are above average. Besides, you are actively looking to improve, which terrible coders don&#x27;t do.<p>You are in a technical space (C++&#x2F;embedded) that seems to have more than its fair share of technical machismo and bullying, so you may be picking up on that. And frankly, I get the feeling SF is much worse developer culture than the others I&#x27;ve experienced. You can find a different culture. I&#x27;ve spent some time doing C#&#x2F;JS&#x2F;SharePoint development for small teams and that is a completely different experience than writing a massively scalable ETL pipeline.<p>What is &quot;good at this?&quot; I think you are trying to say &quot;How do I become a technical ninja&quot; but I think you really want to ask (or what I want to answer) is &quot;How do I advance my career?&quot; In my opinion, the answer is pretty much &quot;Fake it till you make it.&quot; Pick something good you did and fly it to the rafters. You are apparently fixing bugs on a multi-billion dollar software platform- you&#x27;ll impress the pants off of many hiring managers with the scale you are working at alone. Advertise that. Make the conscious part of yourself believe and act like you are super-competent and people will start assuming you are. You&#x27;ll get that new job or possibly that internal advancement (although it sounds like your current org is wrong for you), and eventually your subconscious will start to believe it, too.<p>Of course, that&#x27;s hard if you are depressed. As other commenters have mentioned, go see a mental health professional, make sure you diet is healthy, get plenty of cardiovascular activity, and check on your sleep.<p>Good luck!
smt88over 10 years ago
Your #1 problem is self-esteem. I strongly recommend that you see a therapist or counselor. Self-esteem, confidence, mental health, and success are all deeply intertwined.<p>Your #2 problem is that you think writing code is the most important skill of a programmer. It&#x27;s not. <i>Learning</i> is. Are you a fast learner? If so, there are hundreds of companies that need you.<p>With a little additional training, you could be highly paid as a QA engineer or project manager (depending on your personality and enjoyment of those types of roles). Or, you could just find a small-ish company that would allow you to wear multiple hats: bug-fixer, but also programmer of novel code. You&#x27;ll get better as you go along.<p>You also keep talking about &quot;engineering&quot;. The majority of software companies aren&#x27;t writing code in a way that could be called &quot;engineering&quot;. It&#x27;s sloppy, and the developers are embarrassed by it. But that&#x27;s what you do when your time&#x2F;budget are very limited.
评论 #9023773 未加载
rifungover 10 years ago
You&#x27;re obviously depressed, and as a result being ridiculous. I&#x27;ve met many SDEs who are pretty poor developers, and unless they are completely fresh, they usually just aren&#x27;t good because they don&#x27;t care.<p>You obviously do care, and realize (and exaggerate I imagine) your shortcomings. Better still, you are trying to improve by asking here. So, I&#x27;d like to begin by saying that while you may (feel as though you are) not good enough, you just need to be patient because I&#x27;m sure one day you&#x27;re going to be awesome.<p>Now for more practical advice, I would say the best thing to do would be to just code more. That sounds stupid, but it really is the best thing to do. Even better would be to code with someone else on a project together, so that you can see each other&#x27;s code. I definitely learned a lot from reading other people&#x27;s code, either from learning new things or also from finding ways to improve their code.<p>If you can&#x27;t find someone else to code with, that&#x27;s fine, but try to read some code. Finally, I would really recommend you try to do a relatively big project. The reason is that when you work on small projects you don&#x27;t really have to worry about maintenance and thus code structure, but when you work on bigger projects having your code be concise and clean is much more important. Even having good style is important.<p>In any case, I&#x27;m sure you&#x27;ll be fine! Find something that interests you and keep doing stuff! If you can&#x27;t think of a cool project you can always go on HackerRank or Project Euler. Maybe you could even prepare for this year&#x27;s Google Code Jam! You could then start building your own little library for competition problems!
geebeeover 10 years ago
Ug, sorry to hear that.<p>Of course, I don&#x27;t know your specific situation. But I&#x27;ve had stints where my main job was to fix bugs and&#x2F;or add features to an existing code base, and I don&#x27;t consider it &quot;easier&quot; than designing and developing a greenfield project. In fact, I consider it considerably more difficult.<p>To fix a bug you typically have to 1) figure out someone else&#x27;s build and probably partially documented dependencies, 2) adapt to someone else&#x27;s programming style and conventions, 3) figure out what the feature was supposed to do without the benefit of the business context in which it was created, 4) figure out how that feature was implemented in code, and then 5) not just get into the mindset of the programmer who wrote it, but keep enough distance from that mindset to find the flaw.<p>In short, I consider &quot;bug fixing&quot; on a new and unfamiliar code base to be a pretty substantial mental challenge.<p>I wish the industry gave more credit to what you&#x27;ve been doing. I have found that open source communities do give a great deal of credit to people who can get up to speed quickly with a code base and do things like improve testing coverage, fixing bugs, or improving documentation.<p>That said, have you tried creating a side project? Probably the best thing to do would be to think of some software you think would be interesting, and try writing it. Pick a relatively new stack, and create a web app, or mobile app, or something that you think would be useful. I know, this is a lot of extra work on top of an existing job. But it might get you out of the rut.
AnotherMarcover 10 years ago
Reading through your responses, I&#x27;m not sure I can give you great advice because the two large software companies I&#x27;ve worked at welcomed moves out of what you call sustaining engineering. It was a pretty natural and repeatable process of fixing small bugs to fixing larger bugs to fixing bugs that impacted multiple areas of code. People would get assigned other people&#x27;s regressions to fix. At that point, even if a sustaining dev manager doesn&#x27;t want to let you go, the new dev team will damn sure want to have you.<p>If you really are terrible at programming, or maybe you just don&#x27;t enjoy it very much, then explore something else. But if you do enjoy it, you have to figure out what&#x27;s going wrong before you can make a plan or get good advice to fix it. You say people were dissatisfied with you as an engineer. Why? If you ask a more senior engineer or a manager what you can do to improve, you&#x27;ll get a better answer than HN will be able to give you. But you have to be willing to hear some things that might not make you feel good. In the long run, though, it will be worth it.
评论 #9025172 未加载
JSeymourATLover 10 years ago
&gt; How do people get good at this?<p>Embrace the suck of your underachievement and get busy learning to master your craft. Lots of guys have been in your shoes before, you might find Robert Greenes book a timely read&gt; <a href="http://www.goodreads.com/book/show/13589182-mastery" rel="nofollow">http:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;13589182-mastery</a>
评论 #9023839 未加载
fskover 10 years ago
Maintaining someone else&#x27;s code is MUCH HARDER than writing something new.<p>Any business older than 2 years needs someone to maintain their existing codebase, rather than rewriting it from scratch for each new employee.<p>Maintenance is seen as lower status, even though it&#x27;s usually much harder than new development.<p>For my current job, I&#x27;m doing mostly maintenance, even though I thought it was a combination of maintenance and new development when I took it. When I go on interviews, when I say &quot;I&#x27;m doing 100% maintenance now and would like to get back to a job where I&#x27;m doing new development.&quot;, they always respond &quot;Oh, your unqualified to do new development.&quot;<p>So it is kind of a career death spiral. Once you have several bad jobs, people assume you&#x27;re unqualified for anything better.
dpatterson2008over 10 years ago
I fully understand how you feel at the moment. It&#x27;s not the case you&#x27;re a bad programmer. As someone mentioned it could be down to a number of factors. You could be just burnt out and need a break. Alternatively you can always decide to work on something outside of work that can help sharpen your skills. Currently at my place I got moved from doing bug fixes&#x2F;client work to doing testing. I feel as though my development skills are no longer being put to use and I want to say something but do not know how to. But the best thing I do and recommend you do is try not to let it get you down and keep actively learning.
评论 #9025191 未加载
lognover 10 years ago
You&#x27;re a maintenance programmer. And a C++ one at that. That&#x27;s a hard job. I think you&#x27;ve been trying the live up to the standard of people in the JavaScript&#x2F;valley bubble where each week a new NPM module comes out that&#x27;s going to revolutionize the world. Get that out of your head. Apply to jobs where you skills are an asset, and a job where you can ultimately move horizontally to something better to your liking.
ngcodeover 10 years ago
I would suggest go to <a href="http://hackerrank.com" rel="nofollow">http:&#x2F;&#x2F;hackerrank.com</a>, try to solve some problems, start from warm up section and move up. Search on internet for alogrithms etc before you look at other peoples code. That will give you a lot of confidence and will help you identify the areas where you lack and need to improve.
评论 #9049097 未加载
jhildingsover 10 years ago
Maybe you can try to move to a team leader position or similair? You seem to have great experience with a lot of different bugs and strange user cases, and know which questions to ask programmers in a team etc
panamafrankover 10 years ago
You probably burnt out long ago, you should try and reset, go travel somewhere but do it slowly like by bike or by foot.
lingua_francaover 10 years ago
u don&#x27;t seem to have taken any initiatives in ur jobs. E.g. the systems u have fixed bugs for, do u really understand how dots are connected? have u used profiling tools to analyze its performance and tried to improve it? have u tried rewriting most critical parts to do things in different ways?
评论 #9023789 未加载
评论 #9025122 未加载
gargarplexover 10 years ago
Have you considered jumping into QA and becoming a leading professional in that space?