3 ms·
The Bay Area is a great place to be if you're an engineer. You get many job offers in your inbox every week. Your friends have long since stopped asking you if
by martian 13y ago
The Bay Area is a great place to be if you're an engineer. You get many job offers in your inbox every week. Your friends have long since stopped asking you if you want to work at their startups, but you know just how quickly that would change were you to signal that you wanted a new job.
I think the crunch is at least somewhat real. We've hired a couple great people we met through Hacker News -- I couldn't have imagined them working out any better. And recently I've been trying to hire more people at my startup and, frankly, it's tough to find good people.
We've worked hard to make our interview process quick, insightful, fun, and accurate. Do we do pair programming? Sure. Do we ask about data structures? Absolutely; any programmer worth anything knows something about data structures. Do we do whiteboarding? Yep. Programmers at our company, it turns out, need to be good at communicating with humans as well as with computers. Do we give people answers immediately, and tell them why we are rejecting them? Yes, we do. We are more humane and reasonable than so many other places.
(It drives me crazy how many bad interviewers there are out there. Some of my friends recently interviewed for entry-level positions and some shall-not-be-named companies in SF and were treated terribly: given the run-around by the recruiters, brought back in the office 4 separate times for interviews, and ultimately rejected by at least two companies when they decided they didn't want to sponsor H1Bs after all. Insane. In a war for talent, you'd think practices like this would cease.)
Anyway: this is all to say, I'd love to meet your friends or anyone else out there who's looking for a programming job. My colleagues and I are not awful people. We like to brew beer and write code and help make the world a better place. We have a book club and eat good food. Oh, and we pay well and sponsor visas and are generally, you know, warm and friendly folks.
- gizzlon 13y ago"Absolutely; any programmer worth anything knows something about data structures" Can you qualify this a little bit? I haven't used data structures since university. What are you expecting programmers to know and why?
- djb_hackernews 13y agoIf you haven't used a list, array, map, set, tree, etc since university then you probably aren't writing code for a living. Well, I guess it's possible, but I find it hard to imagine.
- vonmoltke 13y agoI wrote real-time signal processing code in C for 5 years. I used lists and arrays. Indirectly I used queues as well, but those were buried down in the mailbox code in the middleware. Also was not allowed to malloc and free during runtime or use recursive calls without a very good reason. No DFS or BFS to be had anywhere in the code. No sorting, except for a couple calls to the Standard Library qsort function. My algorithm text of choice was Skolnik[1], not CLRS. Guess I wasn't writing software for a living. Plenty of SV companies sure got that impression. [1] http://www.amazon.com/Radar-Handbook-Edition-Merrill-Skolnik/dp/0071485473/ref=sr_1_4?ie=UTF8&qid=1392827275&sr=8-4&keywords=skolnik http://www.amazon.com/Radar-Handbook-Edition-Merrill-Skolnik...
- tatalegma 13y agoYou used lists and arrays... so you used data structures?
- vonmoltke 13y agoI don't consider an array much of a data structure. Its just a contiguous block of memory with a shortcut for addressing inside. List is at least a "proper" data structure. If "data structure" is defined that broadly, then its nearly impossible to write a non-trivial program without data structures. Its like trying to write without sentences. However, when people around here refer to "data structures" they mean a whole lot more than those two. All of the data structures listed in the post I was replying to are widely considered "standard" data structures that are used all the time. I was pointing out that I worked in a significant, operational codebase of >150,000 lines total that used only the most basic of data structures, and used those sparingly.
- martian 13y agoI'm curious to know what kinds of problems you work on, then? I find that I need to have a strong working knowledge of data structures every day. Hashes, lists, trees, and so on. Knowing how to apply data structures in production code matters a lot: the difference between a hash lookup and a linear scan, for example, can mean the difference between a reasonable response time for an application and an absolutely terrible response time. In interviews, I have found that good understanding of these data structures (and the algorithms one uses to manipulate them) correlates strongly with ability to solve larger and more complex problems.
- deleted 13y ago[deleted]