Engineering Named Things This is a cautionary tale. It's the story of an internal tool development project. We'll call it Astro, because naming things is hard, and the reasons why are very instructive.
Interviewing Culture Fit We don't evaluate candidates purely on skill. We also assess them socially. I'll explore how to do that, without falling into the trap of dismissing someone as "not a culture fit" due to bias.
Interviewing Interviewing Software Engineers Artificial white board programming tests are the wrong thing, but they're easy to assign. Doing the right thing is going to be harder. So what we really need to do is identify what we're looking for in a programmer
Interviewing Questions for your interviewer As a candidate, interviews are your chance to learn how the team works, and how the company views and treats their employees. But after enduring your own interview, it's hard to know what to ask or how to evaluate the answers. This should help.
Personal Falsehoods programmers believe about gender (and sex) Sex and gender are complicated. If you want my advice, it's that your app probably doesn't even need to collect this information.
Engineering Enabling Refactoring To succeed at refactoring, you need to make small, incremental improvements. It needs to be continuous. It needs to be habitual. And it needs to be proactive. Because it's not special; it's just a regular part of development. This is continuous refactoring.
Culture The worst interview homework ever I completely get the point of interview homework. You need to assess whether a candidate can actually do the job you're hiring for. Whether they're even viable. And your time is valuable, so you have them do it offline and just show the results. Then you check the results, which
Process Featured Software Engineer I am a software engineer. What I'm not is a programmer, or a developer, or a coder, or a ninja. Simply writing code is the easiest part of developing software. Anyone can write a competent for loop given a day or two of training. The difference between that and engineering
Culture Some things I DO miss about big companies I previously discussed some things about working in a large organization that I was happy to be rid of. This is the other side of that coin. These things are by no means exclusive to large companies. They are rather hallmarks of a mature one. But, it has been my
Culture What I don't miss about big companies Update Sep 2017: I later wrote about some of the good parts. After you're done here, you should check that out, too. I got a new job recently. Go me! The old job was at a very large financial company. I won't say which one, but you would likely recognize
Process A Note on the Daily Standup Apparently, (scrum) standup meetings are broken. It seems that way at least, because making suggestions for how to fix them seems to be a seminal favorite topic in programmer blogs; so it must be true. Right? Either way, I'll add my two cents. I should say up front that I'm