Hacker News new | past | comments | ask | show | jobs | submit login

Say I were a web developer looking to transfer into a lower level developer role. How easy would it be for me to get and pass an interview? I'm guessing it's going to be extremely difficult to prove I have the skills you're looking for.



I had to reread your post. I’m assuming you mean “develop at the lower level” of the stack and not “be a junior developer”.

I usually groan at the leetcode style interviewing questions because as an “enterprise developer”, you’re mostly going to be working with prebuilt libraries. In my last ten years worth of interviewing, I’ve only once been asked an algorithm question - and that was to write a merge sort. I got the job offer but didn’t accept it. I figured that any company who has interviews for senior developer/Architects where they care more about low level algorithms than high level architecture is not a company I want to work for. If the interviewing and filtering process for a company is broken, that tells you s lot about the company culture.

That being said, when I was a bit twiddler working with a cross platform (x86 and mainframe) C code base, we did have to write all of the low level algorithms ourselves and had to know how to write highly optimized code and analyze the compiler output.

In that case, knowing how to program algorithms and understanding the “how” was very important. I probably would try the leetcode and other interviewing suggestions for working for a FAANG.


There are probably a few effective approaches.

One is to get another degree. That looks like a career reset.

The easiest is probably Open Source projects. You could write the sorts of things you are interested in, even if it has been done before. For example, you could write an emulator for a calculator or for an old 8-bit home computer. You could write something to transform executables, for example from i386 to x86_64. You could create part of a valgrind clone, just doing the JIT or even a simple interpreter. You could write a compiler. You could port a compiler to output for a different architecture, or port an OS to run on a different architecture. For example, I think there are Open Source RTOSes that do not yet run on RISC-V. If that isn't true, there are so many other architectures to choose from.

Doing well on the pwnable.kr site without cheating is good. There are public write-ups available, so you'd have to demonstrate that you actually understand things on your own. Getting near the top ranking ("front page is pretty respectable" according to a coworker) would be good.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: