It's not my day job and I would not recommend it, but it's interesting to me: delinking, or the art of taking a program and turning it back into object files. That niche is so small, there's no literature on it and it might as well be straight out of some post-apocalyptic cyberpunk universe.<p>Simply put, when you have the ability to dismantle an executable for parts like a Lego set, you can reuse them in ways conventional software development methods can't, some of which I've demonstrated on my blog. It completely upended the way I think about the process of software development, because the toolchain is no longer a directed acyclic graph.<p>It is complete heresy according to established computer sciences, but it's devilishly fun. Developing the tooling for it and especially automating this process has been by far the most challenging yet rewarding project I've ever tackled. It's unusually exacting and it's very punishing if you get it wrong, but when it works it's truly magical.
Have you ever considered GIS (mapping, geo datasets, cartography, drones, photogrammetry, etc.?)<p>I thought it was an interesting niche that on the user side (governments, researchers, environmental consultancies, etc.) tend to focus around one big company (ESRI), but on the web side, you have things like Felt.com, Mapbox, etc., and on the app side, Gaia, Handlebars, Trailforks, Alltrails, RidewithGPS, Strava, etc.<p>Personally I'm drawn to it because of the intersection of software and real-world data, but I've never worked in it full time – just studied it a bit in college and did some side projects.<p>Fun stuff though.
I'll just answer the title, as I am not sure I'd call it work or even recommend it. But, I've been developing software for jailbroken iOS on and off for over a decade. It definitely fits the interesting niche category as it has a nice mix of reverse engineering and software development.
What do you consider interesting? Do you want to be 'superman' and constantly be the hero rescuing the company/customers? Do you want to make a difference with your efforts? Or do you mean interesting to others and you want people to perk up when you tell them what you do?<p>ERP/PLM for aerospace manufacturers can be interesting if you like jets/space. It has the added benefit of filling that 'superman' role thing if you need to be needed. To do it right you basically have to learn every roll at the company.<p>Medical software can feel meaningful if you don't pick something lame like Epic. Can be cool knowing you improved tens of thousands of lives at a location when you go to a city that has your software/product.<p>If you want to be the next cool kid at parties like the FAANG people used to be I don't think there is a new one yet. AI already has so much blow back it's definitely not it.<p>If you make useful music software you can sometimes get to know famous musicians if that interests you.<p>Some people have started doing some average person empowering AI stuff. A chat bot for me that navigates waiting on hold (because every company is continuously experiencing higher than average volume) or talking to XYZs chat bot until I get to a person would be great. They are going to force me to deal with a bot, I should be able to have my own bot deal with theirs the let me know once it's gotten through their dark pattern firewall.<p>There was someone on Reddit cataloging company job listings to determine if they are actually real listings that get filled or not. There could be some interesting stuff in that space to push back on the dystopian nightmare that modern hiring has turned into. I feel like that would fill the malicious streak if you have one.<p>I hear it's fun and a warm community to do Rust dev work on the Linux kernel right now :)
Back around a decade ago I worked as a software engineer for a company that specialized in botique residential real estate with the gimmick of allowing buyers to use VR headsets to visualize/place high end furniture and "walk around" the space.<p>At one point during some of the development, I remember doing some testing in one of the VR environments and suddenly felt an urge to scratch my nose, so I quickly laid down the VR remote on a nearby table... and a second later heard a loud cracking sound as the <i>VERY EXPENSIVE</i> VR controller smashed into the floor. That was my first "woah" moment where the incredible potential for VR immersion really clicked for me.<p>I don't know how frothy the VR space is anymore so while I can't necessarily recommend it from a financial perspective it was certainly a lot of fun.
I'm currently building a SQL editor for the phone. This project has me going deep into the weird intersection between mobile UX, database implementations, and parsers + ASTs.<p>The world of software development on the phone is, in my opinion, very underexplored.
If you really want to stretch your mind, consider learning Verilog. Writing code that takes exactly ZERO* time to execute, and all works in parallel, is strange at first.<p>I got my first FPGA board from Amazon for $27 (a Tang Nano 9k), and use YoSys to program it (open source for the win!)<p>---<p>* Actually, all of the code in a block executes at the same time, real world chips have delays, of course.
I don’t see any end to gaming. It meets deep human needs to master things, achieve things along the way and participate in a way that you don’t do with spectator sports, movies, or tv. I’m a jaded corporate type and it seems like playtime to me! Plus, I’ve watched mythic quest!
I find embedded software rather interesting. It's almost the opposite extreme from web development.<p>However, I'm not sure that many embedded places will regard web development as prior experience, because it's such a different world.
These are things I have dabbled in using only web dev skills. The first is my favorite:<p>* A/B testing<p>* test automation<p>* API management and proxies<p>* transmission protocol authoring, and client applications<p>* streaming media distribution<p>* media/game/file server application
Windows native C/C++ desktop development (and non-gaming)? I actually think this is becoming a niche now, comparing to other desktop devs, especially if you don't use QT.