Live data from Hacker News

Coding Is Hard

duttakapil.com

51–60 of 170 posts

Re: Coding Is Hard

#51

I find the story relating, though in a somewhat less dramatic sense. Even after 20+ years of coding, there are very little moments of feeling on top and fully in control. The other end -- feelings of "damn I don't get it, why won't it work" and the feeling of being overwhelmed by a big mess -- is quite more frequent. The weird thing is that thinking "I'm no good at this" is an easy trap to fall into. Sometimes I feel…

i feel very sad that this is a thing. in programming you should always have a feeling of absolute agency. there is no pile of crap deep enough you cant peek under. no bug you shouldn't be able to find, given enough time. the problem should be that maybe it doesn't make sense to so do in a given context, not that you couldn't choose to do that.

> there is no pile of crap deep enough you cant peek under. no bug you shouldn't be able to find,

I mean, yea, technically? But when the codebase gets very big, it can become intractable to chase every issue down.

> given enough time.

Okay sure. One often isn't given enough time though, if it's for a job.

Re: Coding Is Hard

#52
post #25
post #7

> That's when I decided that I didn't need to go to college. I could just teach myself, for free, through all these online resources. > I went through all the tracks, from basic HTML (again) to JavaScript and even Ruby amd Python. And I was super proud of myself for doing just that. I then started this 2-day python crash course... > It's been 10 years since I first started learning how to code. And I still struggle w…

I still struggle after 15 years into programming, and I never published or finished anything because of "judgement anxiety". I waste days, weeks, months writing and rewriting code and then I decide to abandon it because "other developers are going to see how shitty of a developer I am and it'll jeopardize my reputation forever".

[flagged]

Re: Coding Is Hard

#53
I think the author is being a little too harsh on himself. It’s totally okay to struggle or feel like you can’t solve something right away. There’s no need to be so hard on yourself. The most important thing is that you have fun with what you do :) You don’t need to be the best for everyone, just be the best for yourself and enjoy it!

Re: Coding Is Hard

#54
I've been coding since I was 15, am now an industry professional with 7 years software development experience. I just spent close to 15 hours debugging a really simple HTML/CSS issue. Why? Because I've never touched HTML/CSS before beyond some CS 101 labs. I'm sure an experienced web dev could have fixed it in 10 minutes.

In my experience programming is less having it all in your head and more where and how to look things up. Because pretty much no one has it all in their head, and the ones that do are hyper-specialized workaholics and would be just as slow as anyone outside of that specialty.

Re: Coding Is Hard

#55
I feel like I could've wrote this myself. I've been dabbling with programming for about 20 years. Much of that time though I was managing other programmers and doing very little programming myself. I was also working on unchallenging (but profitable) projects for far too long. Only in the last few years have I felt like I've had breakthroughs and actually begun to feel confident. I attribute this to the fact that I've decided to do the work myself and take on more challenging work. However, most importantly, I've removed distractions from my life. The initial and intermediate learning curves of programming are certainly hard and I don't think it's possible to have any breakthroughs if you are not in a good place in your life. For me, it was the people I had chosen to surround myself with whom I realized were not supportive of me or my goals. Once I fixed that, I had more time and energy to focus on becoming good at programming. I still don't think I am "good" at it but I am certainly improving now. Don't give up, OP. I certainly never will.

Re: Coding Is Hard

#56
Get a 1-on-1 mentor/tutor.

It's possible the things you're trying to do are just too difficult, but you are incorrectly assuming that they are easy and that everyone can do them. (This is especially common in game development - someone wants to create a 3D open-world MMO, not realizing that such projects typically take years to develop, even for teams of dozens or hundreds of engineers and artists.)

It's possible there's some fundamentals of programming that you never properly mastered. People sometimes go through multiple programming courses, but still have a shaky understanding of how basic control flow works, then wonder why they are struggling in their higher level courses.

It's possible you have some other weakness without realizing it, like (for example) trying to code from memory rather than regularly referencing the documentation (some people have this weird notion that you're supposed to memorize what every function does, when that actually couldn't be further from the truth).

Without working with you directly, it's hard for me to say what the exact problem is. You should have someone sit down with you and help you identify what's causing you to struggle.

Re: Coding Is Hard

#57
I definitely relate with the author a lot. I have ADHD and getting in the flow of programming feels like a monumental task that makes me feel extremely dumb.

I think the issue is that there are too many low-quality programming resources, and the author should have asked for help. You won't have a personal mentor for free, but there are dozens of people in support channels to help you learn, all you have to do is ask. So many people have helped me understand hard to grasp things, and I've been very fortunate to have people around with expertise that can teach me as well.

