top | item 22988809

Ask HN: Not smart enough to a programmer, where to take my life from here?

186 points| throwaway88p | 5 years ago | reply

So I've been working in the industry for a while, and as a hobbyist for a good bit of time before that. Currently my career have consisted of writing and maintaining simple CRUD apps, and to be honest I hate it. Its mind numbingly boring and I certainly dont want to spend my life doing that. I've tried to branch out into a number of different things, but nothing sticks. 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 in some applied method. Thi bis true not just for CS and software development, but other technical and mathematical subjects I've attempted to learn.

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.

163 comments

order
[+] godelski|5 years ago|reply
I may be off base here, but it sounds to me like you just aren't interested in the subjects. One of the biggest factors to learning is how much interest you have. There are tricks you can do to get yourself more interested, but it does take a fair amount of work and isn't always effective. But if you wonder why sometimes we can remember silly details or whole complicated plotlines from stories but can't remember a simple math formula, a lot of it is actually your interest levels. Your brain prioritizes the stories because it is interesting, you can relate, and thus form strong neural connections. It is much harder to do that with a math equation that is fairly abstract and not in constant use.

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
I think you hit the nail on the head here. This person tries to get us to believe they're stupid; but, if they believe that themselves, truly, then they're going to create self-fulfilling prophecies. They need to find something they're interested in to work on every day. 8 hours is a long time each day to be doing something, it's better if you're interested in it, so that at least some of those hours are fun.

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
I would strongly agree with this — learning and retention for me come easily when I’m interested, but are near impossible when I feel it’s irrelevant or I’m just not interested. Whether or not I’m gifted in something I’m interested in doesn’t really matter (and my suggestion is to not worry about this) since my interest gives me the perseverance and patience to learn and do well regardless of innate skill.
[+] benkoller|5 years ago|reply
I'd second that, somewhat. The things I'd consider myself to be good at are the things I care about. I can still quite clearly distinguish between personal and "business" interests, and don't feel a blurriness between both if I do not want them to blurr, but it is the one thing that has helped me (apart from being at the right time at the right place) to progress in my career.

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
Yeah, I guess the real question here is "do you love programming?" If you do you can make it work, it's a matter of not giving up and instead tweaking your learning system, practicing more and better, etc. If you don't you need to find another area.

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
Agreed. Interest breeds talent and competence. Interest may come from a deeper sense of purpose. The truth will set you free.
[+] thomasmeeks|5 years ago|reply
My intuition is that you’d get more out of therapy than a career change right now. This sounds more like burnout or a lack of interest to me. But framing it as a lack of intelligence says a lot about how you view yourself, which could make a career change much harder than it needs to be.
[+] samatman|5 years ago|reply
I'd like to elaborate on this, and strongly urge OP to see a psychiatrist.

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
It's possible, though I don't know you, that you're too smart to be a programmer.

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
This. My own suspicion is that you the OP is highly intelligent and recognizes all of these weaknesses due to his own intelligence rather than a lack of it.

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
Well the flip side is that being a programmer can get you access to a lot of interesting fields, especially fields which don't have an abundance of technically savvy people. These also tend to be fields that have strong humanitarian impact, or utility. I like solving people's problems and I can do that through code.

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
> Programming as a career is rarely fulfilling to anyone.

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
>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!

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
My advice in this situation is:

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
Yeah the good news is that if you find CRUD apps mind numbing then you are definitely smart enough to be a programmer.

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
Do you actually suck at this or do you have a great case of impostor syndrome (perhaps a pattern you're failing to recognize?)? You might be surprised at where you'd rank compared to the general population.

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
I am something you could consider smart; wrote first program as 6 years old, gave talks at conferences, worked on crypto-concesus algos, now I do research oriented consulting.

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
> I am something you could consider smart

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
Avoiding relationships is one of the dumbest ways to fight dissatisfaction.
[+] severak_cz|5 years ago|reply
> avoid relationship until your life is in order. Huge time sink and ruins concentration.

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
To be honest, this advice is a little prescriptive and facile, and you self admit that it's pretty limited. Giving talks at a conference, working on crypto-consensus algos and research-oriented consulting -- none of that really puts you through the experience of owning something long term which customers use. That's not to say I'd disagree with it (certainly not a be all end all). The inclusion of nofap and relationship avoidance is a little prudish and odd, but I can understand the draw of intentionally ascetic focus. Nutrition is 100% an often underestimated thing when it comes to productivity -- calibrating your diet pays dividends when it comes to maintaining productivity. Finally, the note that pattern recognition is basic brain function and everyone has it is true, the exhortion to stop reading crap like politics and twitter is probably correct if you binge read it and don't consume it in a healthy manner, and who really does? What you're saying is that there are a lot of things that are inside your control. What's really here to disagree with?

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
There is nothing in this comment that strikes me as real. Not only was it completely unnecessarily to condescendingly talk about how allegedly smart you are, the points you gave sound like they came straight out of a wantrepreneur youtuber's vlog.
[+] hyperpallium|5 years ago|reply
Diagnosis: bored.

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:

  notice what you _have_
  retained/understood/applied
  (especially in contrast with before)
[But the real problem is boredom]
[+] heldrida|5 years ago|reply
We only live once! Respect yourself and your feelings! Don't waste your energy listening to opinions of how you are supposed to feel, they are not you! People love to throw the buzz word around as if coding is the best thing ever...! The end users don't care! Employeers don't care! The people you create this things for don't care about how you feel! Find something that makes you happy and has a meaning in yours and other people's life! Beware that a lot of the people that tells you to take a break and that you're just tired, are not that sympathetic when you'd try to get back to the job market, where they'd ask you to go through 5 stage interviews and totally waste your time for no other reason then their own bullshit job. Be careful!

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
Hard to offer any kind of constructive advice without some indication of your personality or what you do enjoy.

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
The only fun I've ever had programming was making video games.

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
I don't think you are supposed to "find your dream job" or whatever. Work is just a slice of life, and I think you should try to find something outside work that makes you happy (art? forming a serious relationship and devoting yourself to it? anything, really). If you are so lucky that you work in IT, you don't have to do much more than the minimum to live a relatively comfortable life, and be able to concentrate on things outside of your work. That world is much bigger, and you surely can find something that makes you feel fulfilled.
[+] Alex63|5 years ago|reply
It's interesting to me that you say you did software development as a hobbyist before you made it your job. So presumably there was something that interested you enough to pursue it in your spare time. It would be interesting to know more about what does interest you, as opposed to the things that don't. Maybe you could provide more info?

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
Even CRUD apps can have fun stuff: APIs, live GUI updates for everyone else logged in when a user makes a change, security (both designing and pentesting), building your own toolbox for accelerating development of the next one, usage monitoring etc. Some of these will impress clients and make your superior recognize you as a talent. This will make it more fun and open up new possibilities all by itself.
[+] spyckie2|5 years ago|reply
just to add in -

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.

[+] musicale|5 years ago|reply
Sadly most people aren't particularly enthusiastic about their work, which is probably a huge waste of human potential, but it's not an unusual situation to be working just to pay the bills. Paying bills is good.

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
HI, have you been screened for ADHD/ADD? A number of the things you've said sound familiar to me. ADHD (generally) gets worse as you get older.
[+] pinkrobotics|5 years ago|reply
Do art. Find passion. Do passion.

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
yes, i tend to agree with the passion-part of this.

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
I had friends drop out of CS degree or IT career - they each went on to become successful at health & safety, physical education, statistics and formal project management. Theres limitless options but narrowing down your next move is the hard part... what aspects of work do you enjoy and perhaps go from there? dont kick yourself over choosing the wrong path, hindsight is 20:20
[+] goodcanadian|5 years ago|reply
I am a software engineer. At least, that is what my job title says. However, I would also find coding CRUD apps boring as hell. What I really am is a problem solver. Currently, I solve problems using code. I think the trick is to get into a company that has problems that interest you. Personally, I work with hardware and embedded systems.

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.