Live data from Hacker News

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

github.com

91–100 of 168 posts

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

#91

Earlier quoted context omitted.

Do you have a background in electronic engineering / good understanding of hardware issues beyond cpu caching ? Just trying to understand what $125k requires in this space.

My degree is in Computer Science and my hardware skills are mostly nil. I mean I know how to read data sheets and talk to hardware through memory mapped IO or ports, but as far as circuits, hardware design, etc. nothing more than a rudimentary understanding. I wound up in this field doing a co-op during college with an employer that had a variety of different job types. I have always liked C so I went with more low l…

Interesting, thank you.

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

#92
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.

I went to college with a guy who did industrial, embedded stuff you see in factories. One of his projects he told me about was a robot that cut the glass windows or something like that at a Volvo plant. Anyway, he wrote the software for sensors, control, etc. Integrated it into GUI tools or backends. I said something kind of like you said to him. He replied that he'd have better job security than any of us in IT doin…

The problem is skill transfer. What does he do when Volvo shuts down his factory? Even if there are other potential employers nearby, they are unlikely to be hiring because they already have their guy.

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

#93

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…

Can you clarify your statement?What does a low-level person do to improve infrastructure?

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

#94

Earlier quoted context omitted.

As an embedded programmer, I wholeheartedly second this. I'm in an area where there are relatively few opportunities to do close to the metal work. The ones that do, don't pay any more than backend web developers make. In fact I've come to assume that they can offer less due to either the intrigue of the work, or because you often compete with computer/electrical engineers who aren't expecting outsized developer sala…

Could not have said it any better. Embedded development is dominated by hardware engineers who make decisions very often without the software development teams input, placing embedded folk square in the target of management angst as well. Choosing Broadcom chips without drivers, 3rd party experimental hardware who wont release data sheets, choosing USB chips that don't support host mode, miswired memory interfaces th…

In defense of HW engineers, they're often staring at a cost of goods spreadsheet.

Earlier in my career, I had a driver that compiled to about 8500 bytes. I noticed the part was spec'd at 16K and wondered if it could get re-spec'd at 8K if I got it down to 8K. Yep and I got mad props from the HW types.

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

#95
post #23
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.

Please don't spread generalizations like these. I'm sorry about the job situation in your area but I live in a Canadian metropolis where 1) there's no shortage of low-level work and 2) they will pay much more than your average PHP consulting shop. In fact, I maxed out very early what someone can hope to earn at my level of experience. My point is that your job market is not representative of the whole world and you'r…

what the flying fuck. I live in Toronto and all I see is cloud this and cloud that. I'm an embedded software guy with a lot of embedded software experience and the only people who contact me in Linkedin focus on the one or two lines in my resume about web development.

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

#96

Earlier quoted context omitted.

As an embedded programmer, I wholeheartedly second this. I'm in an area where there are relatively few opportunities to do close to the metal work. The ones that do, don't pay any more than backend web developers make. In fact I've come to assume that they can offer less due to either the intrigue of the work, or because you often compete with computer/electrical engineers who aren't expecting outsized developer sala…

Could not have said it any better. Embedded development is dominated by hardware engineers who make decisions very often without the software development teams input, placing embedded folk square in the target of management angst as well. Choosing Broadcom chips without drivers, 3rd party experimental hardware who wont release data sheets, choosing USB chips that don't support host mode, miswired memory interfaces th…

Are you me? Honestly, that all sums it up even better. In an embedded role, you are always a second class citizen. After 6-12 months of planning by the hardware folks: "The hardware is all done. Where's the software? What do you mean it's not finished, you had all year...?" You're a complete afterthought, and it's only amplified when working with a team that doesn't really "get" that without access to the actual, finalized hardware you're extremely limited in capabilities. It only gets better when they decide to go with one-off vendors who have a single product support engineer and its pulling teeth any time something goes wrong. It's often hardware related, but who cares -- you're the guy at the end of pipeline who's tasked with making it work, so yeah, you feel the wrath.

I'm only extra cynical because I'm dealing with that right now. As I have many times before, though. It's part and parcel.

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

#97

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…

Can you clarify your statement?What does a low-level person do to improve infrastructure?

Writing and designing code that is mindful of latencies (Amdahl's law). Temporal / Spatial locality, avoiding needless copies etc.. This approach needs to start from design and also follow into implementing the code. Moreover, this is done without compromising on readability.

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

#98

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…

My Facebook iPhone app weighs in at 241 MB. It has massive redundancy and you can say that again.

http://blog.timac.org/?p=1707

Still, I have to say that there is indeed an opportunity for a few low level people there.

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

#99

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…

I fully agree with you. It's not just infrastructure but also devices and the surrounding ecosystem. I work in this space and let me assure you there are many jobs with GREAT pay.

I"ll go on and make another bold claim. Focusing on lower level stuff and systems concepts lay an excellent foundation for designing complex systems regardless of the language used. Once you understand how a program is executed from the ground up i.e. right from the program counter to page table lookups to cache hits to cache coherency, all abstractions are easier to deconstruct and understand. I work up and down the stack and this has been my, quite possibly just anecdotal, experience.

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

#100

Don't go there. There's really not a lot of work. But if you must, low level is more a calling than a learned skill. You probably shouldn't be learning assembler. First, compilers are really quite good. Yes, it's possible to beat them (I do) but generally not by much. And not by much ain't gonna put bacon on the table. You can probably get what you need from gcc inline asm() calls. Take a look at the linux sources an…

I agree not to go into low level programming expecting a wealth of job opportunities to suddenly open up, but I wouldn't tell people not to go there at all. Not only is assembly really fun to play around with, I feel like I've gotten a lot out of the bits of assembly I've read/written. Even though I've never written assembly code for work, being able to read the disassembly in gdb has come in handy before. Also, a lo…

Totally agree. When I taught x86 assembly in college (in the 90's), the goal of the class was to give the student a better idea of how things worked under the hood to improve their C programming, not to be an assembly programming.

Just today, I helped a coworker debugging a segmentation fault that occurred in a library where the debugging info was stripped out by looking at the assembly code.

Post reply on HN