blog-header-image
| 8 min read
|
Aug 16, 2022
| by Daren McCulley
| Tags:

A year in review: An honest look at a developer’s first 12 months at Expel


At Expel, it should be no surprise that we value transparency. It’s one of those core beliefs that makes us tick. One way we practice transparency is by providing open and candid insights into our interview and onboarding process, but what about beyond the first 90 days? Well, let’s talk about it—because that’s what we do here.

Recently, senior software engineer, Daren McCulley, used his Expel-oritory Time—more on this later—to reflect on his first year as a new developer at Expel.

In this post, learn about Daren’s experience with the interview process, major takeaways from the early days, and the personal and professional growth that came along the way. The goal? We hope that providing a peek behind the curtain will help you make the most informed decision when deciding if becoming an Expletive is right for you.

Take it away, Daren!

Let’s start at the beginning

When I think back to the interview process with Expel, what I remember most is that I was never in the dark about what was next or where I stood. In contrast to the other interviews I’d been through, the process was transparent, respectful of my time, and gave me a window into Expel’s culture.

Our technical interviews are collaborative experiences, rather than inquisitions by whiteboard. It only took two weeks to go from my initial screen to my final interview, and my recruiter extended an offer that same evening—allowing me plenty of time to compare it with offers from other companies.

The thoughtfulness given to my personal circumstances—understanding that I needed to weigh all of my options to make the best choice for me—was the first of many times I’ve witnessed Expel demonstrate another core belief: If we take care of our crew, they’ll take care of our customers.

At the risk of stating the obvious, I accepted my offer.

What to expect in the early days

At Expel, we definitely hit the ground running—but don’t expect to go it alone. In your first week, you can expect to commit code to production (from the comfort of your own home), but a group of people will come together to make it happen. It’ll go something like this:

  1. Prior to day one, you’ll get a new laptop, monitors, keyboard, trackpad, and dock in the mail. You’ll also have access to some discretionary funds to make your home office sparkle.
    Daren’s home office setup
  2. On your first day, someone from IT will guide you and other new Expletives through laptop and account setup. IT works hard to make this a fairly painless process, so things will probably work out of the box (if they don’t, IT is always just a Slack message away).
  3. When joining the Engineering department, one of the first people you’ll meet with over Zoom is a member of the Core Platform team to walk you through setting up your dev environment. Spoiler alert: I’m a big fan of this team. They treat the rest of engineering as well as we treat our customers—and they aren’t alone. There are several teams at Expel whose primary mission is enabling the rest of us. Just check out this screenshot of a chat I had with one of our managers of site reliability engineering (SRE), Reilly Herrewig-Pope (hey, Reilly 👋), early on:
  4. Right off the bat, your manager provides a list of tasks and resources to help you get up to speed. For example, you can browse several recorded videos where subject matter experts introduce a cornerstone of Expel’s tech stack—which they helped design and build.
  5. Then, when you feel ready, one of your new teammates will hand-pick and shepherd you through your first issue. This is when the real fun begins…
Completed Jira ticket, five days after Daren’s start date

TIL in year one

We move fast and trust our tech

At Expel, we use Gitflow for several of our primary repositories. All code is peer reviewed, checked for proper test coverage, and eventually merged into the develop branch—kicking off continuous integration and continuous delivery (CI/CD) and ending in a deployment to our staging environment.

We cut and merge a new tagged release every day from develop to main, which deploys the latest code to production. These daily releases require trust in the process and infrastructure to catch and handle human errors.

I learned this lesson early on.

On my third day, I pushed a bad database (DB) migration that would’ve broken our staging environment. Not only did the automated migration process catch the error and rollback the transaction protecting the DB, but when the first Kubernetes pod failed to run the migration, the existing pods stayed live and didn’t deploy the broken image.

Staging kept working as expected for everyone depending on it, while I chased down and patched my bug. It was a huge relief to know that I had a safety net I didn’t have earlier in my career because Expel invested in resilient infrastructure.

Having a talented group of SREs designing, building, and maintaining a system that protects us from ourselves is only one part of what makes our daily release cycle work.

Every feature team at Expel has a dedicated quality assurance (QA) engineer who considers each issue that needs testing carefully. I pride myself on attention to detail, but, more often than not, our QA still finds edge cases I didn’t consider.

That’s because their involvement begins long before I merge code and mark an issue as pending acceptance. Our QAs take part in backlog grooming, where they help define testable acceptance criteria and ask questions. This pushes us to confront the devil in the details with all stakeholders present, so that we don’t waste time writing code based on incorrect assumptions.

We’re still a startup

If you want to maintain legacy Java code, or push pixels and patch bugs for a PHP application in LTS, this gig might not be for you. Similarly, if you like being a Software Engineer II and knowing that, if you meet your commit quota, you’ll be eligible for Software Engineer III in two years—this probably isn’t for you.

