I really like this article from Joel Spolsky about recruiting the best: http://www.inc.com/magazine/20070501/column-guest.html
I especially like how he emphasizes that the best developers are more than 10x as productive as the average developers.
I really like this article from Joel Spolsky about recruiting the best: http://www.inc.com/magazine/20070501/column-guest.html
I especially like how he emphasizes that the best developers are more than 10x as productive as the average developers.
Of course the benefit of using a third party control (especially an open-source one) is that it can save you a ton of time, potentially give you things that you could never build yourself, and provides you something far more standardized.
I've lost track of how many "senior developers" I've interviewed who fundamentally can not program. Their resume makes them sound like the next Bill Gates, but they can't write 5 lines of code on a white board. (Jeff Atwood discusses this on his blog). I'm not talking about knowing useless trivia like the 19 overload signatures for StringBuilder, but rather core programming concepts like writing a for-loop or if-then structure.
Many devs are great at telling their credentials ("Yes, I have experience in C#") or simple fact regurgitation ("A DataReader is faster than a DateSet"), but they don't want to actually think. I expect this relates to Bloom's Taxonomy, namely that there are several tiers of thinking: mere knowledge (i.e recalling facsts) is easy, analysis and synthesis (what writing code requires) is hard. Someone one joked "Thinking is hard, which is why so few people do it." A related trend is that many people think that "coding" means "copying the right snippet from a Google search."
At Paylocity, every developer writes code each day, so any interview candidate is also required to write at least a trivial code sample.
What sorts of mistakes do interview candidates make:
Why may this be?
What can a candidate due to practice?
What are the interviewers really looking for? Obviously the real code you write for a job is much harder than the above trivia. Interviewers want to see your thinking process and style. Do you think first or just whip off an answer? Can you communicate why you wrote what you wrote? How did you determine your algorithm?
This is what software engineering cares about, not if you've memorized soon-to-be obsolete trivia. I'm glad to work for a company that gets this.
Exploring an interesting technical concept after hours, it made me wonder: What would it take to motivate you to work overtime?
Some ideas:
I'm glad to say that at our software development department in Paylocity, it mostly seems people work overtime for the first and sometimes the second and third reason. (If you're interested in working for a great company, check out our careers here.)
I recently had to submit a form to the government, and it lived up to its bureaucratic stereotype:
It seems like this was how most processes used to be, and it makes me appreciate how convenient and fast web applications are today - online version, dynamic help, validate before you submit, and instant results.
Most people don't like repeating tedious tasks, but many devs would find it a creative challenge to automate that same task. It's a good way to show how automation is a win from so many angles - more interesting for the developer, more effective in the long run.
He's obviously got a lot more gems in that book; I look forward to it getting published.
What I liked to much about it was that:
I wish I had read this five years ago.