Ask HN: Not smart enough to a programmer, where to take my life from here?
186 points| throwaway88p | 5 years ago | reply
The typical suggestions for people in my situation dont interest me. These seem to be roles adjacent to what I do now and often, but closer to business then tech. These might include becoming a business analyst, technical salesman, fast tracking to management, etc. These are sound even worse to me than what I do now, and given the choice I'd just stick with development.
Now I'd likely have to return to some sort of schooling and I'm young enough to do it (I guess), but given my intellectual limitation and my stubbornness on what I take interest in, I'm not sure what options I have.
[+] [-] godelski|5 years ago|reply
So I would start at finding which thing interests you the most. What meets the job criteria that you are looking for BUT also excites you? Then focus on moving in that direction.
[+] [-] t-writescode|5 years ago|reply
And I will say, and I have often repeated that software development, programming, is a horrible job if you don't love it. Programming sucks if you don't enjoy it. It's too much thinking, too much abstracting, too much typing, too many meetings, and horribly, horribly boring - unless it's your thing, and then it's not.
OP, don't force it to be your thing if it's not your thing.
You may also have some depression. It may genuinely be worth seeing someone about that to help you navigate it and grow and cope with it. Depression is horrible, and any step that can be done to help yourself through it is a huge win for your own peace.
[+] [-] elijahparker|5 years ago|reply
[+] [-] benkoller|5 years ago|reply
What I'd take away from what both godelski and me are saying (if I were you): Find topics that sound interesting to you, dig your heels in, learn about those, play with the concepts. 9 times out of 10 something will come out of it, and if its just yourself understanding better what you're actually looking for.
[+] [-] farias0|5 years ago|reply
Programming is a very demanding trade, and I don't think you can do it just for the paycheck, you need to have some degree of passion for it. If someone disagrees with me about this I'd love to hear different takes.
[+] [-] sbussard|5 years ago|reply
[+] [-] dunce2020|5 years ago|reply
[deleted]
[+] [-] thomasmeeks|5 years ago|reply
[+] [-] samatman|5 years ago|reply
The answer to your dilemma might be a new career. It might be cognitive behavioral therapy. It also might be an SSRI or modafinil.
I have my guesses but they aren't at all interesting, the point is to get in touch with a professional who can help you figure this out.
What you're experiencing isn't normal, or inevitable, and it doesn't mean you're not intelligent. Although hey, you might not be, how would I know? I think that's the least likely explanation out of all of them.
[+] [-] cschep|5 years ago|reply
And maybe "programmer" is the problem. Be a _____ who can also code. Zed Shaw said it best in the final pages of learn python the hard way. Programming as a career is rarely fulfilling to anyone. But being a teacher/doctor/librarian/entrepreneur/warehouse worker/farmer/etc. that can code is a super power.
I'm basically talking to myself with this pep talk so I appreciate you bringing it up but.. let's both go find the thing that we like and apply programming to that thing!
[+] [-] geocrasher|5 years ago|reply
I can relate to some of these things in a way. When I was 15 I tried to teach myself TC++. I got hung up on pointers and thought that I just wasn't smart enough to understand them. Many years later I had somebody who helped me understand pointers and I realized that I just wasn't interested in learning past that point.
I had kicked myself many times for not following through on learning TC++. I thought that I was too dumb to be a programmer. Turns out I just don't want to be a programmer! Sure I can bash script pretty well and I can knock together some PHP to do something if I absolutely have to or even a little python, but I only get out those tools when I neede them to accomplish a primary goal.
It turns out that I'm quite good at writing, teaching, and identifying areas where specific tools can help the people who I am teaching. So I write, teach, and build tools as needed.
And just because I do them in bash or do them poorly in Python doesn't mean that I'm bad at programming. It just means it's not where my strengths are and that I focus on what I am good at and love doing.
I guess what I'm really trying to say is that you aren't a bad programmer. You're just better and more interested in something else and you need to figure out what that thing is and pursue it and put programming on the back burner as a superpower as was mentioned in the previous comment above this one.
[+] [-] joshvm|5 years ago|reply
Lots of people work as software consultants. It's really no different from physical trades - you know your tools, people come to you with problems, you solve them.
I do think a big factor is choosing what you work on though. It's a lot less fun if your projects are dictated to you, unless you happen to really enjoy your field.
[+] [-] b3kart|5 years ago|reply
I think this is unnecessarily controversial. "Rarely to anyone" needs evidence. Plenty of happy programmers around.
I get your (or Zed Shaw's?) point though. There's nothing wrong with wanting to be a programmer, but programming for the sake of programming is a fast way to get bored or to burn out. Programming is a tool. It doesn't hold inherent value without being applied to a particular problem. So find problems that you would like solved, or at least find out what sort of problems you enjoy solving.
[+] [-] dennis_jeeves|5 years ago|reply
Good way to put it. Programming is not a end in itself, it's a tool like many other that we use to navigate the sh*t called life.
[+] [-] madhadron|5 years ago|reply
1. Keep your job for now. This is a good time to have a paycheck. Think of it as chores to pay the mortgage. Maybe you'll get a dishwasher later, but for now the dishes gotta get washed.
2. Find a psychiatric or clinical psychologist and have yourself evaluated for mental illness. This is actually really important. Unlike physical problems where it's sometimes obvious ("I can't read the billboard by the road, I probably need glasses."), mental issues can make subjective impressions unreliable or misleading.
> I fail to understand, fail to recognize patterns, am too slow to understand simple concepts and never retain anything. Occasionally understand the individual concepts of something but then her completely lost when they're all combined
Too slow compared to what? Fail to recognize based on how many exposures? Taken together this feels like a learning disability that makes you slow to internalize material in the standard way, and you're not building up the mastery of the fundamentals enough before trying to combine them. Again, psychological evaluation is the way to go.
Also, don't look for work where you love it all the time. No one's going to pay you for that. What you're after is work that you can do and feel some basic satisfaction when you put it down for the day instead of being cast into a downward spiral by it.
You also are allowed to have other stuff that provides the meaning and enrichment for their lives. In fact, you should.
[+] [-] Avshalom|5 years ago|reply
Sooo... right now thanks to covid19 basically every class at your local community college is online try a GIS class, it's a little bit python, a little bit SQL, a little bit data science-y and sometimes you go fly a drone around.
Or you know something else, the point is there's plenty of fields that aren't explicitly tech adjacent that the ability to program at all gives you a somewhere between a head start and superpowers.
BUT also I'm with the other guys too, maybe talk to a therapist.
[+] [-] fencepost|5 years ago|reply
As far as retaining things, there's an awful lot of stuff where you don't need to remember the details - knowing something exists lets you go find details when needed, and the more useful items will stick with you after you start using them regularly. I'll use trees as an example - there are more different kinds of trees and ways to implement them than you can shake a stick at, but most programmers aren't going to need to implement any of them ever. Do you need to remember details about balancing, etc? Probably not.
[+] [-] throw3848yui|5 years ago|reply
Some points:
- pattern recognition is basic brain function and everyone has it
- you need PERFECT health to be smart; check testosterone, sleep, weight, nofap, exercise etc.. 90% people have brain fog for some stupid fixable reason
- there is nothing wrong with CRUD app maintenance if you make good money. Challenge is nice, but gets old very fast, unless it is a hobby.
- avoid relationship until your life is in order. Huge time sink and ruins concentration.
- stop reading crap (politics, twitter... )
[+] [-] b3kart|5 years ago|reply
Oh boy.
> 90% people have brain fog for some stupid fixable reason
[citation needed]
> avoid relationship until your life is in order. Huge time sink and ruins concentration.
A healthy social/romantic life is never a time-sink, unless you're extremely short-sighted.
[+] [-] fileeditview|5 years ago|reply
[+] [-] severak_cz|5 years ago|reply
I understood that some relationships can bring a unbelievable chaos in your live. Been there, done that.
But I think it's very very important part of your life and you can't really have your life "in order" if this question is left unsolved.
[+] [-] yowlingcat|5 years ago|reply
If we read between the lines here, it's clear that the OP is struggling not with what they were literally describing (somehow not being smart enough) and instead something different (burnout and maybe depression). And, if that's the case, then, as another commentator noted, "mental issues can can make subjective impressions unreliable or misleading" -- if this is the case, planning for increased productivity and mental hygiene (as wonderful as that all is) is probably not going to be a very useful next step. The next step is addressing the root cause, which is career dissatisfaction, potentially early career dissatisfaction.
First of all, OP, do you enjoy the labor and lifecycle of permanently helping your customers solve their problems? It's okay if you don't particularly care about the customers you are serving now while on the job -- you can change that. It's okay if you're not the star producer for the team -- you're still early on in your career, and so you're still learning to how to produce like a professional. What's important is that you at least somehow like the act of problem solving for customers, and that you are orienting yourself correctly to ensure you remain growing. It sounds like you feel like you're not growing anymore, or that you're stuck.
Why aren't you growing anymore? Is it a feeling, or a measurable issue with a very specific metric boundaries where it wouldn't be an issue? Are you running into problems inside your company or team? Do you think it would still be there if you were on a different team, or one at a different company? Do you think your issues have to do with purely internal factors or a mixture of both? Anywhere in between here could be possible, but if you're early career, just know that having experience at multiple companies really reduces a lot of ambiguity into things. Don't back project your identity in stone based off of a single work experience. Companies are a lot more chaotic free-for-alls than they are well run meritocracies, so it's not always easy to accurately trace back your track directly to your capability. Of course, as you do gather more data, you will be able to detect patterns and trends, but they'll be specific to you as a person. I think that's why it's important to work with a professional or in other way focus on healing if you're at the point of feeling burnt out, which is necessarily something that you have to spend some dedicated time recovering from (having been there before, it has taken me months before). For some folks, it can even be years.
First of all, you need to find a new job. Even if the new one doesn't work out, you need to collect data and experiences about what it's like at different companies. There's a world of difference between a stagnating train-car, a sinking ocean liner, and rocket ship. Once you've been on more than one and can figure out what kind of a situation you're in based on pattern recognition, it gets easier. You'll learn to figure out what you like and what you don't like. I aslo agree with the poster who says speak with a professional. It will take effort to find a good one, but keep at it. It's really worth it. There are so many things I used to think were insurmountable, or which were things about myself that were fixed in stone which I could never change, and that just really wasn't true. It took patience, mental flexibility, persistence and a lot of individual failures to end up getting to progress and momentum. If I had let individual setbacks permanently stop me, it would have been impossible to have gotten to where I am now. Don't give up.
[+] [-] xf1cf|5 years ago|reply
[+] [-] hyperpallium|5 years ago|reply
See other comments on interest. I'll address your thoughts. You're speaking casually, but your exaggerations can be dangerous when you're vulnerable:
> nothing sticks.
Not literally true that "nothing" sticks, since you later mention things you recall.
> I fail to understand, fail to recognize patterns
There's partial understanding and levels of understanding. You can notice progress by comparing your present understanding with before.
> am too slow to understand simple concepts
Here you admit you do gain understanding, but dismiss it. What is the threshold for fast enough?
> and never retain anything.
Again, not literally true that "nothing" is retained.
> Occasionally understand the individual concepts of something but then her completely lost when they're all combined in some applied method.
Again, you admit understanding, but dismiss it because of difficulty in the next step. Also, "completely" lost is not literally true.
---
These casual exaggerations are dangerous when you start to believe them, because they aren't literally true. Changing them won't solve the problem completely, but you'll see it more clearly and that helps to solve it! Advice:
[But the real problem is boredom][+] [-] heldrida|5 years ago|reply
If you do want to try later on and do something related with tech, not necessarily as a coder, have in mind the bizarre startup world! A lot of people get funding for simple business ideas! So try to live a fulfilling life and if you ever want to comeback do your own business and create a nice work environment for your team!
[+] [-] dasil003|5 years ago|reply
I'm skeptical of the idea that you're not smart enough. In my experience, becoming a good programmer requires some relatively low-threshold capacity for logical thinking combined with a tenacity for debugging and understanding how things work. Being a genius who picks up math and CS concepts quickly is far from required.
If you struggle with patterns and applications but are bored by simple CRUD apps then it may be the case that you just don't like programming that much. That would certainly make it very difficult to learn and retain anything.
Overall though, you sound more depressed than anything. If that is the case then it colors all perception of what you enjoy or don't enjoy, and probably should be addressed directly before making any major career decisions.
[+] [-] PinkMilkshake|5 years ago|reply
You don't have to be super smart to make games and I don't think you even have to like them. It's more the rich visual feedback that makes it fun. A game engine is like a giant virtual playground for your code.
And in video games there isn't really a "right way" to do anything. There are always weird problems to solve and hacky solutions are fun and even expected. It's the only programming where I've had some laugh out loud moments, like "why are the trees inside out and spinning around?"
There are some great game dev postmortems where you learn about the beautiful horrors going on behind the scenes to make a vision a reality. Game dev is forgiving like that. From the book 3D Math Primer for Graphics and Game Development: "If it looks right, it is right".
[+] [-] fabatka|5 years ago|reply
[+] [-] Alex63|5 years ago|reply
I agree with commentators who say software development can be a terrible job if you aren't really interested in it. I knew a lot of young consultants at Accenture when I worked there in the early 90s who hated the programming roles they were expected to do for the first couple of years. But most of them were not from comp sci backgrounds, and wanted to move into management consulting roles as quickly as possible.
Based on your comments about having trouble learning and generalizing, it sounds like you might be happier in a more process-oriented role. Or maybe you would be happier in a role that was more focused on personal interaction?
[+] [-] fegu|5 years ago|reply
[+] [-] spyckie2|5 years ago|reply
you're not slow, you're probably average. When you start working, all the things you can learn in a weekend quickly evaporate within 1-2 years of your working career. The only things left to learn are those that take 3 months or more.
These things take the right mindset to learn - continuing to think about them, tackle them, ignoring failure and coming back to it over and over because that's the nature of 3 month learning projects.
You may think you're stupid but you're probably average for a programmer. I do agree with the rest of the thread, you're lacking the spark - the thing that other people have that allows them to persist despite the challenge to figure it out.
Take a personality test, like MBTI, and use it to figure out your preferences. Introverted Feelers are usually smart enough (NFs) to do programming but hate it, it could describe yourself.
[+] [-] Sammi|5 years ago|reply
Really the only personality test with any strong empirical backing is the Big Five test: https://en.wikipedia.org/wiki/Big_Five_personality_traits
All other personality tests reduce down to the Big Five when you try to test for co variance.
[+] [-] musicale|5 years ago|reply
It's probably a good idea to keep your day job while you develop interests outside of work and investigate other job options. School can be good, but it can also saddle you with expensive student loans that take several decades to pay off.
[+] [-] oceanghost|5 years ago|reply
[+] [-] pinkrobotics|5 years ago|reply
Or,
Find love. Have children. Be a great parent.
Coding is just a tool, a means to an end, not a career. If you don't like using a keyboard/multimeter/hammer, don't work in an area that requires a keyboard/multimeter/hammer.
Painting and parenting can both be very rewarding, and make you very happy over a lifetime.
As for money, enough to get by, can be enough. Life doesn't have to be about ways to get money.
[+] [-] liziwizi|5 years ago|reply
use your free time to do things that excite you, things that motivate you.
a job is a job. you need it to pay the bills. if you can do a job that pays well and you can work in reasonable comfort, appreciate it. there a terrible jobs out there, be glad you don't have to do those.
but you also need passion to avoid getting burned out. if you can't find it in your job, find it in your life, in your hobbies, in your relations.
your job should just be a means to an end. it should support your private life: food, a roof over your head, security and your passions.
maybe visit a therapist to work out what triggers and excites you.
a change of scenery (changing your job) might help for a short while, but unless you work on the underlying issue, the problem will catch up and follow you around.
[+] [-] ssss11|5 years ago|reply
[+] [-] goodcanadian|5 years ago|reply
As for understanding new tools and techniques, I'm never able to do it unless I have a real problem that I'm working on that requires it. Toy problems and coding exercises won't work because the problem is contrived and isn't a real problem that needs fixing. Math, especially, is a wonderful tool, but I'm not interested in it for its own sake. This doesn't mean you are stupid.
So, figure out what you want to be doing and figure out who's doing it. If you are young enough to return to schooling, you are probably young enough to get an entry level position if your skills are a bit weak in the required area.