Live data from Hacker News

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

github.com

31–40 of 168 posts

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

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

what... read: the trading firms / hedge funds developing their propriety trading platforms. Those salaries aren't too shabby.

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

#32
post #7

Low level programmer here. This is great but the job market for low level programmers is very small. Recently, while interviewing, I described a thread safe, concurrent queue implementation to a hiring manager and he asked me -- "so how does this relate to big data and ML"?

What was your answer to the hiring manager? How about:

"[buzzword] systems need lots of training data. To process that data quickly, systems must parallelize and distribute computation. Concurrent queues are a basic building block in parallel and distributed systems. They are used both internally in [buzzword] systems and directly by engineers building ingest pipelines and serving systems. Engineers need to know the trade-offs of different concurrent queue implementations to avoid introducing unnecessary bottlenecks in [buzzword] systems."

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

#33
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 and figure out why and when assembly is used there:

http://stackoverflow.com/questions/22122887/linux-kernel-ass...

Secondly, writing in assembler is not low level. You just think it is. You should really be understanding caches and you can improve your cache performance in C.

Anyways, unless you deeply know what's going on inside of the microarchitecture of a modern superscalar, out of order, speculative, renaming, μop-cached, hyper-threaded, multicore beast then you shouldn't be fooling yourself by writing in assembler.

http://blog.erratasec.com/2015/03/x86-is-high-level-language...

Unless you've really read Intel's Intel 64 and IA-32 Architectures Optimization Reference Manual (and ARM's Cortex®-A72 Software Optimization Guide) and meditated on the suras of Agner Fog's Microarchitecture you won't even know what's going on with something as simple as mov RAX, RBX.

Look, most compiler writers don't even know this stuff (Intel C Compiler yes, llvm occasionally) and frankly, it isn't very useful because Intel spends a billion dollars a year to make your bad x86 code run reasonably fast. Consider a switch statement which compiles into an indirect branch, jmp reg. That branch has to be predicted by the BTB before the jmp reg instruction is even fetched and that's really hard to do. Every year they get better and better to the point that you're not even aware of it. But if you want to the help the CPU out, you could put a UD2 right after the jmp reg. This is insanely hard to understand and will help very little.

Don't go there.

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

#34
post #21

About career, is low level programming job market that small we see in this threads comments ? I want to be C/C++/Rust programmer. This is quite frightening.

Automotive, oil, gas, military and so on. These are the industries that hire C/C++ developers. Of course, if none of it opened shop in you city, bad luck.

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

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

This is mostly true for remote jobs.

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

#36

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. You have to wonder what percentage of devs are jumping on these trains out of naivete and what percentage are jumping on out of cynicism, as both are good explanations. The explanation that rarely applies is "this is the best way to solve our problem". None of us should…

>"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?

Yeah OP seems to be indicating that VC or some other actor is influencing the developer "market" to deflate salaries by inflating the supply of devs, at least that's what I'm reading it as, and I'd be very curious to learn more.

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

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

Seconded. Low-level programming is not the future and the decreasing demand for said skill is reflected in the market/prospects.

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

#38
This embedded programming course from UNC Charlotte is quite good for getting started:

https://www.youtube.com/watch?v=3Ak8cxN_bLI

And, Stan Warford's systems programming class is exceptional:

http://www.cslab.pepperdine.edu/warford/cosc330/

I believe you can get the video lectures through iTunes U.

For university courses, these are both really good.

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

#39
post #8

Earlier quoted context omitted.

low level programming knowledge is fundamental if you want to work with security research (software vulnerabilities, reverse engineering and exploits) and the job market at the moment is quite big.

I wish there were a clearer path to transition to that kind of work from web/backend development. It's something I dabble in and think I'm getting quite good, but unless I start publishing/presenting, I don't obviously see it leading to paid work. I have a lot of long-time friends in InfoSec but don't really want to exploit those connections to look for work (yet).

If not for employment opportunities, you should be (gently) exploiting these connections for educational value. They're in the industry and have likely seen examples of colleagues transitioning in from web/backend development. At the very least, they can easily tell you what mistakes to avoid.

I often have the same mindset you do about exploiting connections, and although it's been a struggle for me to change my habits, using people as educational outlets has been something that I've found to be extremely helpful to me personally and also often enhances my relationship with that individual as well.

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

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

Seconded. Low-level programming is not the future and the decreasing demand for said skill is reflected in the market/prospects.

I respectfully disagree. We've recently seen a lot of development in the space and there will always be a need to make new hardware work. Yes, margins for hardware companies will always be slimmer than CloudWidgets Inc. but there's a very solid demand for people who know what they're doing in this space. Just about every electrically powered product you buy will have a uC in it, from your flashlight's led controller to the hundred+ that exist in your car.
Post reply on HN