Image for post
Image for post

Meet Will Forrester — Agari’s Frisbee-throwing, Salsa-dancing Software Engineer

Job Portraits
Jul 13, 2017 · 8 min read

In just a few years at Agari, Software Engineer Will Forrester has worked his way from the frontend to the backend, tackling infrastructure, data science, and a long list of programming languages. In this post, we discuss what he’s learned, how he gets involved with new projects — and why his teammates may soon be watching him compete on the dance floor.

Will: Agari protects businesses and consumers from email attacks by preventing cyber criminals from digitally deceiving people using false identities in email. We have two main products: Enterprise Protect guards our clients against targeted, inbound phishing, like someone pretending to be the CFO and emailing a subordinate asking for a wire transfer. Customer Protect is more focused on the email our clients send out, and helps them implement best practices for security and authentication to protect their brands — and keep their customers protected from email attacks.

Will: We have several tactics. We build models of who you probably want to interact with; if you’ve emailed previously with Expensify.com, for example, we know “Expensifii” is suspect. Then we look at authenticity — if you do receive an email from Expensify.com, is it actually coming from their email infrastructure?

We collect metadata in real time and track features derived from IPs, domains, and users; we also use a couple of other data stores, like DynamoDB and Elasticsearch. Our data scientists have identified the features that help us figure out what’s good or bad about a message, and I’m currently working on integrating the data science findings with our data pipeline, and scoring those messages in real time, so we can assess risk as quickly as possible.

Will: I’m a full-stack software engineer, and I’ve been here for two and a half years, working mostly on our Enterprise Protect product. In college I studied engineering, but not computer science, and I wasn’t sure what I wanted to do after graduation. After graduating, I moved to Chile and taught English for a while, then I came back and joined a startup as a developer, working on cloud-based auditing software. That company went under a year later, and that’s when I found Agari.

“I think of Agari as my master’s degree, because I get to work on exciting projects with so many experienced people.”

When I interviewed, I was impressed from a technical perspective but also with how people treated me. I saw this as a huge learning opportunity; I tell people I think of Agari as my master’s degree, because I get to work on exciting projects with so many experienced people. We’re constantly learning new technologies, and our work is definitely geared toward people who are interested in doing multiple things.

Image for post
Image for post
Will shares ideas over lunch while Agari CTO Vidur Apparao, left, listens.

Will: I started out working full-stack on Customer Protect, which gave me a lot of experience in PostgreSQL and Ruby. Then I moved to frontend for Enterprise Protect, working with our product managers to present data in ways that would make sense to our users. Often as developers, we’re digging into systemic details, but that was a project where I got to step back and look at things more holistically.

After that, I went in a completely different direction and worked on our data pipeline, which was an interesting scaling challenge. Over the course of nine months, we went from scoring the risks of email messages every day, to every hour, to every few seconds. Then I moved into working with Python, Java, and Spark for offline processing, and now my role is focused more on data engineering.

I’m also getting my feet wet in product management, which is something I’d expressed interest in during one-on-ones with my manager; I wanted more opportunities to be on calls and visit our clients. So my manager made sure I had the chance to be an engineering team lead on some projects, and now I’m taking on a few projects of my own.

Will: You can soak things up like a sponge here. I learn by doing and branching out into new projects, but also just by listening to people and bouncing ideas off them. It’s a very collaborative team; we’re not like, “Here, go lone wolf on this and figure it out.” We also do tech talks during lunch every two weeks, where someone presents in-depth on a topic or a project they’re working on. And Agari will pay for you to go to conferences and take classes.

There’s a lot of support for developing your own teamwork and leadership skills too. I came here as a very junior engineer on an experienced team — but as I’ve developed my own opinions and started to voice them, people have listened. Everyone respects and cares about each other here; it’s easy to feel like you belong.

Image for post
Image for post
Will and Data Science Intern Hao Sheng focus first, foosball later.

Will: I think Agari is just the right size — not too small or too large — where there are always interesting new things coming up and plenty of work to go around. You really just have to express interest. When I was working on frontend data visualization for Enterprise Protect, that was just a card in the Scrum process that I took and ran with.

