Ask HN: Who's having a ton of fun at work and what are you doing?
I am refitting a 44-foot sailboat, repowering it with an electric motor and lithium batteries; solar panels and a wind generator to come. Lots of practical work with my hands: wiring, plumbing, carpentry, fiberglass, sewing, drilling, sanding, wrenching, tinkering. After decades of complicated software efforts, a majority of which have never gone anywhere, it feels really satisfying to build things that you can see and touch, that stay built once you're done with them, useful in a way you can experience. Someday in the near future we'll set sail and go see more of the world - generating our own power, our own propulsion, our own fresh water; living by the sun and the wind and the waves, embedded in the natural world.
I'm not sure this is "at work"? Is this a job or a hobby?
It is my full-time occupation, but I'm not getting paid to do it.
I don't think your answer, though cool, qualifies in the spirit of the question.
please tell me more, this is something I have dreamed about doing and may have an opportunity in the very near future (unfortunately) of doing.
do you have a blog?
We don't have a blog. That's a good idea! We'd planned to make videos for youtube, but so far it's been too much additional work to film ourselves while we work, and we haven't made it happen.
I'd be happy to go on about the project in as much detail as you please! Email me? Tried the address hinted at in your profile, but it bounced.
I would also love to hear from you, I've been collecting books on sailing and starting to learn the ins and outs and hope to sail coast to coast sometime in the next few years. Moxie's sailing documentary, Hundred Rabbits and other projects have left a big impression on me. I'd love to network with like-minded people and hear how things progress.
Try to write it in a notepad. Like a real one, paper based, handwrighting recognized, zero power one.
If you make it for two weeks you can transition to any and whatever blog platform. Even DreamWidth would be fine.
Go Kenji style: just strap a go pro to your head and talk.
I'm learning unreal engine 5 to make vr games. I try to make stuff or find stuff online and then I put it in VR and I can look at it up close, or eventually fight it or team up with it. It's pretty hard but it's just nonstop fun.
VR is a new medium. We're in that stage now where people are sort of putting stuff from the old medium in without much consideration of what new concepts or ideas might be possible. Every UI in every game and application is terrible. Everything has to be reinvented, and can be reimagined in incredibly creative and strange ways.
Fairly often now I'll have an experience in real life and think "Someday, I'm going to put this in VR game."
I agree, talent needs to catch up, and new UI concepts are needed (the current VR web browsers feel very awkward). One app that was built very thoughtfully for VR and nailed it imho is Hyper Dash. Making teleporting the preferred form of movement vs. walking was brilliant.
I've never heard of Hyper Dash - I'll check it out!
It's in my todo list to learn either UE5 or Unity for VR. After some light research, I've opted for UE5, but am curious how did you decide to go for UE vs Unity?
Unity seemed easier to use in some ways but I liked Unreal's licensing model better. They also keep throwing in more free assets.
Curious is this a personal project or a company one?
1 man startup.
Have you tried any AR projects? Would like to see some examples of your work if you don’t mind sharing.
Just VR for now. Nothing to share yet but expect a Show HN when I have a trailer or a demo!
Could you share your VR development setup? PC specs, which platforms/devices do you develop for etc...
I'm using a pretty underpowered PC 1000 series graphics card. It chugs. Building for the Quest 2 using UE5, Blender, and a few plugins and templates from the unreal ecosystem.
I also have a huion drawing tablet but I think you could go quite far in blender with just a mouse.
how well does this pay?
Better than it used to be but generally not well.
Early on in my career I noticed that the most fun programming seems to be done by people who are not actually trained as computer scientists: mathematicians, physicists, engineers, chemists, astronomers ...etc This sort of numerical computing and simulation stuff is incredibly fun and quite rewarding. You work much more often on core logic and much less often on boring fluff. Of course it is all very subjective and it pays shit. So the answer is: research at a research uni, employed by an applied mechanical engineering lab, but trained as a mathematician.
Agree, I studied mathematics and molecular biology and the most interesting problems are intersections between that and coding (which I learned by myself as a kid).
Have you experienced a caveat in terms of coding quality? I study mathematics, and I think it is pretty standard for mathematicians to disregard theoretical run times when experimenting and doing "napkin" computations. Invariably this leads to relatively poor code quality. Speaking from experience, I just failed a coding interview because I solved the question like a mathematician would do, i.e. a quick and dirty way. What is your experience with this phenomenon? I know academics often gets railed lacking concepts in data structures etc.
You can do this kind of work and also get paid decently at a national lab. For example, LLNL is hiring!
I make a lot more money now, but the most fun I ever had at work was busking on the subway with a friend 12 years ago.
At work, we have a .Net 6 codebase that had some odd design decisions made in the past couple years. Roughly ~115 classes using Unity for dependency injection instead of ASP.NET Core DI, and this horrible Unity-based service locator pattern used all over the place. Since nothing was using constructor injection and instead just grabbed deps from calls to a global static locator willy-nilly, it was very difficult to tell how many dependencies a given class had. The worst classes were injecting 30-40 dependencies, but you couldn't tell this in looking at them.
Anyway - I was tasked with removing Unity and refactoring the service locator usage, since Unity was going to be unsupported soon. Doing this gave me a real sense of agency in our otherwise boring enterprise app; it was one of the rare chances where I could make a significant, wide-scale improvement that would make future development easier for everyone.
out of curiosity, is the code you've had to touch all in one single source control repository? have you needed to refactor stuff across many different independently versioned packages, or is it all monolithic?
(if it were me, i'd be hoping it was one giant monolithic application in one single repo, to make it easier to track & perform this kind of sweeping surgery)
Yup, all one repo fortunately. The majority of changes were in 3 class library projects, each of which is referenced by web portal, API, and nightly jobs projects. I'd imagine it could be quite painful if scattered in various repos!
i've sometimes enjoyed this kind of work in the past, provided there's good automated test coverage / static analysis from compiler & tooling to lean on. After the initial experimentation to decide on the new structure and confirm it is going to work, put on some good music and grind away at it.
Haha yep, that just about describes how it went for me. No way would I do all that without automated testing too - the immediate feedback is crucial for broad changes like this, that way if you do find you've made a wrong judgment in your approach, you find out immediately and correct your course.
One thing specific to .Net DI that made it easier was an extension method provided by our architecture team that does a "warmup" of all dependencies registered in your service collection. In practice all this means is, on app startup, it attempts to instantiate every registered service; if a dependency is missing, you'll get an exception for the service that failed to be created with the dep it failed on. Very helpful for chasing down issues related to missing service registrations!
I work on a childrens book app ([redacted]). It is a total blast. I am kind of a rock star at my kids school (as most schools use the app at this point). School kids beg for different features - their ideas are super fun. My kids are interested on what I work on - watching them pick out books to read is fun. Teaching kids to read - makes it easier to wake up in the morning. [Nice change from soul crushing ad work].
My daughter uses Epic for school reading!!! Love that app!
So jealous right now!
I am designing a microchip for gravitational wave measurements, at the same time trying to understand and model the problems not showing in the simulations of the previously designed chips. We will soon begin with the design of new chips for the next generation Large Hadron Collider. In my opinion, in addition to what I am working on, the freedom in the working environment and colleagues' love for what they are doing is one of the main reasons I am having a lot of fun at work.
This really sounds interesting. Just curious does this chip need super high precision? Do you have to get a hang of the physics behind gravitational wave? Thanks!
Yes, the required precision from the electronics is extremely high. I wasn't that much interested in the physics other than semiconductors before, but with the new job I began learning much more about the physics side of the things and it is very enjoyable. However, you don't need to know that much physics for designing the interface electronics as long as you know what you want to measure in terms of electrical parameters (like capacitance, inductance, charge, etc.) and you know the transfer functions of the system to be measured.
A couple years back I switched from web dev to graphics programming on a game team at a big AAA studio
Really enjoy the work itself, there’s tons of interesting algorithms/optimization involved
I feel I actually use my CS knowledge from university more doing this work
Its also really satisfying to visually see the result of your code in the game
On the other hand I do find it a lot harder of a job since you not only have to understand code but also the math behind the code
did you have any past experience before switching?
how was the transition?
From web dev work only really relevant experience was C++. Mainly got the job based on side projects from outside work. Had always been casually interested in graphics and I spent around 2 years dabbling with side projects outside work (stuff like making a toy rendering engine), reading some graphics books, brushing up on linear algebra.
Transition was definitely tough in the beginning due to steep learning curve
You think you know a decent amount from doing tutorials/side projects but a real production engine is a lot more complicated because its been optimized over the years and as a noob its not obvious why things are designed the way they are.
I felt like web dev you can become pretty competent in like 2-3 years but with graphics it feels like the ceiling is much higher and starts to verge on research as you get more into the topic
A lot of newer rendering techniques you can't easily google and you have to end up reading papers if you want to understand/implement them
Fighter WSO. Adventure, comradery, great group of colleagues with a diverse initial background, and shared recent background. My desk job responsibilities are limited, so I usually go home after debrief and do/learn whatever I want, and work on projects. Liberal leave policy. Just hoping I don't end up with a chronic neck/back injury, or die in a crash.
That's awesome! What do you fly in? I'd love to know more about your day :D
Strike Eagle. Days vary significantly based on the sched. Generally: Show up, prep as required, brief, put on gear, fly, debrief, go home, or have a drink in the squadron bar. Sometimes it's a desk duty instead, like briefing the crews who fly and doing coord with maintenance, or sitting in the ATC tower and coording emergencies, weather contingencies etc. Sometimes it's a sim (realistic video game with full mockup cockpit) Sometimes its meetings, academics, training etc. You generally have a desk job too that you change out once a year or so, but many of those are being supplemented by civilians who do it full time.
Unfortunately, the computers used for the desk jobs are horrendously broken. Ie, takes ~30 mins to go from log-on to getting email up; everything has a long response time. Opening a PDF to sign or fill out takes 1-3 minutes or so each.
Apparently computers are crappy along the enitre DoD huh, I've heard that form every branch now. Your job definitely sounds interesting, did you have to go through SERE or is it just pilots?
Yes on SERE
Re-writing a 10-year-old server backend system with matching client-side applications, all of which were abandoned, with no documentation, and which were written in this abhorrent hybrid of C/C++ with more goto's than functions, no const correctness, no unit tests, no testing of any sort, combined with amazingly bad and repetitive spaghetti code everywhere; I am re-writing this in a form that allows for test driven development, code coverage validation, with a matching ci system that performs all the integration testing and deployment automation.
Yeah this is a ton of fun!
It's not every day you get the chance to just re-write something [it rarely is the best idea] but when you do, I relish it.
Working on forecasting solar irradiance at ground level without using physical simulations but only using ML. The idea is to have better and more granular forecasts in order to optimize grid-scale energy storage facilities and peak-power plants to reduce CO2 emissions.
Still entangled in combining the different data sources before start building/training models. So, I'm not having much fun right now, but soon!
"ghostwriting" AI research. Last year optical flow, early this year 3D recognition, last month segmentation, and now speech recognition. Lots of interesting problems and our customers have the practical applications. I maybe worked a bit too much recently because it's so much fun.
Ghostwriting in which sense? Blog posts?
Research in finance; job is open ended mandate to find ways to optimise systems, decision processes and alpha signals. Using R mainly, dropping into c++ for some performance stuff. Occasional use of machine learning.
I took apart a 650,000 BTU oven burner this morning for cleaning, and had to clean out the oven exhaust damper that was starting to get build-up. Soon I’ll be at my desk programming again thankfully.
LPG fueled oven getting sooty?
Me. My company is (relatively) small enough that a single engineer can still make impacts, if you're on the right team. I'm on a small team where I know/own most of the engineering tech, and am trusted by my lead on input. It's mostly DE/back-end/front end, however we use a ton of data for some science-based processes and there's always room for optimizing when we have time.
I actually look forward to work/don't dread Sundays at all.
Came here for positive stories. :) Every time I tried turning things I like into a job turned them into things I hate. ( As soon as the "must" factor is introduced, "fun" evaporates. That's how I stopped being a paid programmer.
PS: related HN article: https://news.ycombinator.com/item?id=31107128
I work on an email marketing product. The product itself is not much different to any other SAAS product but the company pays for me to work in the office which is in another state every quarter so it feels like a free holiday 4x a year. And usually there is a company paid for party/events on in that time.
I'm a DS during the day but recently I started teaching python/ML to a couple of kids (around 8y). It's super nice to see them have fun!
When teaching ML, we mainly used pre-trained models. They learn the concept of data, train/test split, accuracy, and to build programs which use these models.
I am having ton of fun at my current team at Google working on https://pigweed.dev/. I also get to work closely with various hardware teams using these libraries in their products.
IaaS provider with like 20 years of a tech debt. Everytime I make something which ease or improve day to day Ops is marvelous.
EDIT: in a man/years sense, we don't run pre-historic software. Although some of our clients are still on Win2008 and CentOS6...
Part of having fun at work is figuring out how to make work fun yourself. Sure not every task is fun, but having fun is as much a perspective as it is an aspect of the work itself.
UX design for e-commerce stores worldwide. Working with a cool team, with solid leadership. Learning the most I’ve ever learned I my life. Having a blast
Engineering in the research world can be fun. You work with the latest cool technologies together with many experts in many various domains.
I am, I am bootstrapping a studio via the Creative Tim freemium model of building free and paid uikits to build the studio.
GPU hardware architecture. It's just a never ending stream of fun problems to solve and I love it!
I genuinely enjoy the day-to-day of building desktop software applications for engineers.
Crickets. Ok bad joke. I used to enjoy a lot making games and XR apps in Android/iOS/Hololens for small companies. Nowaday I work on automation for one of the large ones, which I find easy and interesting.
Science.xyz
That page is like empty. What do you do?
looks like this https://thenextweb.com/news/science-corp-neuralink-co-founde...