Hacker News new | ask | show | jobs
by silicon2401 1717 days ago
Does anybody have good examples of 'extra' work they've done? I agree with the author's assertion that doing extra benefits one a lot more than baseline or more work. It's essentially a way to inject creativity and studying into one's normal work, as opposed to just flat-out working on a different project or straight up studying documentation. That comes with the benefit of being able to show it off in various ways that studying or a side project don't offer (value add, taking ownership, etc).

However one thing that I find challenging about the idea is what to do. I know that kind of comes down to asking "how to be creative", but if anyone has concrete examples of the kind of 'extra' work the author describes, that would be helpful as a model to use.

6 comments

A lot of my time as an entry level engineer at a FAANG was doing "extra" work.

It included:

* Migrating our applications from Java 8 -> Java 11.

* Identifying that our fleet was way over provisioned and then downscaling leading to a huge reduction in infra cost.

* Refactor our infrastructure-as-code package to be more maintainable.

Most of those things were useful but not prioritized. I found them interesting or worthwhile, so I took the initiative and drove them to completion. Most of these tasks were on the timescale of months on the side from my assigned work. I didn't overwork myself to do this -- I very rarely worked more than 8 hours a day.

So you did your regular work and in your extra time during normal work hours, you also thought of and executed on these ideas? Did you ever seek approval or just go for it? By the time I proposed ideas like this in a PR or something, I imagine my manager would question why I'm spending so much time on this kind of thing
Exactly! I worked on things that had value for my team and was interesting to me.

I bounced ideas around with coworkers, but I never asked for approval. As long as you’re doing your assigned work I don’t think your manager should care. This will depend on your company/manager of course; I was lucky to have ~3 managers during my tenure who were hands off

I found and eliminated a $20k/mo mistake once. It was … stunning. In an instant, I paid for myself, and to very little fanfare. Just poking around trying to understand the high level about where the costs were.

On the more mundane side, rewrote a script from bash to Python. The change didn't really change the script, in that the original is more less doing its job (just… poorly, and wasting a lot of human time on the side), but the output is much more readable, and should quell a lot of confusion from people not grokking exactly what the output of the script is telling them. (You really had to read the bash to understand the output. But the Python can pretty it up, by way of being able to parse & collate… so it should be much more understandable. Also fixes a few bugs from the original…)

Awesome job. Makes total sense how switching to Python would improve things. What was your approach to understanding what the costs were, like just looking at memory and space cost, or its cost when running on the actual infrastructure?
The cost thing was just looking at the bill. I've worked at some companies where engineering didn't even have access to the AWS bill, for example, which is rather unfortunate, since engineering is where the knowledge of "wow, this pie slice shouldn't exist" is. (I do think finance could? should? have noticed that bill, since I in part noticed it b/c the monthly total was too high. But I might have been looking at a more broken-out number than the actual, final total there were some other things that might have gotten mixed in that would have dulled the signal enough to make it plausibly missable.

But after seeing the number, it was a pretty quick task to break it out into various areas over time (like total VM$/time, total storage$/time), find the category that grew, and repeat until the offender was found.

The script thing was mostly about time. Bash's output was only so intelligible (it was basically |grep|awk|grep sort of thing) and engineers would get confused, ask questions, and it soaked up enough time to make me say "let's rewrite this so I never have to answer these questions again".

I was developing designs in a complex problem domain, and I spent some time prototyping an ontology and inference thing to automate part of the design work. Didn't work out -- my time box circuit-breaker triggered -- but it helped clarify aspects of the problem domain in my head. I would say my "extra" compulsion over decades has enriched my career hugely, for both me and my employers.
Here is one recent example: My project was to write a script to support a mechanical engineer in life testing some buttons that I interfaced with. The script development went faster than I expected, so with my "extra" time I decided to learn how to use a new testing technique on the project.
On the topic of 'looking around for potential improvements/optimizations': I pretty much eliminated my team's several-GB memory spikes we got from time to time. We all knew they were a problem from our dashboards, but no one investigated it, or wrote a ticket for ourselves. I felt curious one day during some downtime @ work, checked logs, debugged locally, and submitted a tiny patch with pictures of the memory savings during a single test run.
Great idea. I had assumed this kind of thing was just due to AWS infra; didn't even think it could be coming from the code itself.
Building on the web form example given by the author, there is a lot of extra that one could do: Improve the design, improve user experience, improve performance, format/cleanup the code, add some extra features, add flags to enable alternative behaviour ...
This one is a good, understandable example, though I wonder how I would pitch the value add for these things. Usually my team is so busy I imagine my manager telling me to focus on other work first