Live data from Hacker News

Low-Level Programming University – A roadmap to becoming a low-level programmer

github.com

141–150 of 168 posts

Re: Low-Level Programming University – A roadmap to becoming a low-level programmer

#141

Earlier quoted context omitted.

Take a look through the monthly HN "Who's hiring?" posts. Jobs of any kind that aren't web (front-end, back-end, or full stack) or mobile apps are vanishingly scarce. It's really quite depressing.

Us low-level types don't post there. We know the bias against defence contractors, against the south, against the non-urban parts of the USA, and so on. We know we aren't wanted around here. The jobs can be nice though! My place is looking to hire dozens per year. We do emulators, JIT, hypervisors, stuff like valgrind, debuggers, manual disassembly, and vulnerability research. I've been here 11 years. I've worked wit…

Wish I could move (and ten years ago I would've in a heartbeat) but today I have too many personal ties where I am.

Thank you, though; that is a darned tempting offer.

Re: Low-Level Programming University – A roadmap to becoming a low-level programmer

#142
post #137

Earlier quoted context omitted.

Us low-level types don't post there. We know the bias against defence contractors, against the south, against the non-urban parts of the USA, and so on. We know we aren't wanted around here. The jobs can be nice though! My place is looking to hire dozens per year. We do emulators, JIT, hypervisors, stuff like valgrind, debuggers, manual disassembly, and vulnerability research. I've been here 11 years. I've worked wit…

How could someone make them selves worth even interviewing for a job like that? I do Ruby/python and Devops with some small hobby c and Linux stuff in my free time

I'll start with what you already have: There is a small value in the Ruby/Python experience. That kind of thing serves to script some of the tools, including: IDA Pro, Binja, gdb, and scons. There is also a small value in the Devops stuff I think, but Devops isn't my thing so... you mean server admin tasks? The hobby c and Linux stuff is most valuable. We write emulation in C. Most of us use Linux for everything, but we also have Windows experts who just use that.

Mixing personal projects and work and education...

Some of our people have backgrounds doing driver development and embedded system programming. An excellent background would be compiler development. We have hired people who did assembly back when that was totally normal, getting their first job around 1970. We hire some people straight out of college; Carnegie Mellon University has the best program for this. We don't actually require a degree, but most people have one, and there are a few people with the PhD. Some people have worked on cars, writing software for stuff like airbag deployment (no bugs allowed!) and infotainment stuff. We hired a former Atari 800XL game developer who was kind of famous. I had done Linux kernel development, been an embedded RTOS developer, and written the "ps" program that Linux uses. We hired a guy who wrote a TI calculator emulator. We hired a guy who got himself sued for exposing security holes in a speech at Blackhat or DEF-CON, and almost hired another person who did the same thing. (the one not hired had an awful attitude) We hired a person who wrote code to run hardware that would extract platelets from blood. Some employees have written boot loaders. A few people have done stuff with neural networks. Some have worked on radar. Some have done GPGPU and FPGA programming. We had an employee who wrote a PC demo scene boot sector (512-byte bootable screensaver) that used one of the bytes 3 ways, as data and as two distinct instructions. We have many people who participate in hacking competitions such as ShmooCon's "Ghost in the Shellcode" CTF and DEF-CON's CTF. We have people who got addicted to hand-optimizing code, vectorizing things and counting things like pipeline stalls. We have a person who worked on the JIT for an open source Nintendo emulator. We have some people with math backgrounds who take interest in automated proofs that programs will or will not do various things, and who can figure out how to automatically create program inputs to make the programs excercise various parts of the code. We hired a guy who bought his own parking meter (!!!) and then figured out how to hack into it via the pass/token thing it used. We hired a guy who hacked into a bathroom scale that had WiFi. We hired a person who did Dell's BIOS.

Re: Low-Level Programming University – A roadmap to becoming a low-level programmer

#143

Earlier quoted context omitted.

Us low-level types don't post there. We know the bias against defence contractors, against the south, against the non-urban parts of the USA, and so on. We know we aren't wanted around here. The jobs can be nice though! My place is looking to hire dozens per year. We do emulators, JIT, hypervisors, stuff like valgrind, debuggers, manual disassembly, and vulnerability research. I've been here 11 years. I've worked wit…

I think that's kind of needlessly confrontational and doesn't make your company look welcoming to someone who might be looking to leave SF/NYC. That said, it's obvious to me who you work for but anyone who'd be offended won't know. I'd love to move to Melbourne, FL to do vuln research but I'd have to convince my family to make the move first.

You're probably right. We are pretty welcoming, but on Hacker News I definitely feel like every single state we're in just gets a giant REJECT stamp from everybody. The one exception is maybe our Austin office, because Austin seems to get an honorary non-Texas label. Working for government customers also seems to earn us a giant REJECT stamp around here. Aside from this particular article, "low-level" feels like another REJECT stamp.

I happen to like all that, but I'm not the average Hacker News reader and I know it.

To convince your family about the Melbourne, FL area: you can afford 5 acres, or a house on the beach, or a commute of less than a mile, or a huge McMansion. You can surf all year long. I suspect Texas (Austin and San Antonio) and Virginia are pretty good too.

Re: Low-Level Programming University – A roadmap to becoming a low-level programmer

#144

The bearishness here surprises me. The more a company spends on infrastructure, the more they need low-level people. A good low-level programmer can reduce cost requirements 10x or more. Any company spending millions or billions on infrastructure can make enormous savings by hiring the right people. Crucial for Google, Amazon, Facebook, and even midsize startups can see a big improvement. And its difficult to fill th…

Even if you work in domains where you don't need to do low level programming, knowing how the hardware works at a low level helps you do a better job. When you know what the stack and the heap are, when you know how memory locality affects performance, when you know the full cost of allocations, you can write better Java/C#/OCaml/Haskell, you can check on the assembler they output, you will be ready to occasionally w…

Tbh the text editors in electron do try to squeeze as much as they can from the web API's. The VSCode tokenizer putting dense info in typed arrays as bitfields is a good example of someone understanding how memory access works under the hood.

However I do agree with you, getting into web dev is easy. Doing things closer to metal is harder. I would definitely love to do more low level C programming.

Re: Low-Level Programming University – A roadmap to becoming a low-level programmer

#145

Earlier quoted context omitted.

You're not the only one. My company is desperate for good low level hackers. We can find people who know Python and Java for days, but people with the skill set we need are very hard to find.

Where are you? Want to talk?

Maybe! We are located near Orlando, FL with offices all over the country. If you are comfortable with low level hacking, assembly, C, etc. then it might be a good fit.

The only hard requirement is you must be a US citizen.

Re: Low-Level Programming University – A roadmap to becoming a low-level programmer

#146

Earlier quoted context omitted.

You're not the only one. My company is desperate for good low level hackers. We can find people who know Python and Java for days, but people with the skill set we need are very hard to find.

i am curious how much is your company willing to pay? is your budget around 150-200K or around 80-120K?

It really depends on where you live. Our headquarters is in a low cost of living area, so 80-120 would be a reasonable guesstimate.

Folks who work in the DC Metro area probably make a good bit more than that.

I'm not actually involved in hiring, just recruiting and trying to find good engineer candidates.

Re: Low-Level Programming University – A roadmap to becoming a low-level programmer

#147

Earlier quoted context omitted.

True, but the game industry is legendary for horrible working conditions (thanks to an oversupply of labor).

> oversupply of labor The funny thing is, its the opposite for the low level stuff. Nobody does it, so there's a huge demand, which results in too much work for those who are filling those roles. Game development is broken for a litany of reasons, but I resist the urge to go into it to keep things on topic. I will say that it gets kids in STEM, and for the youngin's, getting into the low level stuff is a safe bet for…

> The funny thing is, its the opposite for the low level stuff.

This was not my experience or the experience of people I know at all.

I imagine that it depends on which companies you work with, or what country you're in, but my experience was that low level skills often didn't give you very much in the way of extra job security, and certainly didn't save you from crunch, low pay (much lower than everywhere else in software), etc.

Re: Low-Level Programming University – A roadmap to becoming a low-level programmer

#148
post #6

As someone who can code in C/C++ and was recently looking for work, I don't think someone should learn low level programming for a career. What I would consider simple PHP jobs were easily paying more than C++ jobs. If you look at everyone reinventing the wheel in electron and not caring about performance I don't think the situation is going to get better anytime soon.

Can I ask where you live? Maybe this was just the spot market at the time you were looking? That seems odd.

This is Melbourne, Australia.

I'm the following is not very scientific, but just to give you an idea of where I'm coming from.

Firstly comparing just the numbers of jobs (even tho this is probably a bad time of year near the holidays):

PHP Jobs, 100k/year minimum: 3 added today, 7 the day before https://www.seek.com.au/php-jobs/in-All-Melbourne-VIC?salary...

C++ Jobs, 100k/year min: 0 today, 1 yesterday https://www.seek.com.au/c%2B%2B-jobs/in-All-Melbourne-VIC?sa...

And some of those aren't even C++ jobs, switching sorting from date to relevant gets you C++ jobs from 14 days ago that would already have moved along in their hiring process.

As a cherry picked example, dropping down to 80k/year there's this Embedded C role that requires specific experience in card payment software: https://www.seek.com.au/job/33166443?type=standout&tier=no_t...

To me those requirements seem stricter than what i see in the PHP jobs (experience with MySQL + some form of MVC framework). And on top of that it's paying less.

Another example is the finance job I applied at that was paying 70-90k. But to get in the high end of that range you would need previous stock trading software experience. They also wanted 5 hours of my time for the interview process, but that's a separate topic.

Re: Low-Level Programming University – A roadmap to becoming a low-level programmer

#149

Earlier quoted context omitted.

>"Yeah, unfortunately there are people behind the scenes pumping out a whole lot of BS and aggressively manipulating the dev ecosystem with VC dollars" Can you elaborate on this? This intrigued me but I didn't follow your arguments after. Can you give a concrete or specific example?

Behind the scenes activity is rarely so overt that one can point to "concrete" examples, and there's a lot of plausible deniability. Surely many people are just trying to cash in on the fad (cynics as above), and they hire developers or engineers (more likely naive than cynical), and both parties end up throwing fuel on the fire, as they're both now invested in it both monetarily and emotionally. These people are, pa…

Well put.

Let's take a look at Google: they have the browser (Chrome), they have the OS (Android), they have their cloud, they have a popular programming language (Go), they have the internet gateways (Google search + other services), they have the data (Google analytics, data mining in all of their other services), they have the hardware (Android phones, Chromebooks), they will have the car (Android auto + self-driving efforts), they want to have the ISP (Google fiber), they have the communications (several chat efforts), they have the social network (Google+, several other efforts). I'm probably missing several things.

Now Microsoft: they have the browser (Edge, IE), they have the OS (Windows, Windows phone, Xbox), they have their cloud, they have several popular programming languages (C#, F#, Typescript), they have the internet gateways (MSN, Bing, LinkedIn), they have the data (data mining in Windows and all of their other services), they have the hardware (Surface, Xbox), they have the communications (Skype, Yammer). Once again, I'm probably missing several things.

Apple: browser (Safari), OS (iOS, macOS), cloud, languages (Swift, Objective-C), hardware (iPad, Macbook, iPhone, Apple TV), communications (iMessage, FaceTime). They don't have the data and internet gateways because they're the only ones still holding themselves back from large scale data-mining.

They say the web is open because "it opposes private, exclusive, proprietary Web solutions". But the web is built with Microsoft and Google tools on Microsoft and Google clouds and viewed with Microsoft and Google browsers on Microsoft and Google operating systems. Maybe we can swap one cloud with Amazon, or one device with Apple, but that's the current situation. The ideals of opens-source have been almost circumvented in this age of platforms.

Re: Low-Level Programming University – A roadmap to becoming a low-level programmer

#150

Earlier quoted context omitted.

Where are you? Want to talk?

Maybe! We are located near Orlando, FL with offices all over the country. If you are comfortable with low level hacking, assembly, C, etc. then it might be a good fit. The only hard requirement is you must be a US citizen.

Well, I was in fact born in America, and have been comfortable with low-level hacking for years.
Post reply on HN