Live data from Hacker News

Ask HN: What change in your programming technique has been most transformative?

news.ycombinator.com

31–40 of 215 posts

Re: Ask HN: What change in your programming technique has been most transformative?

#31
post #27

Moving from my college years of emacs on the server to a proper IDE on the desktop.

It wasn't college for me, but the first IDE I used that seemed like a step up from vi and makefiles was Visual Age for Java. And man, that was a huge step up.

Re: Ask HN: What change in your programming technique has been most transformative?

#32
Functional Programming fundamentally changed the way that I solve problems. It also changed my expectations for how code should be designed.

The concepts that influenced me the most were immutability and the power of mapping+filtering. Whenever I read a for/while loop now, I’ll attempt to convert it to the FP equivalent in my head so that I can understand it better.

Re: Ask HN: What change in your programming technique has been most transformative?

#33
I can think of 4 things:

1. Not being afraid to look at the code of the libraries that my main project depends on. It's a slow, deliberate process to develop this habit and skill. But more importantly, as you keep doing this, you will develop your own tactics of understanding a library's code and design, in a short amount of time.

2. Not worrying about deadlines all the time. Not a programming technique as such, but in a world of standups and agile, sometimes, you tend to work for the standup status. Avoiding that has been a big win.

3. (Something new I've been trying) Practicing fundamentals. I know the popular opinion is to find a project that you can learn a lot from, but that may not always happen. Good athletes work on their fundamentals all the time - Steph Curry shoots like > 100 3 point shots everyday. I'm trying to use that as an inspiration to find some time every week to work on fundamentals.

4. Writing: essays, notes. In general, I've noticed I gain more clarity and confidence when I spend some time writing about a subject. Over time, I've noticed, I've become more efficient in the process.

Re: Ask HN: What change in your programming technique has been most transformative?

#34
Some game changers for me off the top of my head:

* Automated regression testing and build/deploy pipeline. The machine will do things quickly and repeatedly exactly the same way, given the same input conditions/data.

* TDD. Create tests based on requirements, get one thing working at a time, and refactor with a safety net.

* Mixing FP style and OO style programming to get the best of both worlds.

* Understanding type systems, and how to use types to catch/prevent errors and create meaningful abstractions.

* Good code organization, both in physical on-disk structure and in terms of coupling & cohesion.

* Validate all incoming data and fail fast with good error messaging.

Re: Ask HN: What change in your programming technique has been most transformative?

#37

Autoformatting (gofmt, prettier, etc). I can't believe how much time I was wasting having to manually indent, split lines etc.

+1... black for Python. I didn't agree with some of the formatting decisions, but it has gotten better with passing versions, and the gains of not thinking about it at all are huge.

Re: Ask HN: What change in your programming technique has been most transformative?

#39
Honestly, I used to be such a computer nerd, to a fault. So over the last quarter century of programming for money, I'd have to say the most transformative has been writing comments like my livelihood depends on it (since it does).

Other development practices that boosted my output significantly: Regular cardio exercise like running, strength training by lifting weights, and regularly reading source code for pleasure.

Re: Ask HN: What change in your programming technique has been most transformative?

#40

Avoiding cleverness at all costs. Simple code that is easy to both read and write without strong efforts to follow senseless DYI or take on abstraction for the sake of abstraction.

+1 from me. Every time I revisit code that I wrote cleverly I roll my eyes at myself. What was I trying to prove, now I have to put more effort in understanding my "cleverness" instead of quickly going through the change I have to implement.
Post reply on HN