Get a DemoStart Free TrialSign In

Interview

4 min read

Contents

In the latest instalment of our interviews speaking to leaders throughout the world of tech, we’ve welcomed Justin Pincar, CTO and Director of Engineering at Achievable.

Tell us a bit more about the business you represent.

At Achievable, our mission is to unlock opportunity through education. We've built the digital personal trainer for learning, which guides people through a personalized learning experience, reinforces what they’ve learned through spaced repetition, and gives them certainty that they’re ready to ace their exams. Achievable reinforces what you know and trains you on what you don’t - until you're ready to hit your goal.

Our platform currently has over ten courses serving a diverse range of customers from high school students to working professionals. Achievable partners with subject matter experts to create our best-in-class digital test prep courses. Tutors and offline test prep providers use Achievable to digitize their knowledge, create a national online marketing presence, and build a large recurring revenue stream for their business.

Being the CTO, what do your day-to-day responsibilities look like?

As the CTO and co-founder of a small startup, I have a huge range of day-to-day responsibilities and every day is a bit different! We have an amazing engineering team and CI/CD workflow, which allows me to focus my time on architecture, product management, and customer support. We practice agile methodology and our weeks start with a brief engineering strategy and road-mapping meeting where we discuss the current priorities. We have daily standups to ensure everyone is moving forward and no one is blocked. We periodically conduct retrospectives and ask ourselves if there's anything we can improve in our processes.

Although my title is CTO, I'm also effectively the head of product, and our tech decisions and priorities closely align with product development and customer feedback. A normal day includes a range of interrelated activities: - Answering customer support phone calls, chats, and emails - Writing up feature requests and bugfix tickets in Asana - Mocking up new screens or interactions in Figma - Conducting code reviews and mentoring our engineers - Data analysis of platform and marketing activity - Investigating infrastructure metrics and ways to improve performance

What frameworks do you use for managing technical debt?

In our opinion, the best way to manage technical debt is to not let it build up in the first place! Code Climate is a fantastic static analysis tool that helps identify and track technical debt in your codebase. It's highly configurable and we have it integrated into our CI flow to ensure that our code quality stays high. We monitor site errors using Sentry and track potential security issues using Snyk.

How do you decide whether something is so painful that it merits a full rewrite?

Our engineering motto is ABF: Always Be Refactoring. Without maintenance, code gets stale - it's a natural and unavoidable phenomenon. The best way to mitigate this without sacrificing development velocity is to continually refactor small pieces of your code as you're doing feature development or bug fixes. Come across two similar use cases? Combine them into a reusable component. See the same constants in multiple files? Don't just copy/paste them - take the extra minute and extract them into a shared constants file.

It's very rare that we need to completely rewrite sections of our codebase - this typically only happens if we switch a core framework, like moving from Gatsy to Next.js. Even then, we aim to minimize the amount of change and bridge existing code rather than rewriting it fully.

How does your technical organization work with the other operational components of the company?

We're a customer-focused company, and it shows in our organizational structure. The goal of our engineering department is to build products/services that our customers love, and our product team owns both our engineering and customer success teams. Features almost always start from customer success conversations. Our product team evolves these into fully-formed feature ideas, working with our engineering team along the way to understand any technical considerations like complexity or performance. Once an idea has a rough spec we'll put it into Asana to prioritize it and track progress. We have a flat and open organizational structure, and if a task needs clarification the developer who picked it up will work directly with the product lead.

Site performance has been top of mind for us lately! About half of our customers use our site on mobile, often in areas with poor network connectivity, so we're always thinking about how to improve their experience. I've heard from other engineering leaders that Next.js is a great framework both in terms of developer productivity and real-world performance, so we're in the process of transitioning to that. I'm also expecting to see the move from REST APIs to graph APIs continue to accelerate. We moved to Apollo GraphQL several years ago and it was one of the best decisions we made; once you're comfortable with the data-as-a-graph mindset, it's much faster (both in terms of development and performance) than a traditional REST API.

What can we hope to see from your business in the future?

We expect 2023 to be a breakout year for growth! We've grown our course catalog to more than ten exams this past year, and we're on our path to becoming a well-known brand in some niche markets like financial test preparation. We invested heavily in our engineering platform framework in 2022 and it's resulted in higher developer productivity and improved site performance. We're looking forward to leveraging these gains this year to build more complex learning experiences and enable data-heavy analysis for our corporate customers.

If you enjoyed this post and want to keep reading our articles then why not check out our guide covering the top Kibana dashboards or what is Telemetry?

Get the latest elastic Stack & logging resources when you subscribe

© 2024 Logit.io Ltd, All rights reserved.