Live data from Hacker News

The best programmers I know

endler.dev

101–110 of 320 posts

Re: The best programmers I know

#101
post #6

Reading documentation - if you are junior take time to go one level deeper to understand / fix issues you have. Then read also stuff adjacent to that. By trying to read some documentation like a book from cover to cover will be waste of time.

Sometimes I just open the NumPy or the Python docs and browse it (or other libraries like PyTorch). Even after about 2 decades of Python experience, I often find something new and neat even on the "basic" pages that I didn't know about. Reading release notes can be useful also.

Many people seem to have an irrational aversion to reading documentation and manuals. They'd rather speculate and guess and state false things than to just open the docs to understand how the thing works.

I'd say if you use the tool daily for years, it makes sense to invest into actually reading the docs.

Re: The best programmers I know

#102
post #31

Earlier quoted context omitted.

The latter are the ones that get promoted to senior staff+, or more likely become directors/VPs. There is a very low cap on career growth if you are purely focused on programming. So yes, if you want to climb the corporate ladder or run your own business, programming is a fraction of the skills required. I think though it's okay to just focus on coding. It's fun and why many of us got into the industry. Not everyone…

I don't know. Career plans aside, to me, making software is a means to an end. There is no inherent value to producing software, as there may be in producing car tires or bananas. The best software is no software. And then who is the better programmer, the one who knows more about how to make software, or the one who knows more about what software to make?

To me, cars are a means to an end. And I can imagine a world without cars more easily than a world without software.

Do you imagine that we just somehow evolve capabilities beyond it? or do we eventually produce universally perfect software solutions and leave it at that?

Re: The best programmers I know

#103
Not guessing is perhaps the most important thing to the business.

I developed a lot of my problem solving skills in semiconductor manufacturing where the cost of a bad assumption tends to be astronomical. You need to be able to determine exactly what the root cause is 100% of the time or everything goes to hell really fast. If there isn't a way to figure out the root cause, you now have 2 tickets to resolve.

I'll throw an entire contraption away the moment I determine it has accumulated some opacity that antagonizes root cause analysis. This is why I aggressively avoid use of non-vanilla technology stacks. You can certainly chase the rabbit over the fence into the 3rd party's GitHub repo, but I find the experience gets quite psychedelic as you transition between wildly varying project styles, motivations and scopes.

Being deeply correct nearly all of the time is probably the fastest way to build a reputation. The curve can be exponential over time with the range being the value of the problem you are entrusted with.

Re: The best programmers I know

#104
post #89

I don’t get this one: > Don’t Guess If you work with anything but a very simple program, you often must guess what could be the cause(s) of your issue in order to know where to look. The more experienced you are, the more accurate your guesses will be.

I would consider "exploring and ruling out possible causes" a systematic approach, not guessing.

Re: The best programmers I know

#106
post #73
post #72

Earlier quoted context omitted.

wondering how can a static blog can be rate limited :|

Traffic. Huge loads of it.

What do you mean? What is huge to you? For me a static blog on a small vps would start to crumble at around 30 to 150 requests per second. This number is broad because the are a lot of moving parts even in this scope. This results in 2.5 million to almost 13 million page views a day. To reach numbers like that you need to get reeeeaally popular. With some planning a static website can be served billions of times a day before saturating the network stack.

So what are you talking about?

Re: The best programmers I know

#107
Reading the error message is a good idea. I try to make the fragments of my error messages unique so that in some error like "foo the bar: get bar: lookup bar source: i/o timeout" you can search for "lookup bar source" and get the one point in the code that the error actually came from. (In go, this involves error wrapping and adding the minimum necessary context at each level.) This survives minor refactors (whereas line numbers don't) and cross-subsystem or cross-subsystem errors (next time the error is "foo the bar: get bar from remote bar repository https://bar.example.com/: get bar: lookup bar source: i/o timeout"). I also obviously try to get my team to do this ;) At my last job, before I joined the team, someone said that stack traces would eliminate the need for error wrapping. They tried it. It didn't. Customers (and support) could never figure out what was going on. But adding a handful of carefully chosen words at each level? Suddenly much easier.

Reading the source code is also a great idea. You'll always pick up some good ideas from other people's code. I learned this the hard way, but also kind of the easy way... at Google, sometimes we had good documentation. Eventually I realized it was often out of date, and so just got in the habit of reading the server code that I was interacting with. Suddenly, everything was much clearer. Why does it return an error in this exact case with this exact set of circumstances? There is a condition for just that case. Set this useless flag and that block is skipped. You'll never see that in the documentation, the exact details behind why something works how it's working exists in one person's mind at one point in time, and the code is the only thing that remembers. So, ask the code.

In both cases, some easy-to-use text searching tool is helpful. I always use rg (and deadgrep inside emacs), but there are many.

Re: The best programmers I know

#108
post #72

Earlier quoted context omitted.

wondering how can a static blog can be rate limited :|

This is what happens when you run your blog behind cloudflare workers - they want you on pages instead, or to pay $5/month forever on the off chance you get slashdotted...

Honestly for good reason. Static blog content is trivially cacheable. Get that content into nginx!

Re: The best programmers I know

#109

welp. looks like we hit the ratelimits: ``` You cannot access this site because the owner has reached their plan limits. Check back later once traffic has gone down. If you are owner of this website, prevent this from happening again by upgrading your plan on the Cloudflare Workers dashboard. ```

https://web.archive.org/web/20250409082704/https://endler.de...

Re: The best programmers I know

#110
post #93

https://web.archive.org/web/20250409082704/https://endler.de... Otherwise rate limited

The best programmers I know don’t use cheap hosting that rate-limit your static blog.

That's how I see devops applied in practice in some places - just replace ops with dev. Then things like this happen daily.

I don't blame the author at all - we should do "works most of the time" projects more often and stop caring that much about SLAs. But that downtime in an article that focuses on "Know Your Tools Really Well" is hilarious way of showing that dev and ops are rather different skill sets.

Post reply on HN