A Day In The Life
"I am most proud of Toast Inventory product. This was initially a project I put together as an add-on to an existing integration. It was something that one of the founders said might be interested for our customers, so I went off put it together in my spare time. We have since invested some more time in the module and it has gone on to become one of our top-selling add-on modules, as well as a feature that helps us close deals. I feel proud to have helped create something so many of our customers find interesting. The best link for the module is described in detail in the following training guide: https://hub.toasttab.com/training/inventory/top-20/create-ingredients-database"
What's the project you're most proud of? Can you share a link?
I am most proud of Toast Inventory product. This was initially a project I put together as an add-on to an existing integration. It was something that one of the founders said might be interested for our customers, so I went off put it together in my spare time. We have since invested some more time in the module and it has gone on to become one of our top-selling add-on modules, as well as a feature that helps us close deals. I feel proud to have helped create something so many of our customers find interesting. The best link for the module is described in detail in the following training guide: https://hub.toasttab.com/training/inventory/top-20/create-ingredients-database
What do you do on a day-to-day basis?
My days are largely taken up by running stand-ups and meetings related to helping the team progress through its current set of tasks and issues (providing assistance, removing blockers, helping communication where I can). I also spend a great deal of time reviewing code, doing 1 on 1 meetings (for perspective, mentorship, growth), and working with Product Management to set the direction of upcoming work. When I have a spare moment, I'll still try to roll up my sleeves and fix a bug or write a small feature, just to make sure I never get too far from the code.
What's the hardest challenge you've had thus far in your job?
For me the largest challenge has been trying to effectively manage my time and juggle competing priorities / customer requests. Being a high growth organization is awesome, but it means that the demand for our time as engineers is at a premium. Making sure I am working smart and working on the right things has been the biggest challenge I have faced. It has also been a great learning experience for me and something that will likely shape how I approach these challenges throughout my career.
What excites you about your company?
I looked at a lot of start-ups during my last job search and Toast was by far the most exciting. It was instantly obvious to me how the product is useful to people and why someone might want to buy it. The proof of that has been in the way we have grown and the excitement we have already generated. However, what really excites me about the company is that I feel like we are just scratching the surface in terms of what we can accomplish. There are SO many untapped opportunities around our product and as we continue to grow, I am excited about being able to explore them more.
What is your background and how did you end up in your current job?
I graduated college in 2007 from the University of Waterloo (in Canada) with a degree in Software Engineering. The program was a co-op program, so I gained experience working for a few different (large and small) companies during my six 4-month work terms. Upon graduation, I got a job at Endeca Technologies Inc which brought me to Boston. I worked at Endeca for about four years (on their search engine / database technology) until its acquisition by Oracle. I stayed at Oracle for an additional two years helping with the transition of Endeca into Oracle at which point I began looking for a smaller start-up to join. I knew the founders of Toast from my days at Endeca and the timing happened to work out perfectly, as they were looking to expand their dev team. The rest is history!
How did you prepare for the interview for this role?
My prep for Toast's interview was basically doing interviews at other companies I was talking to at the time. Toast's team was so small back then that there wasn't a lot of other prep I could do. It wasn't as refined as it is today.
What are some of the interview questions you were asked?
I was asked two technical questions during my interview. The first was a simplified version of the Alarm Cloud question we still use to today. The second was a programming exercise which involved coding up a simple web page with a little bit of CSS and Java Play mixed in. I also chatted with Steve Fredette about the future direction of the company and their upcoming plans. It was also an interesting interview because Toast didn't officially have an office yet and was operating out of a two-bedroom apartment.
What opportunities do you think this role prepares you for in the future?
I am very interested in either starting my own company or leading an engineering organization in the future. I feel like my experience at Toast very much prepared me to do either in the future. The amount of learning that I have experienced over the last 3 years has been unbelievable!
What's an example of a time you worked with another part of the organization on a project?
I have spent a lot of time working with our support team on refining the process by which support issues are routed into engineering. This is an important process because it helps engineering allocate time to help support on critical or difficult issues, and allows us to better serve our customers. It also helps the engineering team better understand how the product is used and gain empathy for the end-user. I've worked with support to help define the priority / SLAs for issues. which issues should be routed to engineering, and which engineering team should get the issue. This has been a rewarding process and allowed me to feel like I am helping both support, our customers, and the product operate better.
What is the tech stack built upon?
The vast majority of our production code is written in Java. Obviously, the most important piece is our Android App which is installed / deployed on our tablets to function as the POS (which a very large, complex Android Application). Our "legacy" web backend is a monolith built off of Java Play and Postgres (and deployed using Heroku). We are migrating our "legacy" backend into a Microservices architecture in Dropwizard + Postgres (and deployed directly on AWS). On the front end our "legacy" code is built using Play's template language and jquery / bootstrap, which we are migrating to use Angular JS. We also use Rabbit MQ in order to support synchronization between the tablets and backend server. In addition, we employ Docker, Gradle, Artifactory, Jenkins, and Selenium (among many many other things) internally to help run our CI environment.
What unique skills have you developed over time in your role and at this company?
This is probably not an exhaustive list (and I am certainly not an expert on these), but here are some of the skills I have certainly developed while working here: * Knowledge of modern SaaS stacks and the technologies that support them (as well as deploying, monitoring, etc.) * Knowledge of Android app development * Knowledge of Postgres + database technologies * Knowledge of Angular + front end technologies * Knowledge of team management and running an efficient process for a team * Knowledge of people management and how to effectively mentor / grow people (include effective code reviews) * Knowledge of how to effectively prioritize feature requests and customer issues on a mission-critical system (as well as general problem solving skills around these)