Hacker News new | ask | show | jobs
by jrmenon 4834 days ago
Assuming you are looking for a Unix/Linux person:

1) Good understanding of the user-land + kernel layers - filesystems, inter-process commn (pipes, shared memory etc..), process vs threads, memory layouts, networking (tcp/ip sockets etc..).

2) Experience in kernel development is a big plus but not mandatory.

3) If using C/C++, good understanding of the language features, esp. debugging tools like gdb.

4) If using Java or VM-based languages, apart from language features, good understanding of the VM tunings and its limitations.

5) Scripting - bash, awk, perl/python/php etc..

6) Protocols - HTTP, and others. Good understanding on how to build web services.

7) Performance and debugging: tcpdump/wireshark, /proc/* tunings, firebug, etc...

8) An exposure to web development on the client side - html, css, js. Not necessarily being a guru here but understanding the full stack from the client onwards. It can influence the server-side architecture (handling various ajax requests etc..)

9) AWS services - something to consider (this is how we started with our start-up).

10) Not to mention, a passion to understand the 'big picture', and how to optimize the various resources effectively.