If you're a programmer you can always become a founder, I'm in process of building my own Payment Platform because I wasn't satisfied with the existing solutions.
Now I'm doing legal stuff, management and fintech plus web apps servers. Cheers.
Electrical engineering and science qualifications. Work on signal processing (FPGA/DSP/CPU), Radio hardware and firmware for WiFi/LMR/LTE. IC design. Radar systems. Counter-drone systems.
The work can be interesting, but intense when in the thick of building a system. There is less competition for jobs compared to pure web/programming, but also less jobs in total. The option is always there to take a web/programming gig if the specialised work is hard to get. Potentially pay is lower than some of the big US web companies, but that's probably as much from me not chasing dollars to the exclusion of all else. Some people/companies don't see this work as deserving of the same/better compensation as web/programming, as it is not as easy to understand and they won't pay for what they don't understand. Find the right employer/client and it can be lucrative.
Working in a Data Engineering/Operations role which focuses heavily on financial datasets. Everything is within AWS and Snowflake and each table can easily have >100M records of any type of random data (there is a lot of breadth.) General day to day is creating jobs that will process large amounts of input data and storing them into Snowflake, sending out tons of automated reports and emails to decision makers as well as gathering more data from the web.
All of this is done in a Python environment with usage of Rust for speeding up critical code/computations. (The rust code is delivered as Python modules.)
The work is interesting and different challenges arise when having to process and compute datasets that are updated with 10s of TBs of fresh data daily.
Embedded software developer here, with very minimal professional hardware design experience. I mostly write nostdlib C, and never use malloc. I write peripheral drivers from scratch even if there’s an “SDK” for it. I spend almost 40% of my time reading documentation, 30% scribbling state machines, 15% writing code and 15% testing it on hardware. LLMs don’t help me much. I use them to write scripts for me to parse my stdout and find patterns. For breakfast, I fight EEs to prove their hardware doesn’t work. I have exploded hardware setups for the products I’m developing for on my desk. JLink is the favorite thing in my aresenal. Even the slightest latency on my text editor annoys the shit out of me, which is why I don’t use IDEs.
I was a web developer until 9 years ago. It was Django & jQuery, but React came with factories of abstract factories, and I happily quit for geospatial development and analysis.
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.
I build ETL pipelines and all kinds of ad-hoc data processing software. These range from python projects to thousand-line shell scripts. The jobs run on machines above >1000 CPU core counts - what you would consider a mainframe or big iron.
Web stuff will burn you out. In my case, that happened 10+ years ago and I've never desired to go back [to building web products].
Working in silicon design, Verilog and SystemVerilog are the bulk of the work, but a lot of scripting of EDA tools too. I enjoy it, I think it's very different working on something which has to be complete when you're done versus something that can be updated easily.
Still sort of web stuff, but not the kind that HN usually does:
I'm trying to get back into computer networking - both physical cables and the computer code sides of things. Over the past 5 years beginning in the covid lockdowns, I've been watching a lot of the application layer stuff that was written over the past 10-15 years (the stuff HN usually does) slowly blow up. Usually because some REST API or something either broke or got depreciated somehow. This has been affecting both cloud and desktop apps I use, and has made me see the real value in refreshing my lower level network knowledge.
Heck, I'm honestly thinking about getting a CCNA now (or some other non-degree universal cert).
I work in RF comms. Most of my work is in network simulation from the transport layer all the way down to the physical layer to prove out radio performance before expensive flight testing. I also work on error correction schemes as the networks I develop may be lossy compared to the internet at large.
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.
Doing embedded development using C. Thoroughly enjoy it.
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.
I have worked exclusively on web apps for my entire career (~17 years), but something is pulling me toward C development. I have no idea how to really get started though. I'm doing a little hobby project, but I'm not sure where to channel my study/effort to become good enough for a career change. I picked up the second edition of The C Programming Language by Kernighan/Ritchie, but I assume it's outdated by now. Any advice?
I'm not sure I'm the best person for advice on this matter, or maybe it is great advice for some. I took a leap, believed in myself, and it worked out okay.
I'm self taught when it comes to computers and software development. For years before I landed a paying development job I did a lot of hobby projects. When I decided to take the leap and landed my first development job I took a fairly steep cut in pay. I was single, could afford the cut and was doing something I really wanted to do. It got the experience I needed and after the first year and changing jobs, my pay substantially increased.
I realize not everyone can take the approach I took. It may not even work these days. I did this 38 years ago when the industry was a bit more accepting of developers without a college degree.
Addendum: I also networked. I went to the equivalent of meet ups of the day. Talked with other developers, showed them my work, etc. This is how I found my first job.
Start by writing a few basic hello world style programs while focusing on the "C way of doing things" - most importantly how you manage memory in C. That's probably the biggest pitfall I see people coming from higher level programming trip up on. Study how objects work, different forms of math, etc. And that's all console code btw - don't move onto GUIs until your console knowledge is solid. GUIs are a whole different beast in C/C++ (and are a big reason why frameworks like Electron were built).
LLMs can also help you break into C development by a large degree. But they still get overwhelmed on a sufficiently large C codebase just like any other language. Your mileage may vary there.
Got my start with C via Linux kernel hacking in the 90s. It's practical so that's where I would recommend. (or a BSD kernel which are often better organized).
With ~17 years of experience already, start with the study of the structure of C programs. Recreate some of it manually, build it, and research the things that do not behave as expected.
Bonus of using an open source kernel is they have a lot of eyeballs on them. They will be pretty dialed in versus studying random Github projects that happen to be written in C.
Would recommend avoiding cognitive overload, wait until you get into comfortable flow writing, building, fixing as needed, simple programs before you dive into lower level debugging, trying to grasp assembly structures that a compiler spits out.
Honestly, they shouldn't even need to touch a debugger if they're able to reasonably manage their memory "well enough". Like in general. I'd only touch a debugger myself if I knew I was dealing with a memory problem.
I'm not even a dev at all, I just dabble on the side (since like elementry school lol). By day I'm just a lowly windows sysadmin. (which is particularly weird because I don't run windows, and haven't for about a decade.) I'm not particularly good at articulating my skills or believing that I actually have them so I just take whatever jobs I can get.
(but if anyone is hiring, i come cheap if it involves cool stuff particularly anything not windows related.)
Side project: A native macOS app in Swift that runs locally and uses AI to clean and organize files by moving them into the best-matching folders. No backend or accounts. https://floxtop.com
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.
That's neat, using Apple Foundation Models or something else? I'm very curious about how it's determining folder matches (I need to do something for images that are already classified/tagged via FastVLM) in iOS.
Not Apple Foundation Models — unfortunately they’re not capable enough (yet) for understanding content and matching it to folders.
I’m using SBERT-style embedding models for the semantic matching, which works very well in practice.
For non-text content, the app also analyzes images (OCR + object recognition) using Apple’s Vision framework. That part is surprisingly powerful, especially on Apple Silicon.
> I need to do something for images that are already classified/tagged via FastVLM
What’s the concrete use case you’re targeting with this?
Classifying real estate / property images. Also using Apple Vision which ain't half-bad for something on device and feeding that metadata along with what FastVLM returns into Foundation model to turn into structured output - trying to see how far a I can push that. But feels pretty limited/dated in term of capabilities vs lead edge models.
I’ve seen a huge advantage in running everything fully local and private. Not sure if that fits your use case, though. Nearly 90% of Floxtop users choose the app mainly for that privacy focus.
Side project(s): Grokking Windows development from the top of the stack to the kernel; everything from Win32, WinUI, WPF, COM, to user- and kernel-mode driver development. It's fun to write drivers in modern C++. Also, massively procrastinated, Vulkan/D3D12 cross-platform game engine written in C++23/26, work-in-progress.
Full time work: GPU driver development and integration for a smartphone series. It's fun to see how the sauce is made.
Are you seeing anything interesting happening in this space with Zig? I've been dabbling a bit (after seeing so much about it on HN), but TigerBeetle is the only successful project I can name. I know a few embedded developers, and they all seem pretty content with C.
I have minimal experience with modern Web tech, though I used to run a couple websites in the old days.
My main job currently is in game dev, writing C#. Working for a small studio with flexible roles, I sometimes also take the opportunity to use other tech, like actual web stuff. A couple years ago I wrote a simple HTTP API for some internal needs and that was the first time I did modern web.
I've worked in the embedded space and adjacent. I've done automotive (Autosar), I've done some bare metal applications and I've maintained a custom Linux system for a series of embedded products. I've also worked on tooling (native desktop applications) related to some of these embedded uses.
For fun I still play with some embedded development, and would like to do another Android app. I built a couple simple ones years ago and generally Android development seems pretty pleasant to me, but I haven't done Android side projects in a long time because I can't really think of any apps I'd actually like to have.
Embedded developer here, automotive-related. C, some Python for tests, some shell scripts, CMake, etc. for CI. Review of hardware schematics, reading datasheets, reading various standards documents (USB, various SAE standards, various ISO standards, etc.) is required. Firmware updates take weeks of testing, even though the unit tests run in seconds they can't catch most errors the system can encounter in practice, and simulator tests don't catch things like increased temperature raising power consumption without an expensive thermal chamber. Factory production sets hard deadlines on quite a few things. All together, that means it's a more deliberate, slower release cycle.
I was hired for full-stack development, but ended up getting moved to a different team working on a desktop application in C++/C#. I've ended up preferring the desktop work a bit more. The problems I have to solve tend to feel more interesting, though that could just be a product of the environment I'm in and the app we're making.
Seeing a lot of people here who work in embedded. Would definitely be interested in diving into that world a bit more. Seems like a lot of fun being that close to the hardware.
I work on the software stack for a biological computing platform (think: tool for programming with human neurons in a dish).
Coding work spans FPGA (SystemVerilog), Linux kernel C, userspace C, Python, and yes, some web services and Browser JavaScript also. I also work on the network engineering of the cloud service and on the Linux OS image.
Easily the most fun I’ve had as a developer and I’ve worked on lots of different types of commercial software projects before. Not all the world is web apps, embedded work can be very satisfying if you’ve not considered it.
Embedded, a mix of Linux (yocto), boot loaders (mostly C), some bare metal C/assembly. Have worked in aerospace for 6 years but am currently looking to hop over to another industry, ideally AI accelerators/semiconductors or medical devices. I enjoy it, for the most part.
I suppose two other major categories would be mobile apps and gaming. Some overlap is possible too, e.g. mobile apps would use some web tech, or gaming might often be mobile gaming.
I work on a CAD package for Architects. In C++. It is a native Windows / macOS application.
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.
I haven't made a website of any kind since a C&C: Red Alert fan site somewhere on GeoCities in the late 90s.
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.
Hardware bugs can be found during chip bring-up within the first couple of months back from the fab, but since I've worked in this area I've never actually seen a bug that couldn't be worked around. They happen, but they're rare and I've never experienced a chip needing a respin because of a bug.
There is documentation, but it's not as well organized as you might imagine. Documentation is usually only necessary when implementing new features, and the resulting code doesn't change often. There are also multiple instruction sets as there are a bunch of little processors you need to control.
Vulkan/DX12 aren't really "low-level" APIs. They're "low overhead", and honestly, no. Their code base is just as large and complicated, if not more so, than OpenGL/DX11.
I am working on the bare metal automation of IronCore. The project provides tooling to automate the management of data-center hardware and a an Infrastructure-as-a-Service offering on top of that.
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'm in healthcare IT management, infrastructure, policy, new projects, all the stuff that comes down from the top, except I have a strong technical background, rather than just being a business guy. I started in PC repair 30+ years ago and have always been a hardware guy. I can do a little coding, but I'm the guy that creates the platforms coders work on.
I developed Android apps for an EV charging platform for 5 years. Now working for Mapbox to integrate a navigation app into cars. Quite complex environment. Most Android topics are exactly the same as on a phone, it’s quite fun though because your app can control car functionality
I don’t work on web apps at all. Most of my time goes into security tooling and analysis pipelines.
A lot of it is closer to systems work than application development: parsing large datasets, automating analysis, dealing with flaky inputs, and building things that are mostly run headless.
The feedback loop is slower than web work, but the problems tend to be deeper and longer-lived. You spend less time on UX and more time thinking about correctness, edge cases, and failure modes.
I suspect there are many people here doing similar non-web work, it’s just less visible because there’s no UI to screenshot or product to demo.
I’m an ML researcher currently working on model compression for AI hardware accelerators. Mostly developing and testing quantization algorithms, and hw/sw codesign.
I build audio software engines mostly. This is highly enjoyable to me, because I get to create new sounds and new audio effects with results being near instant. Upgrading old Amiga ProTracker .MOD file playback to not sound so 8-bit and low samplerate is a fun challenge too.
Compressing Lamport Signatures is a side-project of mine too.
90% of the programming I've done over my 30+ year career has been for various flavors of embedded systems. Mainly Medical Devices for the last 20 years. Although there was an interesting detour into Group Fitness (managing data from connected gym equipment) for a few years.
They varied in complexity from little 8-bit microcontrollers to 64-bit server-class blade PC's orchestrating dozens of smaller controllers over serial networks. Written a lot of C++ to the point where I'm just about sick of it.
I've also done the odd webapp, desktop or mobile app from time to time (C# is fun!), but it's been mostly embedded stuff paying my bills.
I did do web work for a long time, but I grew tired of it, so these days I just do contract work on legacy systems and platform modernizations. Some of those systems may have a web UX, some do not. But the work is more about refactoring architectures to get off brittle tech that nobody knows anymore, and move on to tech stacks where you can actually find talent to run it.
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.
We write mostly Java, some Kotlin, targeting the JVM.
Most commonly our software runs on premises on server-class hardware (or what passes for server-class depending on the industry...), sometimes hosted in the cloud, sometimes on "edge" hardware (think Raspberry Pi class power/spec wise).
One component of the software actually is a web frontend (and a Jetty backend) to go with it, but it's not your typical "web-app" and it's not SaaS. But there's much more to it than that.
I am working on fundraising and administration for a robotics venture. Very little work goes on engineering subjects at present, more often things like patent law, corporate administration, strategy, network build-out and the present penultimate goal fundraising for an aggressive scale go to market autonomous factory. However, the prior eight years have given me an amazing opportunity to study all manner of engineering subjects from mechanical to structural, electronic to electrical, production and fabrication through operations research, logistics and supply chain. I now have a very 'grass roots' view of venture administration, cross-disciplinary R&D and commercialization that is globally informed and very difficult to gain in any context. While significant yield remains at this stage speculative, nevertheless it is very interesting!
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.
If you're a programmer you can always become a founder, I'm in process of building my own Payment Platform because I wasn't satisfied with the existing solutions.
Now I'm doing legal stuff, management and fintech plus web apps servers. Cheers.
Electrical engineering and science qualifications. Work on signal processing (FPGA/DSP/CPU), Radio hardware and firmware for WiFi/LMR/LTE. IC design. Radar systems. Counter-drone systems.
The work can be interesting, but intense when in the thick of building a system. There is less competition for jobs compared to pure web/programming, but also less jobs in total. The option is always there to take a web/programming gig if the specialised work is hard to get. Potentially pay is lower than some of the big US web companies, but that's probably as much from me not chasing dollars to the exclusion of all else. Some people/companies don't see this work as deserving of the same/better compensation as web/programming, as it is not as easy to understand and they won't pay for what they don't understand. Find the right employer/client and it can be lucrative.
Working in a Data Engineering/Operations role which focuses heavily on financial datasets. Everything is within AWS and Snowflake and each table can easily have >100M records of any type of random data (there is a lot of breadth.) General day to day is creating jobs that will process large amounts of input data and storing them into Snowflake, sending out tons of automated reports and emails to decision makers as well as gathering more data from the web.
All of this is done in a Python environment with usage of Rust for speeding up critical code/computations. (The rust code is delivered as Python modules.)
The work is interesting and different challenges arise when having to process and compute datasets that are updated with 10s of TBs of fresh data daily.
> General day to day is creating jobs that will process large amounts of input data and storing them into Snowflake
About how long do these typically take to execute? Minute, Tens of Minutes, Hours?
My work if very iterative where the feedback loop is only a few minutes long.
Embedded software developer here, with very minimal professional hardware design experience. I mostly write nostdlib C, and never use malloc. I write peripheral drivers from scratch even if there’s an “SDK” for it. I spend almost 40% of my time reading documentation, 30% scribbling state machines, 15% writing code and 15% testing it on hardware. LLMs don’t help me much. I use them to write scripts for me to parse my stdout and find patterns. For breakfast, I fight EEs to prove their hardware doesn’t work. I have exploded hardware setups for the products I’m developing for on my desk. JLink is the favorite thing in my aresenal. Even the slightest latency on my text editor annoys the shit out of me, which is why I don’t use IDEs.
I was a web developer until 9 years ago. It was Django & jQuery, but React came with factories of abstract factories, and I happily quit for geospatial development and analysis.
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.
I work on microcontroller (parallax propeller 2) programs during the day and make games in dragonruby at night.
I'm working on a YouTube channel to showcase life and surfing in North San Diego County.
You can check it out here: https://www.youtube.com/@soncsd
I build ETL pipelines and all kinds of ad-hoc data processing software. These range from python projects to thousand-line shell scripts. The jobs run on machines above >1000 CPU core counts - what you would consider a mainframe or big iron.
Web stuff will burn you out. In my case, that happened 10+ years ago and I've never desired to go back [to building web products].
Working in silicon design, Verilog and SystemVerilog are the bulk of the work, but a lot of scripting of EDA tools too. I enjoy it, I think it's very different working on something which has to be complete when you're done versus something that can be updated easily.
Still sort of web stuff, but not the kind that HN usually does:
I'm trying to get back into computer networking - both physical cables and the computer code sides of things. Over the past 5 years beginning in the covid lockdowns, I've been watching a lot of the application layer stuff that was written over the past 10-15 years (the stuff HN usually does) slowly blow up. Usually because some REST API or something either broke or got depreciated somehow. This has been affecting both cloud and desktop apps I use, and has made me see the real value in refreshing my lower level network knowledge.
Heck, I'm honestly thinking about getting a CCNA now (or some other non-degree universal cert).
I work in RF comms. Most of my work is in network simulation from the transport layer all the way down to the physical layer to prove out radio performance before expensive flight testing. I also work on error correction schemes as the networks I develop may be lossy compared to the internet at large.
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.
Doing embedded development using C. Thoroughly enjoy it.
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.
I have worked exclusively on web apps for my entire career (~17 years), but something is pulling me toward C development. I have no idea how to really get started though. I'm doing a little hobby project, but I'm not sure where to channel my study/effort to become good enough for a career change. I picked up the second edition of The C Programming Language by Kernighan/Ritchie, but I assume it's outdated by now. Any advice?
I'm not sure I'm the best person for advice on this matter, or maybe it is great advice for some. I took a leap, believed in myself, and it worked out okay.
I'm self taught when it comes to computers and software development. For years before I landed a paying development job I did a lot of hobby projects. When I decided to take the leap and landed my first development job I took a fairly steep cut in pay. I was single, could afford the cut and was doing something I really wanted to do. It got the experience I needed and after the first year and changing jobs, my pay substantially increased.
I realize not everyone can take the approach I took. It may not even work these days. I did this 38 years ago when the industry was a bit more accepting of developers without a college degree.
Addendum: I also networked. I went to the equivalent of meet ups of the day. Talked with other developers, showed them my work, etc. This is how I found my first job.
Start by writing a few basic hello world style programs while focusing on the "C way of doing things" - most importantly how you manage memory in C. That's probably the biggest pitfall I see people coming from higher level programming trip up on. Study how objects work, different forms of math, etc. And that's all console code btw - don't move onto GUIs until your console knowledge is solid. GUIs are a whole different beast in C/C++ (and are a big reason why frameworks like Electron were built).
LLMs can also help you break into C development by a large degree. But they still get overwhelmed on a sufficiently large C codebase just like any other language. Your mileage may vary there.
Got my start with C via Linux kernel hacking in the 90s. It's practical so that's where I would recommend. (or a BSD kernel which are often better organized).
With ~17 years of experience already, start with the study of the structure of C programs. Recreate some of it manually, build it, and research the things that do not behave as expected.
Bonus of using an open source kernel is they have a lot of eyeballs on them. They will be pretty dialed in versus studying random Github projects that happen to be written in C.
Would recommend avoiding cognitive overload, wait until you get into comfortable flow writing, building, fixing as needed, simple programs before you dive into lower level debugging, trying to grasp assembly structures that a compiler spits out.
Honestly, they shouldn't even need to touch a debugger if they're able to reasonably manage their memory "well enough". Like in general. I'd only touch a debugger myself if I knew I was dealing with a memory problem.
A next-gen [0] terminal emulator. It's in Early Access, but watch the 3-minute landing trailer for the gist of the vision.
The difficult "grunt work" is in keeping the native binary small (~5MB or less) and working on Windows, Mac and Linux at feature-parity.
[0] https://terminal.click
I'm not even a dev at all, I just dabble on the side (since like elementry school lol). By day I'm just a lowly windows sysadmin. (which is particularly weird because I don't run windows, and haven't for about a decade.) I'm not particularly good at articulating my skills or believing that I actually have them so I just take whatever jobs I can get.
(but if anyone is hiring, i come cheap if it involves cool stuff particularly anything not windows related.)
Side project: A native macOS app in Swift that runs locally and uses AI to clean and organize files by moving them into the best-matching folders. No backend or accounts. https://floxtop.com
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.
That's neat, using Apple Foundation Models or something else? I'm very curious about how it's determining folder matches (I need to do something for images that are already classified/tagged via FastVLM) in iOS.
Not Apple Foundation Models — unfortunately they’re not capable enough (yet) for understanding content and matching it to folders.
I’m using SBERT-style embedding models for the semantic matching, which works very well in practice.
For non-text content, the app also analyzes images (OCR + object recognition) using Apple’s Vision framework. That part is surprisingly powerful, especially on Apple Silicon.
> I need to do something for images that are already classified/tagged via FastVLM
What’s the concrete use case you’re targeting with this?
Classifying real estate / property images. Also using Apple Vision which ain't half-bad for something on device and feeding that metadata along with what FastVLM returns into Foundation model to turn into structured output - trying to see how far a I can push that. But feels pretty limited/dated in term of capabilities vs lead edge models.
I’ve seen a huge advantage in running everything fully local and private. Not sure if that fits your use case, though. Nearly 90% of Floxtop users choose the app mainly for that privacy focus.
Side project(s): Grokking Windows development from the top of the stack to the kernel; everything from Win32, WinUI, WPF, COM, to user- and kernel-mode driver development. It's fun to write drivers in modern C++. Also, massively procrastinated, Vulkan/D3D12 cross-platform game engine written in C++23/26, work-in-progress.
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.
Embedded systems / IoT / Smart Home. Lots of C. There’s still backend and mobile but there’s a LOT of C and firmware at the core.
Are you seeing anything interesting happening in this space with Zig? I've been dabbling a bit (after seeing so much about it on HN), but TigerBeetle is the only successful project I can name. I know a few embedded developers, and they all seem pretty content with C.
I have minimal experience with modern Web tech, though I used to run a couple websites in the old days.
My main job currently is in game dev, writing C#. Working for a small studio with flexible roles, I sometimes also take the opportunity to use other tech, like actual web stuff. A couple years ago I wrote a simple HTTP API for some internal needs and that was the first time I did modern web.
I've worked in the embedded space and adjacent. I've done automotive (Autosar), I've done some bare metal applications and I've maintained a custom Linux system for a series of embedded products. I've also worked on tooling (native desktop applications) related to some of these embedded uses.
For fun I still play with some embedded development, and would like to do another Android app. I built a couple simple ones years ago and generally Android development seems pretty pleasant to me, but I haven't done Android side projects in a long time because I can't really think of any apps I'd actually like to have.
Embedded developer here, automotive-related. C, some Python for tests, some shell scripts, CMake, etc. for CI. Review of hardware schematics, reading datasheets, reading various standards documents (USB, various SAE standards, various ISO standards, etc.) is required. Firmware updates take weeks of testing, even though the unit tests run in seconds they can't catch most errors the system can encounter in practice, and simulator tests don't catch things like increased temperature raising power consumption without an expensive thermal chamber. Factory production sets hard deadlines on quite a few things. All together, that means it's a more deliberate, slower release cycle.
I was hired for full-stack development, but ended up getting moved to a different team working on a desktop application in C++/C#. I've ended up preferring the desktop work a bit more. The problems I have to solve tend to feel more interesting, though that could just be a product of the environment I'm in and the app we're making.
Seeing a lot of people here who work in embedded. Would definitely be interested in diving into that world a bit more. Seems like a lot of fun being that close to the hardware.
I work on the software stack for a biological computing platform (think: tool for programming with human neurons in a dish).
Coding work spans FPGA (SystemVerilog), Linux kernel C, userspace C, Python, and yes, some web services and Browser JavaScript also. I also work on the network engineering of the cloud service and on the Linux OS image.
Easily the most fun I’ve had as a developer and I’ve worked on lots of different types of commercial software projects before. Not all the world is web apps, embedded work can be very satisfying if you’ve not considered it.
Embedded, a mix of Linux (yocto), boot loaders (mostly C), some bare metal C/assembly. Have worked in aerospace for 6 years but am currently looking to hop over to another industry, ideally AI accelerators/semiconductors or medical devices. I enjoy it, for the most part.
I suppose two other major categories would be mobile apps and gaming. Some overlap is possible too, e.g. mobile apps would use some web tech, or gaming might often be mobile gaming.
I work on a CAD package for Architects. In C++. It is a native Windows / macOS application.
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.
I haven't made a website of any kind since a C&C: Red Alert fan site somewhere on GeoCities in the late 90s.
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.
That is interesting, do you ever find bugs in the hardware itself?
Is there some big spec document or ISA that you follow when implementing the driver?
Also I'm curious is it easier to write a driver for the modern "lower level" APIs like vulkan/dx12?
Hardware bugs can be found during chip bring-up within the first couple of months back from the fab, but since I've worked in this area I've never actually seen a bug that couldn't be worked around. They happen, but they're rare and I've never experienced a chip needing a respin because of a bug.
There is documentation, but it's not as well organized as you might imagine. Documentation is usually only necessary when implementing new features, and the resulting code doesn't change often. There are also multiple instruction sets as there are a bunch of little processors you need to control.
Vulkan/DX12 aren't really "low-level" APIs. They're "low overhead", and honestly, no. Their code base is just as large and complicated, if not more so, than OpenGL/DX11.
I wish I was doing your job. How do I do so ?
I am working on the bare metal automation of IronCore. The project provides tooling to automate the management of data-center hardware and a an Infrastructure-as-a-Service offering on top of that.
https://ironcore.dev/
Previously I was working on the ingress components of Cloud Foundry, a Platform-as-a-Service offering.
https://www.cloudfoundry.org/
I am currently working on a desktop application for 3D spreadsheets.
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'm something of a data scientist for a community college. Most of the problems are social not technical but I am still writing code often enough.
I'm in healthcare IT management, infrastructure, policy, new projects, all the stuff that comes down from the top, except I have a strong technical background, rather than just being a business guy. I started in PC repair 30+ years ago and have always been a hardware guy. I can do a little coding, but I'm the guy that creates the platforms coders work on.
I developed Android apps for an EV charging platform for 5 years. Now working for Mapbox to integrate a navigation app into cars. Quite complex environment. Most Android topics are exactly the same as on a phone, it’s quite fun though because your app can control car functionality
(Germany/Munich)
Neurotech, so a combination of hardware, software, and science.
Though the end-use isn't web, we can't deny that much of development still goes to building web-services and consumer app.
I work on 3D printing algorithms at Formlabs. Lots of computational geometry.
I don’t work on web apps at all. Most of my time goes into security tooling and analysis pipelines. A lot of it is closer to systems work than application development: parsing large datasets, automating analysis, dealing with flaky inputs, and building things that are mostly run headless. The feedback loop is slower than web work, but the problems tend to be deeper and longer-lived. You spend less time on UX and more time thinking about correctness, edge cases, and failure modes. I suspect there are many people here doing similar non-web work, it’s just less visible because there’s no UI to screenshot or product to demo.
I’m an ML researcher currently working on model compression for AI hardware accelerators. Mostly developing and testing quantization algorithms, and hw/sw codesign.
I build audio software engines mostly. This is highly enjoyable to me, because I get to create new sounds and new audio effects with results being near instant. Upgrading old Amiga ProTracker .MOD file playback to not sound so 8-bit and low samplerate is a fun challenge too.
Compressing Lamport Signatures is a side-project of mine too.
90% of the programming I've done over my 30+ year career has been for various flavors of embedded systems. Mainly Medical Devices for the last 20 years. Although there was an interesting detour into Group Fitness (managing data from connected gym equipment) for a few years.
They varied in complexity from little 8-bit microcontrollers to 64-bit server-class blade PC's orchestrating dozens of smaller controllers over serial networks. Written a lot of C++ to the point where I'm just about sick of it.
I've also done the odd webapp, desktop or mobile app from time to time (C# is fun!), but it's been mostly embedded stuff paying my bills.
I do infrastructure automation, so other people can run web stuff (and some other things).
I've done some of this but would like to do more. Are you hiring?
I did do web work for a long time, but I grew tired of it, so these days I just do contract work on legacy systems and platform modernizations. Some of those systems may have a web UX, some do not. But the work is more about refactoring architectures to get off brittle tech that nobody knows anymore, and move on to tech stacks where you can actually find talent to run it.
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 am not working on web or server stuff.
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
Embedded SW here, mostly automotive. Consulting and trying to make Rust a thing in the field.
I make video games, does that count as something else?
I work on industrial automation software (SCADA/HMI, MES, PLC comms protocols, etc.).
Me too :). Mostly engineering systems for programming Edge Devices used in factory automation. The user usually runs windows, the edge device linux.
What kind of hardware/OS are you usually writing code for?
We write mostly Java, some Kotlin, targeting the JVM.
Most commonly our software runs on premises on server-class hardware (or what passes for server-class depending on the industry...), sometimes hosted in the cloud, sometimes on "edge" hardware (think Raspberry Pi class power/spec wise).
One component of the software actually is a web frontend (and a Jetty backend) to go with it, but it's not your typical "web-app" and it's not SaaS. But there's much more to it than that.
I am working on fundraising and administration for a robotics venture. Very little work goes on engineering subjects at present, more often things like patent law, corporate administration, strategy, network build-out and the present penultimate goal fundraising for an aggressive scale go to market autonomous factory. However, the prior eight years have given me an amazing opportunity to study all manner of engineering subjects from mechanical to structural, electronic to electrical, production and fabrication through operations research, logistics and supply chain. I now have a very 'grass roots' view of venture administration, cross-disciplinary R&D and commercialization that is globally informed and very difficult to gain in any context. While significant yield remains at this stage speculative, nevertheless it is very interesting!
I work on embedded systems. C++, or C back in the old days. 2 years were in Pascal.
IT Architect.
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.