top | item 11600818

Ask HN: AWS engineer looking to do low level development. How do I land a gig?

4 points| lowamazn | 10 years ago | reply

I currently work for AWS and am looking to leave. My resume is pretty strong for high level programing, distributed systems (monitoring/operations, setting stuff up, root causing problems), web dev, and I've got good algorithms chops.

Unfortunatly, low level job postings seem to all want years of experience writing C/doing kernel development/niche specific skills. Recently, I've taken an interest in firmware and kernel development, and I'd love to get paid to do it. Does anyone know someone who'd hire someone like me? Should I get a ton of OSS experience first or something?

4 comments

order
[+] edwcar13|10 years ago|reply
In my experience while faking it to make it (not saying you'really faking it). I find that breaking in to the development side from the systems side is not impossible.

My advice if it is worth to you at all. I only have 5 years in total. This is all without a college degree and just a certificate in networking technologies.

1. Start a github and blog site showcasing your advanced firmware and kernel development skills and "fun" projects

2. Document every last detail of your work in your read me or blog post (companies love that you can document, especially if it's a long term use case)

3. Google interview questions about the field you are looking to get into and make a project that solves that question

4. What you are looking to get into could be in embedded systems engineering or firmware engineering

As of 22 days ago SanDisk is hiring so the need is there. Just apply, most hiring managers say they want 5+ years but that is to scare off the non-skilled applicants.

http://www.indeed.com/viewjob?from=appsharedroid&jk=f350a3a2...

Hope any of this helps.

[+] Matthias247|10 years ago|reply
I would say that it is absolutely possible and that often the amount of new things to learn won't be that much different than if you would stay on high level but move into a completely different business domain.

As some minimum requirements I would say you should have some solid C and C++ knowledge and a good understanding of how computers work in general (what are cpu, memory, etc. doing, what are interrupts, processes/threads/scheduling/synchronization, common bus systems like uart, i2c or spi, ...).

If someone is looking for a very specific/niche skill set, then they most likely won't find a suitable employee. So for me it would totally be ok if someone is not yet an expert in the domain but is very motiviated to learn it and if he doesn't expect to get expert position in the beginning.

From your perspective it might also make sense to make some gradual transition where you still can partly leverage some of your existing skills. E.g. working on embedded devices that are powered by web interfaces (lots of them in the meantime), where you find everything from developing user-space applications which utilize a vast amount of networking down to kernel stuff. Moving directly to deeply embedded stuff (FPGA code, DSP programs, feedback control systems) might make less sense, because you would need more of an EE background for it.

Regarding your question if we directly know someone: Where are you located and how fixed are you on that?

[+] jvolkman|10 years ago|reply
Have you considered joining one of the teams at Amazon that does kernel and OS work?
[+] emb_throwaway|10 years ago|reply
Definitely try this, lowamazn. There are several teams at Amazon doing OS and firmware work that are always looking for interested devs.