They sometimes lacked the most basic knowledge, and to me this is clearly not acceptable.
Below are the points I consider to be known when dealing with any engineer developing web application. I don’t necessarily request proficiency, but you have to know this exists, or know how to learn to do what I ask for.
- Write a command that traverses a whole Linux file system looking for a file, and send a mail telling where it is.
- Write an HTTP request using telnet.
- Be proficient in one scripting language.
- Using tcpdump
- Know what a LEFT JOIN is
You need to be able using the command-line. Period. Passing this simple test makes you able enough. Further knowledge you’ll be able to pick-up easily.
Might look stupid and odd, but it actually teaches me two things. You have basic network knowledge, and you understand how HTTP works. Some people seem to be dumb-stricken when I ask this.
Additionally, when you don’t have fancy tools like Firebug or Wireshark, this is going to be your only way to debug: you will always have telnet.
Two reasons for this. First of all, I think that learning an uncomplicated scripting language enables you to discover lots of things, from network programming to database programming, without the language itself being an obstacle.
Second, on some servers all you’ll have will be either the shell or a scripting language. I would personally rather use Perl to do mass regex operation on files than a shell script, I just find it easier and more powerful.
Third, learning any other scripting language should be painless once you are fluent in one.
Which scripting language should you learn? Well, I would tend to say Perl.
I actually love the language for a lot of reasons but the most important to me is it’s regex engine. You’ll learn regexes as an added benefit of learning perl. You’ll have to, since it’s so integrated with the language. And having a quite good understanding of regexes will definitely save your ass sometime soon.
Hey, we are working on a connected world. You have to be able to tell me what goes on on the wires. I can’t even tell you how many people working in our industry I met that didn’t even know what tcpdump was.
Even a marketing guy knows how to do simple SELECTs these days. Please demonstrate that you have more knowledge than a marketing guy when it comes to SQL.