4 ms·
Assembly language is sadly not widely commercialized. I'm sure there are lots of vacancies out there, but the positions are likely incredibly specific and requi
by i336_ 10y ago
Assembly language is sadly not widely commercialized. I'm sure there are lots of vacancies out there, but the positions are likely incredibly specific and require a lot of specialized knowledge about a particular field.
Both assembly language and reverse engineering are vast, ambiguous fields of knowledge, so it's difficult to provide an on-point answer. A couple things come to mind though:
- Quite a lot of demoscene-related sourcecode has been released over the past few years (covering many individual productions along with supporting tools), and quite a lot of it is in assembly language. Considering that you've been tinkering for 30+ years, DOS/similar-era stuff may be of particular interest to play with or explore. This would best be considered akin to soldering practice, to use an electronics analogy - DOS-specific knowledge (including eg low-level VGA or SoundBlaster/GUS control) is not likely to be helpful commercially. That said. old technology is similar to learning a language like Latin, and provides the advantage of neatly sidestepping the general social/human confusion concentrated within the current focuses of technological development.
- Many people are likely to generally recommend microcontroller development, but I understand chips with eg ≈256 bytes of RAM or ROM (where hand-assembling code would be useful) are somewhat rare nowadays. This may be interesting to explore though.
- Finally, considering that you really like reverse engineering, you could make yourself available for hire for medium/long-term contract work reversing major applications or systems. Depending on the system in question this may be a lot of fun or incredibly tedious; reverse engineering is generally nontrivial work, as on the one hand there's the occasional tedium of picking IDA up when it doesn't realize it's fallen down, and there's also the general strain of ensuring the technical specifications you produce are complete, bug-free, and provide 100% coverage (or, in the case of self-modifying code, "100.∞% coverage").
As an aside, I think your age is actually a big asset - I don't think enough emphasis is generally put on the fact that age and maturity means an applicant already has a lot of "life" things taken care of. Obviously domain-relevant skill(s) remain key, but it's possible an employer may be willing to provide additional education to someone who's been around the block a bit. Case-by-case-specific though.
This forum doesn't provide a way to edit posts and comments after an hour, but you can always update it via a top-level reply.
- Bumsonfire 10y agoThank you for taking the time to provide such a thoughtful answer. I was thinking of starting on messing with hardware, you've given me thoughts of a starting point.
- i336_ 10y agoGreat to hear! :D Like the other commentators here I'm also curious what you've been working on. I'm very fascinated with assembly language and machine code myself and interested to get a head start with that too.
- Bumsonfire 10y agoI've been taking some firmware files apart, specifically bios files, just to try and understand better how computers work. I've also been messing about with shellcode, I find that fascinating.
- i336_ 10y agoWow, that's awesome. You've probably heard of Coreboot, an open source BIOS that's been ported to a handful of systems (230 total different configurations, along with a QEMU target for playing with). It's also the foundation of all Chromebooks. This is very short but may be fascinating reading: https://www.coreboot.org/Developer_Manual https://www.coreboot.org/Developer_Manual I'm not quite at the shellcode-comprehending stage yet, although I realize it's incredibly simple. Agh - I have a basic working knowledge of C, but nonexistent understanding of low-level hardware at this point :) https://www.nayuki.io/page/a-fundamental-introduction-to-x86-assembly-programming https://www.nayuki.io/page/a-fundamental-introduction-to-x86... has been on my to-follow-up-on list for a while, along with http://beginners.re/ http://beginners.re/. (Both found via HN)
- JSeymourATL 10y ago> I think your age is actually a big asset - I don't think enough emphasis is generally put on the fact that age and maturity means an applicant already has a lot of "life" things taken care of. TRUE: Many hiring executives actually prefer 'mature' staff. No need for all the mollycoddling, mentoring, constant feedback loops that 20 somethings often demand.