Live data from Hacker News

Ask HN: What boosted your confidence as a new programmer?

news.ycombinator.com

231–240 of 245 posts

Re: Ask HN: What boosted your confidence as a new programmer?

#231
post #216
post #215

Earlier quoted context omitted.

Have you met farmers? They will readily tear apart their equipment to fix an issue or modify the tool to make them more ergonomic. This trend of massive multi-million dollar John Deere combine harvesters with DRM widgets that you need to take to a specialized tech to get fixed, is a relatively modern one, and one detested by virtually every farmer. This was and is quite common in any blue-collar field where works don…

I worked on a farm. I think the things you're bringing up are still subtlely different. Modifying something you can see and touch for some unintended purpose versus modifying some piece of software because it doesn't work are miles apart from each other. For example, I have a graphics project where screen tearing suddenly started appearing although my code didn't change, and the tearing wasn't there before. Is the is…

That to me sounds like a difference of degree or heap problem, rather than a categorically different condition.

Sure, welding back on a hardpoint that broke off a plow is concrete and obvious (maybe that's analogous to fixing a broken dependency that got renamed), but there are other fixes that definitely fall under "I don't know why it works but it works". I've had electrical gremlins and fixed them by grounding something that looked like it ought to be grounded, and was grounded when I tested for continuity, but nonetheless was acting floaty. It was probably a loose connection elsewhere in the system, but I didn't know that for sure, nor do I even know that it was the problem in the first place.

Software definitely reaches insane depths of complexity, but again, if you can dig down and understand the abstraction well enough to attempt a fix, and the problem goes away, isn't that good enough? The real difference is mechanical systems typically only have a few layers of abstraction, while software has dozens to thousands of layers of abstraction.

Re: Ask HN: What boosted your confidence as a new programmer?

#232
post #223

Earlier quoted context omitted.

With many exceptions (the left-pad debacle comes to mind), it’s generally much better to use a third party library instead of supporting your own implementation.

I know this is the mantra, but my experience has been highly mixed and only generalizable to how low in the stack it sits. For, say, security implementations for authorization and access controls, or even low level HTTP request routing? Absolutely. The goal there is to adhere to something standard and battle tested by experts, and the third party libraries tend to be fewer in number, and of higher quality, with longe…

I think we mostly agree with each other. As I said, there’s many exceptions.

I’ve mostly worked with Python and JVM languages, which probably explains why I’m less passionate about the counter-argument than you are. Ecosystem definitely matters a lot. VanillaJS is the only good JS framework IMO.

Re: Ask HN: What boosted your confidence as a new programmer?

#234
post #87

Earlier quoted context omitted.

The trick is to dig deeper into those big library's dependencies as well. It's turtles all the way down. The other thing I find is that big libraries are either mostly dependency bloat (as implied above) or dealing with a hard domain problem. If it's the latter, what you're really struggling with is not the library, but the domain it's trying to represent.

"If it's the latter, what you're really struggling with is not the library, but the domain it's trying to represent." But this doesn't change anything of the programmers problem. If I stumble on a bug in a physics libary I am using for a game, I cannot just jump right into there and go fixing things. I mean I can start doing it, but at the cost of not getting anything else done for quite some time. There are lots of…

Absolutely correct, but I think it’s still valuable to be able to recognize if you’re struggling against the code or the domain.

Additionally, once you recognize that you can also recognize if you’re dealing with incidental complexity (e.g. poorly thought out/designed code) and inherent complexity (e.g. physics calculations). The former can be fixed, the latter cannot. Knowing the difference saves much pain.

Re: Ask HN: What boosted your confidence as a new programmer?

#236
For me it was migrating the unit tests for a whole project from JUnit 4 to 5. Reading and understanding the code, transforming it into a newer version of the framework and doing some cleanup / optimization while at it was proof to me that my skills were also applicable to "large", "real" projects.

Re: Ask HN: What boosted your confidence as a new programmer?

#237

When you start, you suck. There’s no magical “moment of insight” that suddenly takes you from basically worthless to “vital for the success of the company”. It’s just practice. For me, I just worked ridiculous hours to compensate for the suckage, read books, listened to podcasts (when that became a thing), programmed at home, read through the code, looked at the code history (code archeology). Eventually you get good…

This was my way as well. Start early, respect the steepness of the learning curve, and just keep going.

Re: Ask HN: What boosted your confidence as a new programmer?

#238

For me it was doing nand2tetris. With just NAND gates and D flip flops as primitives, building a full 16bit ALU, then an ISA for it, an assembler, compiler, operating system (with memory mapped keyboard and screen) and interpreter. Then writing a Sudoku game in that interpreted language, and seeing it reduce all the way to just bits. And then running it on the simulated computer. Really have a holistic view of what a…

nand2tetris often comes up on HN. I like to link to a similar, fully in-browser game which I think achieves the same: https://www.nandgame.com/ (no affiliation, I just really liked it)

Can I accompany this with the original course / book?

Re: Ask HN: What boosted your confidence as a new programmer?

#239
post #141

If anything, my confidence gets lower as I get more experience. The amount of politics, power jockeying, engineers who hide behind decisions as if they were technical only to be highly personal preferences, how many people reject simplicity and prefer complexity while calling it simple, lack of documentation, etc. It just all makes me feel like I don't belong in the field. It's all so overwhelming and complicated, an…

Writing extremely good quality software is hard and expensive. In the vast majority of cases all you need is okay software developed by people who just want to get the job done. Understanding how software creates value and what kind of software at any moment is valuable; and which parts of your job is tied to that process makes this much clearer. If anyone reading this just want to write bash scripts that don't viola…

Do you have any examples from your experience about making that distinction? Sometimes I struggle with the boundary between good maintainable code and meeting deadlines.

Re: Ask HN: What boosted your confidence as a new programmer?

#240
Fixing bugs in open source software, instead of reporting it and letting the maintainers fix it when they're able. Doing that helped me understand how to quickly familiarize myself with a code base, gave me confidence that my code is also good, and helped me have a higher development velocity by not waiting on a third-party for a fix.
Post reply on HN