Arjan is a frontend engineer based in Vancouver, Canada.
01. Work Experience
Onfleet
When
2021/Current
Role
Sr. Frontend Engineer, Team Lead
Website
Tech
React, Zustand, Angular, GitHub Actions, Tailwind
Highlights
I'll fill this section in when I move on from Onfleet.
👋
Farmdrop
When
2019/2021
Role
Sr. Frontend Engineer
Website
Tech
React, Redux, Apollo, GraphQL, TypeScript, Emotion, Expresss
Highlights
- Improved developer experience by refactoring legacy Ruby code into Node.js and React (faster compile times locally and on pipelines)
- Achieved 100% faster load times on "Recipes" by rebuilding it as an SSR React app with TypeScript
- Architected UI Component library built with React and Emotion, used across multiple frontend apps
- Introduced TypeScript to the frontend web-stack
- Collaborated with backend engineers when designing REST and GraphQLs endpoints for frontend clients to consume
After working in Vancouver for sometime, I felt a change was needed and I was craving a new challenge. This led me to moving to London and joining Farmdrop. The first few months were exciting, staying in airbnbs, exploring unfamiliar areas, and meeting new people. However, that quickly went to shit because of covid. The next year and half was spent working from home, which was my flat in North West London.
Upon joining Farmdrop, I was introduced to an enormous amount of tech debt in the frontend web app. It was a mixture of Ruby on Rails and outdated React. My first few months were mostly a mix of refactoring legacy Ruby into JavaScript, and eventually I was able to remove Ruby from our frontend tech stack. This increased performance on various parts of the website, as well as made our dev processes faster because we no longer had to compile or maintain Ruby code.
After paying off a lot of tech debt we were in a decent spot to build new features as well as introduce new libraries and tools to our workflow. I rebuilt the Recipes feature of the website from the ground up using TypeScript, React, and Emotion for styling. During this time we built a component library using TypeScript, React, and Emotion and slowly scaled it across multiple repos.
Taloflow
When
2018/2019
Role
Sr. Frontend Engineer
Website
Tech
React, TypeScript, Styled Components, Node.js, gRPC, Google Cloud Platform
Highlights
- Shipped themeable dashboard built with React, TypeScript and Styled Components
- Used gRPC for client-server communication and type safe APIs
- Used Node.js to build a Slack a integration for real-time alerts
- Unit and integration testing with Jest
- Collaborating with amazing backend engineers and product designers
I joined Taloflow's tight-knit team as their first frontend engineer. Part of my role was to decide what tech to use, how to structure things, and to get an MVP up and running a.s.a.p. Like most startups, trade-offs and prioritization were key when it came to shipping on time.
With that in mind, I choose to use tech I was very familiar with like React, Styled Components, and Firebase, and some tech I'd never used but wanted to, like TypeScript. This way I could still progress quickly and keep things interesting by learning something new.
Grow
When
2016/2018
Role
Sr. Frontend Engineer, Team Lead
Website
Tech
React, Redux, Styled Components, Express, Firebase, Google Cloud Platform
Highlights
- Architected and shipped modular white-labeled UI (with React, Redux) which other developers used to quickly build new product workflows.
- Designed and built UIs used by Canada's largest banks and credit unions
- Worked with backend engineers to design REST APIs
- Mentored junior team members through code reviews
- Interviewed Frontend Engineers and refined interview process
- Spoke about how we use React at Vancouver Startup Week
I joined Grow's team of 4 engineers while the company was still focused on a direct-to-consumer model. At the time, Grow's competition was banks and credit unions across Canada. Shortly after joining, Grow pivoted to a SaaS model, and now their competition were customers. This brought a slew of challenges to the engineering team, like making our existing product white-labeled and modular so that it could be highly scalable across all customers. As you could imagine, a lot of discussions around what to refactor to fit this new business model were had, along with what to rewrite from a blank slate and the pros and cons of each option.
The next 2 years were spent utilizing React, Redux, Styled Components, and many other great tools in the JavaScript ecosystem to build the UI that powered Grow's modular products. I also helped build out the frontend team by interviewing countless candidates and taking part in refining Grow's interview process.
Grow also didn't have any product designers, so myself and another frontend engineer designed all products and old marketing websites. This was a fun but challenging responsibilty because we had to thinking about the UX, UI, as well as code, so there was a lot of context switching, but also a lot of valuable experience wearing those different hats.
Ettrics
When
2015/2016
Role
Frontend Developer
Website
Highlights
- Used Jekyll to build static websites
- Started building apps with JavaScript (Angular.js)
- Promoted brand through CodePen experiments and articles
- Someone showed me how to use Git properly
- Worked remotely and communicated through Slack
Ettrics was my first real taste of being a frontend developer on a team with backend engineers and product designers. It was at Ettrics that I started as Web Designer and ended as a Frontend Developer. The key moment during this evolution was when I picked up Angular.js and started to intract with RESTful APIs that the backend devs were building. This way of working on the frontend was totally different than the static websites I was used to building, and I loved it.
PerfectMind
When
2014/2015
Role
Web Designer
Website
Highlights
- Created new themes for in-house CMS to replace old outdated themes
- Taught co-workers modern tools (at the time) like Gulp, SCSS, etc...
PerfectMind offered me my first real job in the industry as a Web Designer, but it wasn't quite what I had imagined. I was part of a small web team that pumped out websites from a few depressing templates that looked like they were designed in 1999. Along with outdated designs, the tech being used to build the websites was just as old. To sum it up, it was just plain old HTML and CSS.
I saw this as a great opportunity to introduce the team to things like build tools, and pre-processors to make development easier and more effective. Being able to split your HTML, and CSS into different files and then process them into a single file was pretty cool back then, and it made website development a lot easier. The team was receptive to using these new tools, so that was cool. The next thing I focused on was creating new website templates that looked more modern and up to date with what I know about design and user experience, along with adding some spice using JavaScript.
02. Side Projects
Teamwork
An app to keep track of feedback, schedule 1-on-1 meetings, and keep your team happy.
- React
- Redux
- TypeScript
- Node.js
- Firebase
React Camera
A flexible camera component for React DOM. Take photos using the latest WebRTC API's.
- React
- Media Stream
- Styled Components
Readit
Browse Reddit without visual noise. Built with React + Flux.
- React
- Flux
- Node.js
- Reddit API