Effective Mentoring Requires Dialogue

You are a senior software engineer and have just been designated the mentor of your team’s new hire. It’s your responsibility to bring this cadet up to speed on the large codebase that you helped architect, so that she can provide value on her own. As a first task, you’ve assigned her to fix a […]

Obtaining a Thorough CS Background Online

I’d like to show you a way to obtain a computer science background that doesn’t involve enrolling in a university program. Maybe you’ve completed an introductory Java course, and now you’d like to pursue a software development position. Or maybe you already have some formal CS training, and you’d like to fill in a couple […]

Your 1st Impression as a Development Candidate Is Your Writing

Atomic Object Detroit recently assessed dozens of candidates to find a summer development intern, and we’re continually receiving applications for full-time developers. As I reflect on the candidates that I’ve assessed both here and at previous companies, I’m struck by how revealing each candidate’s first email correspondence is. Those who’ve left strong, positive first impressions […]

Quick-Start Guide to Creating a Windows Installer

It’s one thing to develop and test a Windows application; it’s quite another to bundle it up into a nice executable that installs correctly on all the different Windows versions that you need to support. I’d like to guide you through the process that I wish I had when I was creating my first installer.

Protractor Page Objects

Protractor Page objects provide a helpful way to organize your end-to-end test code. While your actual tests take actions and make assertions about how your application should respond, page objects encapsulate the details of how to perform those actions on a page.

Sharpen Your Git Saw – Aliases, Selective Staging, & Interactive Rebasing

Git is a powerful tool that we love as developers. It’s also complicated. I consider the bare essentials of Git, the minimum set of features to be familiar with before we can be productive, to be all of this: local interaction: status, add, remove, commit, reset, checkout branch management: checkout, merge remote interaction: clone, fetch, […]

Backbone Event Best Practices

When our Backbone.js apps become complicated, we need to utilize Backbone’s EventAggregator. From the Marionette docs: “An event aggregator is an application level pub/sub mechanism that allows various pieces of an otherwise segmented and disconnected system to communicate with each other.” // Three ways of creating an event bus in backbone var marionetteVent = new […]

Develop Smoothly with the Right MacBook CPU

If you’re a developer shopping for a new MacBook, choosing a CPU can be confusing. Apple always gives you a handful of different CPUs options, all with different specs and prices, but it’s very difficult to understand how your development experience will be affected by this choice. You can put thought into the other options […]