Ask HN: What's an interesting software development niche?
I am getting tired of web development after a couple decades. Anyone work in an interesting software development area that you'd recommend?
I am getting tired of web development after a couple decades. Anyone work in an interesting software development area that you'd recommend?
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.
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.
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.?)
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.
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.
Fun stuff though.
Hi there! I’m the founder of felt.com. Obviously, I am biased but I do work in this industry for the reasons you mentioned. It’s a great intersection of challenging technology, real-world impact and pure fun. Also, I’d say the GIS world is changing so fast right now; the modern GIS stack will look a whole lot different in a few years than it did.
Hi cancan,
Thanks for making that! I really like your service, especially after years of griping at ArcMap. I couldn't believe how archaic and buggy and unpolished their software felt, and I'm so glad to see new players trying to make things easier to use.
I try to describe Felt as the Google Docs of maps, and I've used it to plan several road trips for friends and family. It's really cool to see you add more GIS and data import features too. It's great stuff! Thank you :)
Disclaimer: I also tried to apply for a job at Felt once, but didn't pass the technical interview (a frontend animation challenge which I had no experience with). No hard feelings, but if you have any tips about any particular skills that would be worth developing to get better in this space, I'm all ears, and would love to try again in the future :)
Regardless, I appreciate the product you've built. It's always cool to see web apps being pushed forward in fun and useful ways, ESPECIALLY when they try to disrupt old desktop monstrosities.
Can you please explain the last part of your comment? I’m curious I have zero insight into gis
[dead]
I would like add my experience to this, a month ago I pick metabase as the default data visualization tool for the company I work for, we have to do pin map for some data to visualize but we are behind firewall, internet access is not allowed and is not on the options. we come up with offline map, we downloaded osm mbtiles files and we use tile server to serve the tiles. like others mentioned the whole process was really fun and rewarding. I have touched many stacks and used many software to do the work. Motivated by that I am also implementing a complete offline map of large selected area with satellite images and 3d view. If anyone interested happy to help.
I worked on a GIS project only once in my career, but it was a lot of fun. Learning about different map projections, coordinate systems, WGS84, etc was pretty interesting. Tooling wise we started off with MySQL but migrated to PosrgreSQL with PostGIS for far superior GIS support.
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?
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.
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.
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.
If you make useful music software you can sometimes get to know famous musicians if that interests you.
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.
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.
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.
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 VERY EXPENSIVE VR controller smashed into the floor. That was my first "woah" moment where the incredible potential for VR immersion really clicked for me.
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.
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.
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!)
---
* Actually, all of the code in a block executes at the same time, real world chips have delays, of course.
What can you make with that?
It's a hardware description language. We used VHDL (not Verilog, but equivalent) for some custom processing in a radio, sped things up versus running in software or with a DSP (at the time, DSPs today may be able to replace good chunks of what was in VHDL running on an FPGA in that project).
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.
However, I'm not sure that many embedded places will regard web development as prior experience, because it's such a different world.
Artificial Life - https://en.wikipedia.org/wiki/Artificial_life
These are things I have dabbled in using only web dev skills. The first is my favorite:
* A/B testing
* test automation
* API management and proxies
* transmission protocol authoring, and client applications
* streaming media distribution
* 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.
Visual Effects industry is really cool. 3d worlds applied to more than M&E as well (Omniverse, Unity, Unreal)
Hacking the firmware in consumer DSLR and mirrorless cameras. I've been there for 3 years so far.
To do what? Also how did you get started in that?
see magiclantern.fm and fujihack.org. it's mostly a hobby project.
Thank you for your work. I used to have an old Canon which I flashed with Magic Lantern :-)
Desktop apps. It's a lot of fun.
[dead]