Readit News logoReadit News
Posted by u/ex-aws-dude 2 months ago
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.

cbcam · 2 months ago
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.

doom2 · 2 months ago
How did you pivot from web to your current position? I'm an amateur radio operator but not trained as an electrical engineer. If my current niche ever became stale or went away, I've always wondered if I could work in something radio-adjacent.
cbcam · 2 months ago
Thankfully I didn't need very deep EE/radio knowledge to get up to speed in my role. It's sufficient to be able to read an EE paper and extract out the end result. For example: one of our hardware guys wants me to simulate a phased-array antenna. They hand me a paper that derives the gain calculation based on the geometry of the array. I don't need to understand the derivations as long as I can translate the result into modelling software.

On the software/networking side of things the biggest change is working with protocols other than http.

femto · 2 months ago
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.

unkeptbarista · 2 months ago
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.

stack_framer · 2 months ago
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?
unkeptbarista · 2 months ago
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.

krnlclnl · 2 months ago
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.

dabockster · 2 months ago
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.

sshine · 2 months ago
What is “C development”?

K&R is a great intro.

If you want a book that digs deeper, try Modern C by Jens Gustedt. It’s update for C23 this year, and it’s CC (free).

If you want to make something like TigerBeetle or Redis, that’s sort of just specialised back-end development.

You can also do embedded in C. And you can make operating systems.

What people often do when they want a career change is: they work on New Thing in their spare time; they find this little niche at work where New Thing could fit; they find that there’s a limit to how much workplace will let them prioritise New Thing; they start applying for jobs where New Thing is a focus point, with a non-empty resume.

Rietty · 2 months ago
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.

doom2 · 2 months ago
Hello fellow data engineer! I feel like I don't see a lot of us around / don't see many popular submissions dealing with data engineering. I also work with financial datasets (think aggregated consumer transaction data) for use by investors and corporate clients
Rietty · 2 months ago
Many of my datasets are similiar!
jftuga · 2 months ago
> 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.

Rietty · 2 months ago
Depends on the dataset anywhere from seconds to tens of minutes depending on preprocessing needed.
Rietty · 2 months ago
Some of the largest are a few billion rows and we sample randomly when developing code then execute it on all
culebron21 · 2 months ago
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.

Froedlich · 2 months ago
I'm mostly retired now, and my paying work involves maintenance on proprietary inventory and billing software written in a 1960s language in a dialect that became unsupported in the mid-1980s. And it runs in MS-DOS.

I've mostly set aside the languages and tools I used to use, and I'm learning Haiku's variant of C++ to write some native-mode Haiku application software.

simgt · 2 months ago
Holy fuck. What can possibly require maintenance on software this old? Industrial metalworking machines maybe?
contingencies · 2 months ago
Industrial metalworking machines can typically be upgraded to modern controllers fairly easily.
ex-aws-dude · 2 months ago
Are you able to compile it on a modern computer or do you have to work on it in MS-DOS?
nmaleki · 2 months ago
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.

ex-aws-dude · 2 months ago
Woah that is cool, its like the mother of all demos that video
hatradiowigwam · 2 months ago
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].