Doing programming these days is brutal. Layers and layers of abstractions and you have no idea what's going on behind the scenes. My ADHD brain requires me to know why I need to do something, and how it happens. The more programming feels like math, where you just have to blindly follow steps, the worse I feel doing it. Thankfully, I've looked into many resources understanding how the hardware works, how memory works, how the CPU works, how the OS works. It's been a necessary foundation to make sense of anything. The bottom up approach was the only thing that kept me sane. People like Casey Muratori teach you how to program the right way.

Re: Coding Is Hard

#58
> I was expecting it to be very easy, smooth sailing for me. On the high level, it's all very simnple stuff. It's just refactoring the codebase a bit, reorganizing it, making it cleaner and more structured, and it's supposed to be easy.

Sigh. Refactoring is hard. Finding the "right" structure (whatever that means) is hard. Changing the existing code from one structure to another is hard. There is a huge amount of uncertainty and so many ways for it to go wrong. There are an infinite number of ways to change things and you don't really know which change is "best" until you try a lot of them and then look at what you made. Now that I'm 25 years into this, I have a sense of where the dead ends are and how to avoid them, but after 10 years a lot of people don't. And I still go down dead ends sometimes. The key is realizing when you're on a dead end as quickly as possible, then stopping and doubling back. Cut that sunk cost loose.

If you go into something with the expectation that it will be easy, you won't have the right mindset to deal with difficulties. When you hit difficulties, you'll strain against them instead of calmly taking a step back and reassessing the situation. The problem isn't being dumb. It's the act of straining itself, which makes you dumb.

Most difficulties are caused by not fully understanding the problem being solved, and the "easy" solution turns out to have overlooked some of the essential complexity that needed to be solved, which leads to kludges piled on kludges. Understand first. Then solve.

It's important to have a problem solving process. Look at times that you did find a solution. How did you approach it? What was helpful? What wasn't? Refine your process over time, keeping what works and discarding what doesn't. Then trust your process and relax. It's just a website.

Re: Coding Is Hard

#59
post #31
post #21

In my experience it’s not supposed to be that hard, unless you’re working at the cutting edge or on really hard problems. But from what you’ve written it seems like you’re struggling with basic stuff. Maybe you’re still lacking fundamentals? Seems like your strategy so far has been to grind tutorials and crash courses. They will make you feel like you’re learning a lot in a short time but in the end you’ll still not…

The author says he struggled with concepts that are “easy” or supposed to be. In my experience of coding since 6th grade and having been in the industry for quite some time, it’s difficult to say something is supposed to be “easy” or “hard”. The author doesn’t give many concrete examples so it’s possible he is just assuming certain things should be super easy… A lot of programmers I meet love to claim they don’t stru…

This seems like an uninteresting test. Nobody (almost) is implementing sorting algorithms in their day job. We use libraries. It's like asking people who claim to not struggle with driving basics to change their spark plugs and saying "aha, I new you were an idiot".

Re: Coding Is Hard

#60
It's hard to make any kind of objective assessment based on a single article this sparse on concrete details as this, but I get strong vibes of a day-dreamer personality. This oscillation between excitement about an idea, and the hard reality and challenge of actually making progress. I have these tendencies at times myself, and my first piece of advice is to bring some structure and accountability to other people into your approach. In my case two things were game changers: studying CS with an actual teacher and classmates, as well as going and getting a professional job.

I had done a lot of self-taught stuff as a teenager, but honestly the essence of programming eluded me until 12-18 months into my CS undergrad. A lot of it was just the reps, but the structure of having a dedicated professor and assignments gave me a focus that really helped. I also think it was good to work primarily with backend languages like C, C++, Java and Scheme without the distraction of web and GUI elements that have a world of complexity (often incidental) that distracts from understanding the basics of data structures and algorithms.

The next big leap was working on a team in a professional setting. In my case it wasn't even with other programmers, I worked primarily with non-technical stakeholders as the sole web designer and programmer on a design team that primarily did print design (yeah this was a while ago). Even though I didn't have technical mentors in that first job, just the accountability of having to deliver on some projects that multiple people were contributing to taught me a ton about how to do what was necessary to consistently ship. This is the number one thing to improving: you've got to ship and keep shipping. If you get stuck, cut scope and ship something simpler. Just never stop shipping.

Finally, a word on motivation. I'm not here to judge anyone's motivations: do whatever works for you. That said, I feel the best motivation for getting good at programming is curiosity about how things work. If you're not innately curious about technical things, the steady stream of compiler errors and bugs will eventually grind you down. Perhaps this is what the title is referring to. Personally I don't think of programming as hard, but that's because the high I get from debugging a thorny issue outweighs the pain of understanding the root cause. Multiple times the author discloses an expectation that something should be easy, and then getting frustrated when it's not. Whatever your motivation, you've got to have some tenacity and grit to put in the work to power through—that's how it will become easier over time, not due to innate intelligence or time spent on tutorials/videos/reading materials.

Post reply on HN