We also have a good feedback loop going in our one-on-one meetings and retrospectives, where we look for opportunities to improve both individually and as a team. For example, I had an idea recently to improve our iteration reviews. They were running two hours pretty regularly, and people weren’t paying attention or preparing as much as they should. I suggested people focus their demonstrations on the relevant audiences such as sales versus internal engineering, rather than list every bullet point over the iteration. We started doing that, made some other structural changes, and invited other teams. Now, the meetings are much shorter and people are more engaged.

Will: We experiment a lot. A couple of years ago, we were definitely pointing cards and revisiting velocity and things like that. I think we’ve stepped away from that a bit, because we had a lot of unnecessary overhead, and people were getting their work done just fine without it. We moved to planning once a week, and now, it’s very flexible. Some of the teams I’ve been working on have moved away from Scrum and toward a Kanban style. We still have planning, review, and retrospective stages in every iteration and stand-ups every morning, but we’re not die-hard about following specific processes. It’s about what makes sense for each project; teams are self-directed and empowered to make the changes that work for them.

Will: Language-wise, we mostly use Python, JavaScript, and Ruby. We are entirely hosted with Amazon Web Services and our data pipelines in particular make extensive use of Lambdas, ElasticCache, Kinesis, and Auto-Scale Groups. And we believe in infrastructure as code, so we use a lot of automation tools. As far as the codebase, I think we all follow that old saying you learn as a kid — leave the campsite cleaner than you found it.

“Some of the teams I’ve been working on have moved away from Scrum and toward a Kanban style…It’s about what makes sense for each project.”

Also, everyone here does DevOps. We deploy our own code — for the infrastructure, the software, everything. We also help support the product, which means each of us is on call for one week every two months. If something breaks during your week, you may be asked to come in after hours, but that protects our evenings and weekends when we’re not on call. People here understand that work isn’t your whole life.

We’re actually good about respecting each other’s time at work too. We try to group meetings so we aren’t constantly switching in and out of them, and all of us have Thursday blocked off as a no-meeting day.

Image for post
Image for post
Will and teammates (including Bean, the dog) head back to the office following their weekly Ultimate Frisbee game.

Will: Sales and Engineering interact a lot. We used to be on two different floors in the building, which made it harder to collaborate, so we moved onto the same floor to be closer together. We’re still making adjustments to the workspace, and sometimes you need to find that little space where you can just focus, especially if you’re not used to an open office. Personally, I really like it. I have a desk, but I rarely sit there; I’m usually in the common area, which we call the “living room,” or the kitchen. That’s become kind of a trend now — a lot of the engineers have found their favorite spots around the office.

Will: We’re a pretty silly group — we actually do a lot together besides engineering. We play Ultimate Frisbee once a week and board games on Fridays. We also have a dart board, so I started a darts league. A few people even have a band that does ’90s covers, and we’ve all gone to see their shows. I started taking Salsa dancing lessons a while ago, and now I’m training for my first competition. It’s two months away, and everyone on my team wants to come. I’m like, “Can you guys please just come next time, after I’ve got one competition under my belt?” But I’m sure they’re all going to show up anyway!

Image for post
Image for post
Will demonstrates his dance moves.

Interested in joining Will on the Engineering team?

Check out open roles or get in touch at jobs@agari.com.

Image for post
Image for post
Long arms: useful on the dance floor and the Frisbee field.

Job Portraits

Job Portraits is a creative studio that helps high-growth…

Job Portraits

Written by

We create content that helps job seekers make better decisions about where to work. Need help hiring? Say hi at jobportraits.com/#hi-there.

Job Portraits

Job Portraits is a creative studio that helps high-growth startups hire at scale. We are former journalists, founders, developers, and, yes, job seekers, working to improve the hiring experience from both sides of the table.

Job Portraits

Written by

We create content that helps job seekers make better decisions about where to work. Need help hiring? Say hi at jobportraits.com/#hi-there.

Job Portraits

Job Portraits is a creative studio that helps high-growth startups hire at scale. We are former journalists, founders, developers, and, yes, job seekers, working to improve the hiring experience from both sides of the table.

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store