Those who aren't naturally good, what did you do to advance?
Posted by greasyjon1@reddit | ExperiencedDevs | View on Reddit | 91 comments
Title. Some people are just born with the aptitude, and some have the passion but have to put in the work.
For those in the latter camp, what is your story? Eye opening moments, breakthroughs, strategies, etc.
Cheers
riversilence@reddit
Started a Fight Club.
Science0girl@reddit
Ask so so so many questions. Better to ask a stupid question now than make a stupid mistake in 6 months
taco__hunter@reddit
Ok ok, start with having a family or people who rely on you. Then apply for a job you are not qualified for, ok, then get hired some how to this job. With me so far? Panic, get really good at job, super fast, all to not get fired. Now, repeat this every 1-2 years for a decade or longer.
skidmark_zuckerberg@reddit
I’ve never learned anything faster than by having the fear of god put into me. You’re not wrong lol.
Sensitive-Ear-3896@reddit
Where “God” is an incompet manager
rincewinds_dad_bod@reddit
I've got more management experience than my own manager from this bs
Running an engineering team, doesn't know why we can't make a third party api 20% faster this sprint and his best conflict resolution strategy is to say"let's all try to be more positive" and them the skip every future meeting on the topic
Sheldor5@reddit
or by destroying production (data) ...
Ill_Independence9029@reddit
Same 😁
FewBlackberry9195@reddit
yes, what pushed me into working at Amazon was getting married
Cute_Activity7527@reddit
Panic -> upskill -> panic -> upskill.
_NowakP@reddit
Don't forget about debt, so you can ride that "either I get paid, or I'm going bankrupt" line real hard.
big-papito@reddit
Pretty much. I had to sink or swim in my first job. Just a startup of four people, seriously underpaid, I mean SERIOUSLY, but in just one year I was a better generalist than those who have put in five.
snakebitin22@reddit
Most honest reply right here ^^^
OriginalTangle@reddit
Hmm. How many families on average before I become senior?
chaoticbean14@reddit
This is absolutely correct. Now for a little hot take. If you can, after stressing and doing the 1-2 year cycle for a couple iterations (especially if you're older-ish), go and find a job in the public sector - preferably in a cheaper cost-of-living area. With retirement matching if possible. Sure, you won't get paid as much but you will still get paid well. The stress level falls down by a large margin, stability increases by a large margin and if you play it right, you'll get a pension and can ride that job into retirement almost regardless of your real performance. If you were able to max your retirement (especially if they have matching), you'll have a nice rest of life.
Public sector life pro-tip: Education. Considerably less stress and you can enjoy extra days off with your kids, getting vacation days other jobs don't get, snow days in cold climates, summer benefits (sometimes reduced hours, but not reduced pay), etc. You will have (potentially) opportunities to actually get to know your kids teachers / admins / upper administration - so should something happen? It's a much easier conversation and you'll get the 'real talk'.
Quiet-Blackberry-887@reddit
Oh so what I needed was a kid!!
oVerde@reddit
Did it for me, two decades, but I don’t feel I’m good-good yet, my jobs don’t last two years, it is nerve wrecking to have a family and live under this stress jumping from job to job every six months
Synaqua@reddit
Shit. I gave an answer elsewhere in the thread but also massively this
Interesting_Debate57@reddit
This is why you need to start young.
The recipe for systems administration is to be the on-call guy who can fix things the fastest, any time day or night, under threat of the tiny business you work for going out of business if they're offline too long. Then, and only then, learn how to make systems redundant so that you don't have to do anything on-call as often.
I knew I had it made when new guys thought that having the pager was no big deal.
Impossible-Bake3866@reddit
Busted ass for a long time with bad pay and contract work before I got good
skidmark_zuckerberg@reddit
By being the dumbest person in a job. I always want to work with people who know more than me and frankly intimidate me a bit. My last role, I was focused primarily on frontend engineering. I worked with a guy who seemingly knew everything FE related and a lot BE to. Just an insane forward thinker, could deliver anything from the most vague requirements from people who didn’t know what they wanted, and could dissect problems like a surgeon. Knew when to speak up and push back, and when to agree. He could seemingly could hold a mental model of whatever in his head for infinity.
I knew this was someone I could learn from, so I always reviewed his PR’s and always added him as a reviewer on mine. I got to know him a bit, helped him many times after hours, and we’d just shoot the shit occasionally and as result built a good coworker relationship over my 4 year tenure. I could always tap him and have a discussion, even if it wasn’t work related. I got to the point that I was half as good as thinking about things as he was. Which meant I was 110% better than when I started. I hope one day I can be for someone what he was to me. And that motivates me to keep going.
CampaignAccording855@reddit
Yoh described exactly what my ist lead was to me. Oh man i miss him. Since then i have been on decline.
ShoePillow@reddit
Time for you to take up the mantle
wiriux@reddit
How? Lol
_Merxer_@reddit
Sometimes you just have to do some manual work to fix things like corrupted data. You can write a one time script, but if the script takes just as much time and has a higher risk, splitting the manual work in 2 is the faster and smarter thing to do.
I'm talking about 50-ish entries ofc. Not thousands of entries.
ohwordsentence_@reddit
PR approval for ci checks probably lol
hurley_chisholm@reddit
Being amazing doesn’t make you a god. Not even Superman can be everywhere, doing everything, all at once (no pun intended, I think…). Also, we all have things we don’t like to do and it’s helpful to have trustworthy people you can lean on to do their jobs and deliver.
morosis1982@reddit
I'm good at understanding complexity, I got good at turning that into implementation by writing and refactoring my own code.
I'm also exceptionally lazy and never want to just keep doing the same thing, so I aggressively automate parts of my job that I don't like. From scripts that I turn into documented shortcuts, to optimising things that just make my day better - years ago I was working on a code base that required us to compile the UX apps in a certain way, but it took literally forever, so I wrote an interpreter that worked as an app but read the definitions and just built them on the fly, took me like a couple days, I shared it with my fellow Devs, ended up being the solution we shipped.
I also love tests, because they save my lazy arse from needing to track down shitty bugs 6 months from when they were introduced.
jpfed@reddit
Few-Impact3986@reddit
I come in and sit at my desk and read for 30-60 mins. Part of your job is to know things. Long term sustained learning is critical to a career in CS and is part of your job.
gges5110@reddit
Mind I ask what kind of things do you read? Internal docs, codebase, tech blogs?
Few-Impact3986@reddit
So #1 thing for me is release notes for the tech stack you works on. Internal docs I don't usually include if it is directly what I am working on, but may other teams. Tech blogs, YouTube videos of conventions count. The point is to expose you to outside ideas that you may be able to integrate into your work. You should feel free to wander. Like you might read a release note for chrome or something and don't understand what or why a feature was made, so now you are down the rabbit hole.
gges5110@reddit
Awesome appreciate the response
RedditMapz@reddit
To be honest I think that about 99% of experienced working professionals are not "naturally good." I think many would describe me that way in my 20s, but I just had a fire in me that surpassed that of most of my peers so I spent a lot of time learning my craft outside of working hours. I honestly overworked myself in my 20s and my personal life did take a hit. Many people don't get that serious until their 30s when they have a family.
I think this career requires effort to improve. If anything I know many "naturally good" people who stagnated on skills because they thought they were too damn good to learn anything new. Languages keep improving, conventions, and tools keep improving. So you have to keep improving too while keeping an open mond. Stagnation can happen at at stage of your career if you let it happen.
Legitimate-School-59@reddit
What are some advanced language specific books you've read?
No_Pin_1150@reddit
I enjoyed learning about anything related to coding and even as I am older I goto interviews and show I know a ltitle bit of everything from constantly watching various tech/coding videos. But in reality as a pure coder I think I am below average. I have been hired 30+ times
pyrrhicvictorylap@reddit
Good social skills.
randomInterest92@reddit
Patience is key. Find a good balance between "getting stuff done" and "understand why it works"
Too much focus on "getting stuff done", makes you dependant on AI, docs, stackoverflow y other devs, YouTube etc.
Too much focus on "understand why it works" will slow you down so much that you don't gather any experience that's really valuable. Like debugging production etc.
roodei@reddit
this is the key
Frolo_NA@reddit
practice communication skills and develop good engineering discipline and habits
Few-Helicopter-2943@reddit
I'm an average programmer. Not a rock star and not the bottom of the barrel. What I really am tho, is detail-oriented. My code always passes unit tests. (It always HAS unit tests.) The layout is correct, my documentation isn't missing things, etc. A lifetime of coping mechanisms for untreated ADHD will do that to you. I've been doing this since 1996, and I fear interviewing because I don't think it captures what makes me good at my job very well.
moremattymattmatt@reddit
Soft skills FTW. Couple those with the ability to understand where the real value lies and you can make a much bigger impact than somebody who is very good at writing code.
Today for example I had a team discussing how to allocate pricing to different customers in a small multi-tenant sass system. They talked about adding custom metrics to all the serverless workloads and trying to get a to the penny cost allocation. Nobody has stopped to ask why this is needed or the cost vs value. In reality, just counting the number of coming events per tenant and divvying up the daily costs is more than good enough.
authentic_developer@reddit
The thing that compounded fastest for me was going back to code I'd written six months earlier and cringing at it deliberately. Not as self-flagellation - as a calibration. If nothing looks wrong, you haven't grown. If everything looks wrong, you're growing fast. Most people only look forward at what they don't know yet; the backward look tells you whether your learning is actually sticking.
PmanAce@reddit
Practice doesn't make perfect in our field but practice makes knowledge bigger and that knowledge helps making better decisions. Wrong decisions have snowball effects.
snakebitin22@reddit
Fail. Learn why you failed. Learn what not to do next time.
Rinse.
Repeat.
Hopefully retire someday.
nautitrader@reddit
Surround yourself with people more intelligent than you.
gyromaster99@reddit
I don’t think people are “naturally” good at anything, no one comes out the womb familiar with software design principles or how to read through a trace.
It all has to do with the quality of your learning methods and the time put in. True for anything!
Alert_Helicopter_357@reddit
Be likable, especially to your manager. Broadcast anything you accomplish. At 95% of companies that’s the job.
druidgaymer@reddit
I've just been coding since I was 12. I don't think I'm naturally good at it. I've noticed some tasks seem to take me longer than other people. But I do have that experience of being privileged enough to start young AF.
DixGee@reddit
I studied cs in my undergrad. I'm 4 years into my job and still can't solve leetcode problems. I'm not naturally smart and I don't have the passion to grind leetcode either. Just coasting thru my job at this point tbh.
GlobalCurry@reddit
leetcode only matters if you get laid off and need to find a job until the fad finally dies off because it's proven time and time again to be a bad metric.
DixGee@reddit
Every company big tech or small startup has pretty much adopted the leetcode style of interview with multiple rounds asking different problems. Sadly it won't go away.
TheTacoInquisition@reddit
I've been in the industry for over 15 years. I've moved jobs every few years, so have seen plenty of interviews. I've NEVER had to do a leetcode interview.
It's very avoidable, and IME limited to companies who have no idea about decent engineering.
Icy_Cartographer5466@reddit
What’s your TC though? In my experience, if you want the $200k+ base and $300k+ TC, basically everyone asks some leetcode style questions. I’m sure there are a few cases where that’s not true but every big tech company I’ve ever interviewed at has asked questions like that.
DixGee@reddit
This isn't true anymore in 2026. Leetcode and system design are unavoidable now.
TheTacoInquisition@reddit
I've literally just got a new job. Went through several companies hiring pipelines. No leetcode in sight, so no, it is very avoidable in 2026.
DixGee@reddit
You must be working a niche field with several years of experience.
TheTacoInquisition@reddit
Lots of years of experience, in web, doing one of the rather major languages on some of the most widespread tech stacks, so no, not niche at all. I've worked in various industries, and continue to move around into what looks interesting, so no niche there either.
You want to stop trying to move those goalposts yet?
GlobalCurry@reddit
That's what they said about the manhole cover questions 10-15 years ago.
binarycow@reddit
"good" comes in many forms.
Find your niche.
MaleficentCow8513@reddit
There’s a few crucial components missing from your equation which are needed regardless of aptitude or passion. Work ethic. Time management. Ability to prioritize. Learning new skills is a skill unto itself. No matter how much aptitude or passion someone has, they will flail if they lack the aforementioned. And when you have good ethic and dedication to the craft, you can mitigate a lack of aptitude. But also, I’d say software development requires a minimum threshold of natural aptitude which can’t really overcome. To put it bluntly, it’s not a job unintelligent people can do
The_Real_Slim_Lemon@reddit
It’s certainly not a job unintelligent people can’t get hired for though lol
JandersOf86@reddit
Preach it.
apartment-seeker@reddit
what is "good" here, what "aptitude"?
Substantial_Ad252@reddit
just do enterprise java and its fiiiine :D
Top_Bumblebee_7762@reddit
I never advanced and became one of those terminal mid-level guys.
kaisean@reddit
Everyone is bad until they're good.
demchaav@reddit
Apply for a job you're not qualified for. Get hired. Panic for 6 months. Repeat every 2 years. That's basically my entire career so far.
Skaar1222@reddit
I've never considered myself a cracked engineer, always dealt with imposter syndrome. I just always tell myself that those that are better than me had to learn the things I don't know yet. They had to read the docs, they had to study DSA, they were up late troubleshooting a complex bug. The more time you grind the easier the job becomes. Patterns you are familiar with suddenly keep showing up. It's kind of like a really hard game that you end up being really good at just because you like the pain and suffering of being terrible at first.
softgripper@reddit
I live on a saw wave of imposter syndrome 🤣
lostandforgottensoul@reddit
Agreed! Over time if you are determined to improve it will come. Talented colleagues along the way are a very good way of absorbing good ways of thinking and approaching problems.
Synaqua@reddit
Started as a grad in a startup that was breaking even, learned as I went, found niches to wedge myself into that others didn’t want to that fit my skillset, sorted processes out for things that were adhoc but repeating, became a guard rail to catch issues early / step in and sort them when they came up. As the company grew that sort of loop kept happening while my technical skills kept coming up and before I knew it was in charge of people somehow and then when I looked around for an adultier adult when I needed help there were far less than where I started from.
Basically engineering is a lot more than just the code side. Find a groove that tickles the brain enough to feed the dopamine or that the problem pisses you off enough to do something about.
It’s a trap though. I swear everyday I’ll say “I never planned to get this far man…” out loud around colleagues without meaning to.
magejangle@reddit
i'm kinda an idiot. i just worked at it until i cried in front of the computer. im self taught though so found a lot of things very difficult pre-AI. with AI now, learning is easy IMO
EliSka93@reddit
I think that needs a qualifier.
I agree that AI can be a good learning resource, but it can also make it hard to really learn, because you can just copy paste answers it spits out without actually learning anything.
AI can help you learn more targeted, but you still have to want, and try to learn.
ultraDross@reddit
Ah! I see I'm not the only one that uses this super nuanced and smart technique.
ReaderRadish@reddit
I just take a break and stab some fabric with a needle. Embroidery is very therapeutic. (Except when I stab myself by accident. Then there's swearing.)
skidmark_zuckerberg@reddit
Worked for 4 years pre LLM’s as self taught. Some of the hardest years on my life career wise. It took being super lucky in the right environments and having the right coworkers that wanted to help and not drown me alive.
I can look back and appreciate the struggle. AI has made learning incredibly accessible and easy now. 3-4 days worth of research and banging my head on my keyboard has turned into an easy going afternoon.
5olArchitect@reddit
No one is “naturally good”
wetrorave@reddit
Maybe, but many people are naturally bad, and have no hope of becoming average.
For those reading who are not that, congratulations!
gokkai@reddit
No one is "naturally" good, some of us have crippling obsession with it thats all.
superide@reddit
Those who don't have enough passion make up for it with discipline.
PhantomKing@reddit
I took the tickets that no one wanted to work on, even if the answers weren't laid out in front of me. I was always be available to help out. Being respectful to all my teammates. Speaking up in retros and 1:1's. Showing up to meetings on time and ending meetings on time or earlier.
Of course all of this was only possible in a company that actually cares about individual growth and treats everyone like adults.
For context, I barely passed high school. Went to a college for basic programming. No internship. Had to relearn everything at my first junior dev position dealing with stress, imposter syndrome surrounded by experienced developers, university grads, 10x engineers. Constantly overworked the first 4 years of my career. Took another junior position at another company cause I wasn't confident in my abilities. Thankfully that company was a godsend and supported me.
CathieWoods1985@reddit
Work longer hours. May not be the best answer but it is what it is
SignoreBanana@reddit
Worked my ass off. Usually stayed up late to work, spent weekends working. Stayed late at the office to work.
It got me to a lead/staff level but I'm done.
obelix_dogmatix@reddit
Maintain optics. Brute force through high visibility projects. I do believe I have to work “longer” than some of my peers.
Nervous_Onion_1533@reddit
Consider taking supplements to boost brain activity. They might help, as I often feel tired and feel like I have to exert much more effort than most people to complete any physical or mental task.
lulzbot@reddit
No one is naturally good, you have to put in the work
The_Real_Slim_Lemon@reddit
No one can skip doing the work, and no one starts out an experienced dev - but the skills and concepts certainly come much easier to some than others
anoncology@reddit
Stay curious, do my work, and go above and beyond when working. Practice.
UnStrict_Veggie@reddit
Slog like a donkey
meltedmantis@reddit
For me. Work hard and be clever. Play to your strengths, understand your weaknesses and learn to utilize the skills of others to fill thr gaps.