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: Why did you quit learning programming?

20 pointsby kirillrogovoyalmost 3 years ago
Maybe, HN is not the best place for this question, but something tells me there will be interesting stories behind it.<p>I saw a lot of people I knew start learning how to program. They did it in all sorts of ways: free courses, paid courses, books, schools, etc.<p>Almost all of them quit within weeks or months.<p>An interesting observation was to hear them describing why they quit too abstractly, too broadly. &quot;I didn&#x27;t like it.&quot; &quot;Couldn&#x27;t make the time to learn.&quot; &quot;Too hard.&quot; Things like that.<p>I&#x27;ve always felt that there&#x27;s so much more behind those answers. So much we could learn about why programming is so hard to enter, apart from the inherent domain complexity.<p>What&#x27;s your story, or that of someone you&#x27;ve seen quit?

16 comments

akagusualmost 3 years ago
Unfortunately, the majority of resources available to learn programming are made by professional software developers and they assume what people using their resources want to be professional software developers too.<p>So they start teaching you about IDEs, git, tests, docker and lots of stuff that is completely unrelated to learn how to program.<p>Think about it. Why should someone learn about testing code if they don&#x27;t even know how to code?<p>Sometimes, all people need is to learn enough programming to make their life easier, like automating Excel spreadsheet stuff or PDF stuff.<p>Unfortunately, there is nobody to teach things like that.
评论 #32082921 未加载
cafardalmost 3 years ago
Almost 50 years ago, I took a course in Fortran IV. Input was a pain, for the options were teletypes or punch cards. The class was interesting, in a puzzle-solving sort of way, and I got through it OK. I think the most interesting task was to create a craps-game simulation. The class was fine, but I was not aiming to be a mathematician, scientist, or casino operator. I lost interest.<p>Then some years later, I found that there was data over here that I needed over there, and that writing a program was going to be a lot more efficient that printing it out and typing it back in. I taught myself assembler, and went on from there.
s1k3salmost 3 years ago
My friends quit because they can&#x27;t see the value of programming immediately. You start by learning variables, how to multiply 2 numbers, how to print text to the console etc. So they fail to understand how that can be useful when their perception of programming is building cool video games, complex software or websites.
评论 #32083145 未加载
VoodooJuJualmost 3 years ago
I&#x27;m a few years in and I haven&#x27;t quit, but I probably should have.<p>I don&#x27;t have a natural aptitude for this stuff. If it takes you 1x of grinding to learn some programming thing, it takes me 4x. Although aspects of it can be enjoyable, like when a whole project neatly comes together, or when someone gives me money for the app I made, I find it to be quite a soulless and artless &quot;craft&quot;.<p>Nonetheless, I fell for the learn to code meme, I&#x27;m pretty invested at this point, I&#x27;m not half bad at it, I need some money, and this is the only lucrative skill I have, so I can&#x27;t quit now.
评论 #32081951 未加载
Olognalmost 3 years ago
The local kid who knew about computers told me that Commodore 64 games were mostly written in machine language. So at the age of 12 or so I went to the library and flipped through the Commodore 64 Programmer&#x27;s Reference Guide chapter on machine language - what the C64&#x27;s memory map was, what registers the 6510 processor had, and then a series of steps in assembly language to display an A on the screen. This was fairly over my head, and my mentor, who was getting busy with high school by this time, didn&#x27;t have much luck explaining it to me.<p>I worked in IT for a while and picked up some programming but didn&#x27;t do much at work for a long time. Then I started going to college at nights and on weekends and now I am a programmer.
ungawatktalmost 3 years ago
From my observations, a non-exhsustive list:<p>- Very little initial benefit, especially depending which language you choose.<p>- Small mistakes are not forgiven by the computer, which is demoralizing.<p>- Very non-intuitive feedback loops and error messages<p>- A semi-requirement of going down rabbit holes at the drop of a hat (I wanna write python to download a csv, wait now what&#x27;s a virtual environment??)<p>- learning and suggestions from a friend in industry will give you a very direction that&#x27;s not always helpful (&quot;ok now install git&quot;)<p>- abstraction is often unintuitive, and learning programming requires some heavy compartmentalization early on, or you&#x27;ll be stuck trying to learn cpu architecture fairly quickly<p>- the puzzle isn&#x27;t fun, and if programming isn&#x27;t somewhat fun or interesting to someone, it&#x27;s a hard sell
gravitatealmost 3 years ago
Programming turns many people off since it’s so unforgiving. There is no room for getting things a ‘little bit wrong’ like in art. Most art allows for small errors - errors sometimes add to the aesthetic even!
评论 #32074570 未加载
评论 #32076766 未加载
评论 #32079355 未加载
otrasalmost 3 years ago
I think about this question a lot, because although I learned to program after college, I had a false start during one of my college summers. I tried to follow the intro JavaScript section of Codecademy (this would have been ~2011) on my own, and I fell off the learning wagon.<p>In retrospect, I think the main problem was motivation, in multiple ways. It was during a period of &quot;I don&#x27;t really know what to do, so maybe I&#x27;ll try to learn to program, or maybe learn a little Korean, or what if I got into...&quot;, where I was exploring broadly, but without clear goals or much practice learning on my own. At the time, I didn&#x27;t even know what I wanted to major in! Because there wasn&#x27;t much real interest backing the initial exploration, I backed out when I ran into some resistance and it required a little more effort, and I instead moved on to the next thing (spoiler alert: I also didn&#x27;t learn Korean). I wasn&#x27;t very good at putting in the work it takes to learn hard things, and I hadn&#x27;t had a lot of practice studying, though I somehow passed my freshman year classes without good study skills.<p>I think that starting with the broad, amorphous goal of &quot;learn to program&quot; didn&#x27;t include tangible goals that I think would have helped motivate 19-year old me, like building an actual website, writing a useful app, or making a basic game. As another comment says, multiplying numbers for the sake of multiplying numbers wasn’t enough. Coupled with the aversion to putting in the work, I don&#x27;t think there was enough to motivate me to keep going.<p>When people ask me about learning to code, I try to think of ways that they can leverage their interests — maybe if you love cooking, you can learn enough to build a very basic cooking app. You&#x27;ll run into some tough spots, and having that inspiration can help you get through them, hopefully until you&#x27;re well practiced in getting through those tough spots. Better yet, work through it with other people and get through them together.<p>When learning to program later, a large part of the motivation was to make a career shift, and it was much easier to direct my energy and focus, aided by a little more maturity and practice learning as well. There was nothing quite like fielding customer support calls to help motivate me to study after work, and I stuck with it much better.<p>The joke is truly on me, because I now really enjoy both programming and learning.
评论 #32075199 未加载
bergentyalmost 3 years ago
I quit because I didn’t like programming anymore. It’s too detail oriented, is constant work when I prefer bursts of work and doesn’t let you work directly with people on people issues enough. Moved to management around 5 years ago and things have never been better.
lofatdairyalmost 3 years ago
I&#x27;ll chime in to give a few anecdotal accounts of people I know. A lot of them have more of a biology background, and only took CS either out of an interest in computational biology research or against their will entirely. Generally, these are smart people with pretty solid math backgrounds, so I think the biggest problem for them was the matter of expressing themselves through code. It&#x27;s generally not that intro CS problems are hard, but they were running into the problem where, if the program failed, it was unclear to them _why_. Even looking at the stack trace doesn&#x27;t always helps these students, either because the stack trace expressed the common issue in a technical way, or because the stack trace points them in an unhelpful direction (e.g. not directly at a line in the code that they wrote that was wrong). While it&#x27;s clear to us that the first step may be to check an unfamiliar error against stack overflow or use a debugger, these are learned skills too, which are often not taught even in intro level classes. There&#x27;s also the learned skill of reading documentation and knowing what builtins are available and how they are supposed to behave, which gave some students trouble when using MatLab since MatLab functions are poorly named and are implemented inconsistently, the documentation is oftentimes unclear, and it&#x27;s often their first time using a vector-based language (without realizing it) which adds a new dimension to behavior.<p>I&#x27;ll add on here that it&#x27;s not like my classmates were using esoteric learning languages like Racket (god bless the poor souls at NU), they were using Python, with plenty of helpful resources online and more experienced classmates. However, Python too has its quirks and reliance on perhaps unfamiliar concepts like packages (which means a new student will also need to learn how to use pip, why they don&#x27;t need to use pip for the std library, etc). It&#x27;s probably because of this that things inevitably get lost in the wayside, because you need to teach so much at once and the knowledge doesn&#x27;t neatly project onto a linear timeline. It really is more similar to learning a new language, but add in some bootstrapping issues, as well as the fact that if your grammar is wrong or if you misspelled something then your entire construction is unintelligible it&#x27;s not often obvious why.
togsalmost 3 years ago
I realized I don’t like to program practical things. Also, everything useful has been made. What else do we need to program? Most of our problems now stem not from lack of tech but from a lack of social will.
评论 #32077760 未加载
评论 #32079255 未加载
ilovhnalmost 3 years ago
All I can say is, I feel sorry for those who learn programming for the money, without being attracted to it. Most of them are gonna have a very hard time.
评论 #32084323 未加载
CrazedGeekalmost 3 years ago
Honestly, I hated the people around me trying to learn the same. CS was my original major in university (around 2011), and every interaction I had with my classmates was bizarrely bro-y and negative. Made me afraid that that type of person would be who I’d be working with for the rest of my life, and the thought scared me enough to switch majors into a more businessy&#x2F;managerial direction.
评论 #32077067 未加载
评论 #32079418 未加载
评论 #32075772 未加载
dc-programmeralmost 3 years ago
Anecdotally, a lot of people do fine in the 101 class up to the point where functions (imperative paradigm) are introduced. Thats the threshold for the level of abstraction where people start feeling frustrated. In college, I tried help some of my friends who got stuck here but did not have much luck helping them build the right mental model.
评论 #32076170 未加载
dormentoalmost 3 years ago
There&#x27;s &quot;programming&quot;, and then there&#x27;s &quot;building apps&quot;.<p>These two things do not necessarily map neatly into each other.<p>Could it be that people had an expectation to build a working product&#x2F;service, and not learn 2&#x27;s complement, operator precedence and whatnot?
themodelplumberalmost 3 years ago
I quit CS &amp; programming after I failed three CS courses and left the major before even finishing a 200-level class.<p>There are a lot of reasons for that; it would actually be kind of tough to highlight just one. Here are some:<p>- I was in a terrible learning environment at &quot;home&quot; (the dorms where I lived) due in part to the way I was raised by an extrovert family to be a sociable introvert. They didn&#x27;t really know better, and so I was essentially taught to constantly overstimulate myself and burn out. I was not only getting caught up in tons of social stuff, but I was also nominated to be the dorm floor leader and took on additional volunteer group-oriented duties.<p>- I was raised with fundamentalist religious beliefs, and the various little points of belief worked well in concert with my avoidance urges. Like I&#x27;d avoid homework until Saturday night, and then oh--it&#x27;s 9 p.m., this&#x27;ll take at least 6 hours, and I don&#x27;t study on Sundays, so there&#x27;s no hope.<p>- At the time I had some undiagnosed mental illness, which I only found out about and addressed later.<p>- I had a part-time job in IT that I was really good at, and I ended up compensating for the issues in self-image (or whatever) by pouring my heart into that job. I would go home having overworked myself, and after doing that I definitely had a headache and no bandwidth for homework.<p>- My learning style was completely different from the teaching style of my professors. In fact it was the complete reverse: Procedural outside-in for business impact on my end, vs. first principles-up for theoretical play on their end. I later realized that I would have had more success by reading the textbooks literally backwards.<p>(If your learning style is different, every single sentence, conversation, or email is potentially coming at your cognitive blind spots, and thus potentially very frustrating--not many people know this. My professors even tried to convince me that CS might not be a good fit given my goals, but I literally couldn&#x27;t understand their reasoning and thought they were pretty ignorant for not seeing things my way!)<p>- Java, the language of our CS department, was completely new to me, it was generally new and hot, but I naturally work better with underdog languages due to the random configuration of my psychology from birth or near-birth. I would have done better to negotiate with professors to use something else that was older and way worse, but I had no idea that might have been an option, nor did I even know that was a differentiating psychology thing in general.<p>Anyway, the overall event of quitting learning programming was completely shattering to my belief in myself, and even my belief that I could learn to code.<p>I didn&#x27;t go back to serious programming until something like 7 years had passed, and then only started by dipping my toes in via small edits here and there, and some templating languages like TXP Tags for Textpattern CMS. Up to that point, any time I needed to program I would either write a dead simple script, or use some orthogonal app (MMB&#x2F;Multimedia Builder, Flash, etc.), or find some solution off-the-shelf.<p>This all still makes me very sad because I was very good at programming in Basic&#x2F;Pascal&#x2F;C&#x2F;C++ in HS, and I could write system scripts all day long, and I basically stopped all of that.<p>On the bright side, in my last working day as a CS student, I walked into another department, told them I was into computers but looking to quit CS, and within minutes I had a key to a professor&#x27;s office with a login on their high-end graphics workstation, and a catalog in my lap to order whatever Dell server I wanted for my own use. Thank you liberal arts! :-)<p>That&#x27;s the best I can do for now, hope it&#x27;s been worth sharing...