>>
|
No. 169
I own a computing services company. I interview in C and Lisp for the most part. Some people say that is retarded, but we find that people who are personally interested enough to learn the two primary languages of hackery on their own are the only sort we have room for[1]. We use C, Python, Bash, and Lisp (Scheme and Common Lisp -- they fit significantly different use cases) for new projects and just do whatever we need to add to/customize/maintain existing projects. Languages aren't hard anyway, core design is. Languages can make that *harder*, though, so we stick to these 4 to cover all bases.
C -> strict, performance, "the polite assembler"
Python -> a for-real high level language
Bash -> can't live without a real shell, seriously. (and "Bash" implies lots of little domain languages like awk, sed, vim scripting, how init systems work, etc.)
Lisp -> as abstract as an acid trip, and great because of this very quality. If you've ever wished psuedo code could run, then you've desired to use this -- and this statement won't make any sense until you use it for a bit.
I hire people who are *interested* in their work, smart and can get things done. I like people who, for random example, have spent the time to really familiarize themselves with what can be done in Postgres and explored what data modeling really means and discovered on their own why normalization can be important. This means in most cases someone who has built a few large systems on their own (which implies they've tried to build a few along the way, failed, and then got it right -- which is invaluable experience), has been involved in some large open source projects already, or already has a work history. I like people who know a bit about how we make decisions with electricity -- and your microprocessors class will benefit you forever, btw. I like people who understand that the language of a project is not the "language" as in C or Python or whatever but is the semantics of the things you declare and how those things fit together.
Anyway, my company may be a bit unique -- a lot of companies hire based on "did he learn Java in school?" and "what was his GPA?" which are great ways to acquire code monkeys completely void of genuine interest or imagination, and a horrible way to hire designers who love to create precise things which are incidentally complex.
Anyway, with your degree finding a job won't be that hard, though you'll probably grow to hate the first job you get. But that will change and you won't be there forever. So long as you don't let the original reasons you got interested in computing get beat completely out of you you can eventually wind up in a very good, fun, creative place (and that is not Google anymore and never was Apple or Microsoft, sadly (oddly enough IBM has a far better track record in this area)).
Hint: keep studying stuff that you like to think about before you go to be on your own -- you'll eventually find a job doing whatever that is if you're good at it -- and if you're interested you'll get good, magically.
blah blah. Past my bedtime. Good luck and don't let the details keep you down.
Message too long. Click here to view the full text.
|