The problem is, the more specific you are, the more people self-select out. And if you’re specific in the wrong ways, you’ll lose people that you’d love to have.
With that in mind, we sat down and had a few hard conversation about what an Atomic developer looks like, the basic skills and qualities they need to have. In addition to sharing our Atomic values, Atomic developers should have the following:
1. Technical Skill
Atoms write clean, logical, high-quality code using test-driven development and Agile practices. You don’t have to be experienced with Agile and TDD to join Atomic, but you must be willing to learn. New Atoms should be familiar with several programming languages and have in-depth experience with at least one.
2. Computer Science Fundamentals
Atomic developers have a strong grasp of computer science fundamentals. We believe formal training teaches a lot of important concepts that you don’t learn from just studying languages. That’s why we require a degree in Computer Science or a related field, or professional industry experience.
3. The Ability to Self-Manage
Atoms work on maker-led teams. We must be focused, self-directed, and good at managing our work.
4. A Consultant Mindset
Our goal is to create a product that will provide the maximum value for the client’s investment. To accomplish this, Atomic makers develop a consultant mindset that lets us delve into the business context and closely manage our time, our users’ needs, and our client’s budget.
We frequently hire experienced graduates who embrace this consultant mindset. When we hire experienced developers, we prefer concrete experience in making public-facing products over experience improving internal products and processes.
5. Curiosity & Love of Learning
Because we try to find the best tool for every situation, Atomic developers are fast learners who can quickly ramp into a new toolset or language. You might move from developing a web app in Ruby to creating an internal application in .NET to building a mobile app in Objective-C or Java. It’s one of the reasons Teach & Learn is one of our five value mantras, and it’s why we do things like:
- Pay for conferences and membership in organizations (many of which we also sponsor).
- Ask all Atomic makers to write for our blog.
- Give brown bag presentations, hold internal conferences, and find lots ways to teach and learn from each other.
Our collective knowledge creates the “Atomic Brain Trust,” and we’re always investing in it.
6. A Passion for Development
Atoms are passionate about doing really good work (we Give a Shit), and we constantly work to refine our practices. Many of us love development so much, we even code in our spare time.
7. Strong Communication Skills
As consultants on small teams, Atoms work very closely with clients and their users—learning, exploring, teaching, problem solving, calming fears, discussing budgets, and making smart compromises. That’s a whole lot of talking and writing, which means all Atoms must be clear, transparent communicators who can understand their audience, give them the right level of detail, and help them make smart, informed decisions.
8. The Ability to be a Good Team Member
Atomic developers work side-by-side with designers, clients, and other developers, discussing our work and managing a constant flow of feedback. Atoms put the needs of the product over their own egos.