Ask HN: Who here is not working on web apps/server code?
I feel like reading HN sometimes there is the assumption that everyone who is a programmer by default works on web stuff (front end/back end).
I'm curious to hear about what other jobs/domains exist outside of this and how it is working on non-web stuff.
71 comments
[ 3.7 ms ] story [ 68.4 ms ] threadCompressing Lamport Signatures is a side-project of mine too.
I work on graphics drivers. They're hard write and even harder to debug. You have to be a huge nerd about graphics to get very far. It's a relatively rare skill set, but new, younger, nerdier people keep on coming. Most people in graphics are quiet and are just keeping the industry functioning (me). It's applied computer architecture in a combination of continuous learning and intuition from experience.
It is a different experience to be sure - I work on stuff that nobody likes and where most people are surprised it still exists. And my goals tend to be about shutting down, not growing. I succeed with every server we kill, every product we turn off, every customer we get rid of.
I'm building a better primitive for infrastructure via microvm's (think virtual machine but fast and easy to use).
I am about to launch a complete rewrite of this: https://github.com/BinSquare/ERA
The first version of the code looks like this, https://youtube.com/watch?v=rJuRTZOE99g
The new version is much more feature rich, catering towards the user. Unreal use in Python is now native and users can launch a dedicated server.
The development process can be slow, lots of waiting on compiling and cooking. The Python part of this project is great. Code is very simple and readable and I'm building out a renderer for the geometric algebra package I'm using, Kingdon. This lets users quickly visualize 3D elements, lines, points, planes, and shapes. Working on non-web stuff is great. I love building out UI and text in 3D, it feels like the final form of UI and is a lot more expressive than web UI. Controlling objects in 3D let's you do a lot more. Everything feels right.
I used to work in web dev, but I enjoy my current work a lot more. Most of my web role was just taking mockups from the UX team and translating them into code which felt mindless. Now I get handed a system and am asked to squeeze as much performance out of it as possible which I find much more interesting.
On the software/networking side of things the biggest change is working with protocols other than http.
Earlier it was geodata imports from OSM or private sources. Now it's mostly routers and GPS tracks. Interfacing with OSRM & Valhalla via C bindings. Road graph analysis and algorithms. I wrote a router myself, comparing different routing algorithms. I also developed a pedestrian traffic model for entire cities, for retail. I also did various ML models. My languages are Python w/ GeoPandas & CatBoost, Rust, Go.
(Germany/Munich)
https://ironcore.dev/
Previously I was working on the ingress components of Cloud Foundry, a Platform-as-a-Service offering.
https://www.cloudfoundry.org/
Currently rebuilding a VFX studio replacing Windows with Linux with a bespoke PXE system and then implementing a Data Vault to secure IP we receive from movie studios.
I was once in a group that was switched away from the work we were doing and repurposed to do web work. It was a bad experience, but not because it was web work. The code base we were given was in terrible shape and we weren't allowed the time to adequately fix issues. Thankfully I no longer work there.
Though the end-use isn't web, we can't deny that much of development still goes to building web-services and consumer app.
It's a giant pile of legacy code so a lot of what I do is just C++ generalist stuff, but I have a strong math background so if that's ever called for it's me doing that work (especially because I have English-language skills that don't often come with the strong math background at this pay scale). In particular, I'm the guy wrangling Parasolid (geometry kernel used by SolidWorks, for those familiar) to produce geometry for walls and floors.
Full-time: C++ work on nearby connectivity (bluetooth) for embedded / industrial devices (factory equipment). Deep stack, hardware constraints, long lifecycles, high reliability.
Non-web work feels very different: stronger constraints, slower but deliberate releases, and bugs are much more expensive. There’s a lot of interesting software being built far away from HTTP and browsers.
Full time work: GPU driver development and integration for a smartphone series. It's fun to see how the sauce is made.
Eventually: hope to pick up Rust.