I'm a web developer, beer and coffee snob, and Michigander living in Seattle. I like sensible functionality (content first ♥), progressive enhancement, and responsive everything. This site is hosted on GitHub Pages (Git is my CMS, what!). You can also find me on Twitter, Instagram, GitHub, and LinkedIn, among others. (Check out my resume, too.)
Performance Calendar » React’s diff algorithm
An informative walk through the algorithm underlying React’s efficient DOM updates.
On interviewing front-end engineers | NCZOnline
A response/follow-up from Nicholas Zakas to that blog-post a few days ago about interviewing for front-end positions. I think he’s absolutely right, and it’s good to read it from somebody with his stature in the field.
I’ve been getting asked more and more about whether or not front-end engineers need to understand computer science algorithms and data structures in order to be hired. My simple answer: no. I don’t see these as necessary prerequisites for people to be successful as front-end engineers. The reason is that these aren’t things most front-end engineers do on a day-to-day basis. Do I use algorithms and data structures? Sometimes, but I usually look up the things I need when I have a need for them. That information is easy to find online and there are always people around who know these topics better than me.
In general, I believe interviews should be designed to demonstrate skills that a candidate will be expected to use on a day-to-day basis. It’s easy to pat ourselves on the back and chat about O-notation (which I had never even heard of until about 7 years into my career) or heap sort (the first time I encountered heap sort was during my Google interview), but is that a good indicator of whether or not someone will be successful as a front-end engineer? Absolutely not.
How to Become a Better Developer: Straight Talk
This is fantastic: informative, engaging, to the point.
Being a good engineer is a matter of experience, knowledge, and personal philosophy / attitude. Each of these things can be individually improved upon. Intentionally analyze where you are in your career and in the predispositions of your personality. Understand where you’re most lacking and always work towards improving that area.
25 Dec 2013, Why [Programming Language X] Is Unambiguously Better than [Programming Language Y] | Joel GrusWhy [Programming Language X] Is Unambiguously Better than [Programming Language Y] | Joel Grus
Having written [simple program that’s often asked about in phone screens] in both languages, I think I’m pretty qualified to weigh in. I like to think about it in the following way: imagine [toy problem that you might give to a 5th grader who is just learning to program].
Interviewing as a Front-End Engineer in San Francisco | CSS-Tricks
Interesting guest-post on CSS-Tricks by a guy who recently interviewed for front-end positions in the Bay Area.
Overall, my experience was quite good. Some of these companies have a reputation for their excruciating interviews, but what I went through was not nearly as bad as the stories I’d heard. Everyone was nice, everyone was professional, and if I didn’t know the answer to something, I never felt belittled. Most of the time it just seemed like a simple conversation about technology between two people discussing the best way to solve a problem.
This basically sums up my criticism. The overwhelming majority of my interview questions were logical puzzles, generic coding challenges, and algorithm design problems — things that are necessary but nowhere near sufficient.