Even though Expel is no longer a handful of people in a barn with a dream and a whiteboard, it still feels scrappy out of necessity. Our chips are on the table behind two very ambitious bets that require constant evolution and development:

  1. We integrate with damn near anything, and
  2. We empower humans with the data to make sound judgements, and automate the rest.

These bets are what keep things interesting, and demand creative problem solving from our engineers.

We have swimlanes but don’t operate in silos

To build complex systems, software engineers rely on abstraction to hide complexity behind well-defined interfaces. There’s a parallel to this in how our teams are structured at Expel.

As an application developer, I don’t bear the principal responsibility for designing user interfaces (UIs), setting sprint priorities, or managing infrastructure. Instead Expel offers me a seat at the table, where I can collaborate with designers, product managers, and SREs to build software that solves the highest-priority problems in a way that’s scalable.

Through these relationships, I’ve grown my skills in all of these disciplines and, more importantly, my ability to effectively communicate with people in these roles.

We run towards the fire

We have a Slack channel called “gotime.” This is where high-visibility incidents are first reported before they’re spun-off into dedicated channels and Zooms. One of the most remarkable affirmations of Expel’s culture is the number of people that join the fight immediately following one of these incidents—regardless of who is responsible or who owns the code.

Our support of one another extends beyond incidents. Whenever I need help, I always find someone willing to lend a hand. There’s a lot to like about Expel, but the people I have the privilege to work with will always be at the top of that list for me.

Opportunities for personal growth

In addition to the growth we experience on the day-to-day (that’s the nature of the job), Expel encourages us to attend one conference per year and provides a budget of $2,500 to make that happen.

This year, I flew out to San Jose for a Postgres conference. I was honestly surprised by how simple it was to get the trip approved, book travel, and submit expenses. Not to mention, we have access to tools like Pluralsight for curated online training. But access to material isn’t enough.

You also need time and space to invest in continued education. My team let me spend an entire sprint building a foundation in one of the JavaScript (JS) frameworks we use, so that I could approach future issues with more experience and confidence.

FYI: we write the majority of our applications in Go, JS, or Python, which gives you the opportunity to become (or remain) proficient in three in-demand languages.

Every quarter, we set aside two days called Expel-oritory Time (remember this from the intro?), where the entire product organization can work on whatever they want. Folks often elect to form small, cross-team groups to hack away on some experimental feature, explore our data in a new and interesting way, or use the time to write a blog post—like this one.

(Side bar: while I can’t yet speak from experience, we also have a 12-month BUILD program for managers, designed to give you practical skills through ongoing learning and practice.)

…and professional growth

Like I’ve said, transparency is foundational at Expel. Information normally held close to the chest at other companies, like compensation or the state of the business, is shared openly.

That principle applies to our workplace relationships as well. I have candid 1-on-1s with my manager every week where we discuss how things are going, any obstacles she can help me overcome, and what the next steps are for my journey at Expel and beyond. She’s transparent about my performance, and we chat openly about challenges I’m facing and what I should focus on to reach the next milestone in my career.

From day one, I’ve had someone in my corner considering my individual circumstances, who never made me feel like a replaceable cog in a corporate machine.

We’re building a product that meets customers where they are in their security journey, which means we need people with different points of view at the table. It’s part of the reason equity, inclusion, and diversity are hugely important at Expel—it’s another one of those core beliefs: “better when different.”

We’re a stronger organization when we recognize, celebrate, and learn from those whose backgrounds and perspectives are different from our own. We also have four employee engagement groups (ERGs) to support that: BOLD (for Black employees), WE (for the women of Expel), The Treehouse (for LGBTQ+ employees), and The Connection (for mental wellbeing)—all of which are open (and welcoming) to allies.

We’ve added more than 180 new Expletives since I started, and there are a whole lot of open positions and opportunities for career advancement (BTW, we’re hiring).

You won’t be pigeonholed here. The opportunity to apply for new roles arises often, giving you a chance to find your perfect fit or try something new.

Looking back (and ahead)…

I knew from the interview process that Expel was the right choice for me—and my confidence in that choice has only grown over my first year. Most professions require some amount of continued education, but the pace of change in software engineering takes this requirement up a notch. Working for a company that understands the value of investing in their workforce, and that provides the necessary space and time to experiment, truly supports my personal and professional growth.

Every job comes with a unique set of challenges and Expel has no shortage of hard problems. The difference—and the reason I’m looking forward to year two—are the people I get to face down those challenges with.

If I’ve sold you on Expel, or you think it’s too good to be true and want to ask some questions, check out our open jobs. If you’re anything like me, you won’t be disappointed.


Subscribe

Five things that’ll help you determine whether you’ll like working at a company

How do you interview a company who’s interviewing you? One of our account executives, Jeremy Furniss, shares how he evaluated Expel during the hiring process
Read More