Quorum Analytics: Developing Developers

Will Deuschle
Qbits
Published in
6 min readMar 10, 2017

Hello, my name is Will! I’ve been one of Quorum’s full stack software engineers for about nine months now. I joined the team straight out of college, and while you can bet that school had taught me how to find the shortest path in a weighted DAG, I didn’t have the faintest idea how to build out production-level software. Though Quorum and its developers knew this, they took a vote of confidence and invested in “future Will.” A prominent aspect of the Quorum development team’s culture is turning raw engineering talent like myself into proficient software engineers.

All companies operate under constrained resources to a certain extent, and as a growing startup, this is very true of Quorum. Fortunately, we’ve created an environment that attracts junior developers looking to cut their teeth — one where new products are constantly under development and fresh code gets pushed nightly. This alignment of interests — inexpensive talent and the ability to have an immediate impact — has contributed to Quorum’s history of embracing fresh, unproven engineers.

While my teammates and I are outwardly building software here each day, we are also, more quietly, developing developers. I say “we” because our growth as individuals is a collaborative and intentional effort, spurred by consistently challenging and aiding one another. In my time here, and as someone who feels like a good example of a “0 to 1” engineer, I can point to 5 core principles that make Quorum the type of place that breeds quality engineers.

1. Into the Fire

We’re a small team, but we have a lot of ambition with respect to what we create in short periods of time. This means developers at Quorum are asked to build new things almost immediately upon joining. When I started, I was tasked with writing simple buttons and dropping them into existing templates. As you knock these tasks off your list, there is an expectation that you will be able to handle progressively larger and more complex problems. I quickly moved on to full-fledged components and then entire pages, which required much more than a trivial knowledge of HTML and CSS. Within months I had complete feature-sets that I alone controlled. Inevitably, this rapid progression means that at some point in your Quorum career you will be sitting in front of a challenge you don’t actually know how to solve. I know from firsthand experience that this is a scary and slightly exhilarating situation. I’ve had the privilege of being in the thick of our recent transition to a new frontend stack, during which time I’ve helped establish best-practices for scaling these fresh and uncharted technologies. This was difficult and often frustrating work, but periodically having our backs against the wall shapes us into strong engineers, faster.

2. Code Review

At Quorum we practice code review, which means our other engineers must read, comment on, and approve your work before it can hit production. Having another person comb through your code is helpful for a couple of reasons. First, you feel pressure to write, good, clean, hack-free software from the beginning since you know it will not make it through a code review, even if it “works”. Second, you are getting near instant feedback from your peers about how you can improve as a software engineer, which helps you course-correct before developing long-term bad habits. Finally, reviewing others’ work exposes you to new ways of reasoning about problems, something that I’ve found to improve my own abilities far more than actually writing code.

3. Mentorship

When new engineers start at Quorum, they are paired with a teammate to guide them through the growing pains that come with learning to write production-level software. While there is something to be gained from tracking down difficult bugs and grinding through tough coding stretches on your own, having a teammate to steer you in the right direction saves invaluable time and allows us to quickly progress past many of the less interesting software development “gotchas”. There is a particularly memorable moment from when I first started working here when one of our engineers at the time, Leo, stayed up with me well past midnight to debug code that needed to be pushed to production the next day. It’s the norm for our teammates to go out of their way to help each other succeed.

4. Flat Development Hierarchy

At Quorum, good ideas beat rank or status every time. In fact, a fellow engineer with professional experience outside of Quorum recently told me, “First-time engineers at Quorum are probably spoiled by the ‘engineer-manager’ hierarchy here.” When it comes to design and architecture decisions related to product development, the voice of even junior developers weighs just as heavily as our more senior members or even our technical cofounder, Jonathan. I have butted heads several times over design decisions with people who are ostensibly higher up the “food-chain” here than I am (and who certainly have more experience than I), only to have my ideas proven right or my engineering skills bettered for having learned why going a different direction is a superior option. This is best exemplified by Jonathan’s insistence on explaining the “why” behind the decisions he makes (often at great length), to the benefit of us as engineers.

5. Profuse Sharing of Resources

We have a strong culture of knowledge sharing at Quorum that consistently lifts our engineering team to new heights. Every day there are numerous articles shared on the tech stack we use, better coding practices, how to hire the right people, etc. I took a snapshot of my friend Ty’s bookmarks to demonstrate how far this has gone:

As someone who arrived at this company with little-to-no knowledge of professional software development, I have benefitted immensely from this flow of institutional knowledge. Having a large corpus of learning material curated by those who came before you is very helpful in getting to the heart of what you need to learn. By my estimation, I have read hundreds if not thousands of articles, tutorials, and blogs over the last nine months about things like React, Tastypie, Redux, functional programming, TDD, ES6 — the list goes on. Before I knew it, I was the one curating these new articles for future employees of the company. This culture of collaboration has spun off into a weekly event we call Learning Lab. The premise is simple — each week, one member of the team presents to the rest of us on interesting technology or trends worth having on our radars. I’ll leave it to another teammate to explain Learning Lab in more depth for a future post, but it nonetheless embodies the culture of knowledge sharing we’ve fostered at Quorum.

When making career decisions, especially as a junior developer, I highly recommend seeking organizations that emphasize continuous engineer development. If you are beginning a career in software engineering or like the idea of mentoring green developers, asking about the five principles outlined above can be useful for gauging a company’s commitment to that goal. With that, I hope you’ve enjoyed this post. Please connect with us in the comments below or on Twitter.

Quorum is hiring! Learn more here.

--

--