Live data from Hacker News

Ask HN: What were the things you did that made the biggest impact at your work?

news.ycombinator.com

131–140 of 216 posts

Re: Ask HN: What were the things you did that made the biggest impact at your work?

#131
1) Calling out the bullshit. Sometimes politely, sometimes firmly, but when things didn't add up, I'd call them out. Eventually I've uncovered a piece of a product that not only didn't yield correct results, but was unrescuable in principle. As a result, I ended up prototyping and then leading the design and development efforts on a new version that did things right, which eventually became a very strong part of the product offering.

(It later turned out that way before I joined, some other people also called the big problem out, but were overruled by someone high up, and after that everyone kind of forgotten that there was a problem in the first place.)

2) At my last job, I wrote a tracing profiler for Common Lisp - or rather, a quick and crude pile of hacks resembling a tracing profiler, now available here: https://github.com/TeMPOraL/tracer. Up until then, we had a sense that our performance problems came from the database, but having a hard time pinning them down with regular profiling, we blamed them on the database driver (that we've written ourselves). When we started using the tracing profiler, we quickly discovered that the driver itself was perfectly fine - it's the amount, shape and structure of the queries we're doing that caused our performance to suffer death by a thousand cuts. That couple hours of detour into writing the profiler paid for itself in the following week with an order-of-magnitude performance increase, and the insights gained shaped the further refactoring and redesigning efforts.

(Some more details about the profiler here: https://old.reddit.com/r/Common_Lisp/comments/et0fx1/tempora.... I was supposed to blog about it, but couldn't find the time this week.)

Re: Ask HN: What were the things you did that made the biggest impact at your work?

#132
post #35

Earlier quoted context omitted.

What are your main objections to BTD loops? Also, which alternatives do you suggest?

Software development is the BTD loop; you can't eliminate it. I got my start with Logo[1], which has an amazing BTD loop! People like Bret Victor[2] have talked at length about it (although Victor doesn't use that term, IIRC). Even the trend toward "notebook programming" - Jupyter, Observable, etc are really about shortening that loop. A major reason to use an IDE is to potentially shorten the BTD loop. Lots and lots…

Well, I don't see how linters/test on a final cluster is bad. This is why we have unit/integration/alpha/canary tests. The first 1 can happen on my laptop over 5 seconds while the second can happen on my personal instance over 20 minutes. Usually first means the second will pass and I just need to run it in the background without breaking any workflows.

i.e. It might not be a bad feedback loop, you just need more of them that are faster.

Re: Ask HN: What were the things you did that made the biggest impact at your work?

#133
post #57

Mmmh... I rewrote big chunks of Firefox's Session Restore to ensure that people stopped losing their data in case of crashes. Pretty big impact on both Firefox and, hopefully, the life of a few hundred million users. I rewrote the Firefox Shutdown so that it actually worked. I also introduced structured async programming, async testing, async exception reporting in our codebase. And yes, I do enjoy bragging :)

That's a feature I sorely missed after the demise of the original (pre-Blink) Opera Browser, and one of the reasons I strongly prefer Firefox over Chrome. Thank you so much for this!

Re: Ask HN: What were the things you did that made the biggest impact at your work?

#134
Doing API-first.

Start with defining the swagger.json Then generate:

- frontend-typings

- frontend request services

- backend routes and DTOs

- database fields

- use angular-jsonform for forms

- use the swagger for frontend validation

- use the swagger for backend validation

- use the swagger to discuss api changes with the client

This saves half of developing time and prevents 90% of your bugs

Re: Ask HN: What were the things you did that made the biggest impact at your work?

#135
post #57

Mmmh... I rewrote big chunks of Firefox's Session Restore to ensure that people stopped losing their data in case of crashes. Pretty big impact on both Firefox and, hopefully, the life of a few hundred million users. I rewrote the Firefox Shutdown so that it actually worked. I also introduced structured async programming, async testing, async exception reporting in our codebase. And yes, I do enjoy bragging :)

As a firefoxer and tab-hoarder, with more than 200+ open as I write this, thank you!

Re: Ask HN: What were the things you did that made the biggest impact at your work?

#136
post #31

Earlier quoted context omitted.

I don't understand this. Care to elaborate?

He means developers should commit work in progress directly to the master branch. The work in progress would be disabled in production deployments by a "feature flag" boolean configuration setting. The exception to this rule would be very large changes which must be developed in a separate branch, and have been carefully planned with a corresponding RFC document. In general I don't like this approach. Branches are tr…

I agree with this. One of the best changes we ever made was embracing a branch-heavy merge-centric workflow for literally everything. There was considerable pushback initially because it was perceived as 'complicated' but that dried up after a month because people were no longer fighting to push their hurriedly-rebased work to the canonical master branch any more.

It also means we can put an extra layer of QA testing between dev branch and master, which works nicely as a means of forcing communication between devs and QA too, and helps with onboarding (because the product featureset is huge).

Automated tests are great, but having a person read the feature ticket description and testing steps and then check that the functionality actually makes sense before it hits the master branch...

One more tool in the box, and it's a great culture correction mechanism too. Devs who don't test their work before submitting it get it sent back for fixing and feel less productive, so doing things thoroughly the first time feels quicker than rushing it. Doesn't even require management to monitor rates of reopening tickets, etc: people just don't like having to redo things.

Re: Ask HN: What were the things you did that made the biggest impact at your work?

#137
post #16

I worked for a company that had gone from selling on premise software to cloud, and going from build to production release took a while. Realistically you could expect 1-2 days if everything went well. This was definitely not problem #1 at the company but I really wanted to push to see how much time we could shave off. I got some like-minded teammates to put time into a new release pipeline process, and we built some…

Where you able to see error logs from slack or you used a link? Granted that usually traces are multiline, I expect them to be hard to read on slack but the again nothing beats lack of context switch.

Re: Ask HN: What were the things you did that made the biggest impact at your work?

#139
post #125

Taking the initiative in doing the right thing. For example, when I worked at Data I/O, their LogicPak communicated via a serial line. This required a terminal emulator on the IBM PC side, and there were various ones of erratic quality available for the customers. I just decided to write a simple VT-100 terminal emulator for the PC in assembler as a rogue project. It worked out so well Data I/O included it with every…

This. When something needs doing, I just get it done. If you wait for everyone to agree that it needs planning to be done at some point in the future, it'll never get done because the feature firehose never relents. This has cost me a few weekends, but a) it meant that I kept my sanity in the long run and b) despite said fixes reducing the company's dependency on me (ie. supposedly damaged the job security) taking th…

Indeed, doing successful rogue projects enhances your job security. Unsuccessful ones, though, watch out!
Post reply on HN