Hi, I'm Alexandre Smirnov.

I develop amazing software.

I'm a software engineer who has extensive experience in JavaScript, several web development frameworks, the Node.js stack, Java and Python microservices, data pipelines, data engineering, and the list goes on. 10 years of programming experience through personal projects, contracting with a Series-A IoT startup, freelance work for numerous small businesses, paid summer internships, and full-time work at an autonomous vehicle company (Lyft Level 5, acquired by Toyota's Woven Planet in 2021) have all strengthened my skills in software development with a specialization in web-based technologies. Graduated with a degree in Computer Science from the University of California, Santa Cruz in June 2019. Currently working at Toyota's Woven Planet Level 5 Autonomous Vehicle division as a full-stack engineer.

You can reach me at alexandre [at] alexandresmirnov.com.

Experience

I've done freelance work and have worked at several startups - take a look.

Full-stack Engineer at Woven Planet's Level 5 (previously owned by Lyft)

October 2019 - present
  • Developed ingestion pipeline for AV data to reach our data warehouse in less than a minute.
  • Reworked observability of several microservices across the stack to quickly triage and fix errors before significant impact on customers.
  • Designed and developed an in-house data visualization tool to enable all team members to understand and explore raw AV data.
  • Single-handedly developed and maintained key service connecting AV data to Kafka for subscriber microservices downstream.
  • Paved the way for several service migrations during Woven Planet's acquisition of Level 5 by being the first to migrate several key services and documenting the process.

QA and Front-End Development Intern at Altair IoT

June 2018 - September 2018
  • Responsible for maintaining the QA suite for an API server and its front-end React.js dashboard.
  • Contributed bug-fixes and collaborated with the team to brainstorm improvements for the product.
  • Greatly expanded skill-set in Node.js and React.js by testing and writing bug-fixes for a React.js app and writing automated API tests using Node.js.

Full-stack Web Developer at Verdigris - Contract

February 2018 - March 2018
  • Created a dashboard using Ember.js to visualize smart building data.
  • Fully responsible for successfully developing the product from mock-ups to a functional, responsive web page within a one month hard deadline.
  • Obtained experience working in a collaborative, fast-paced environment alongside the CEO, product manager, and UX designer.

Freelance Web Developer

May 2011 - September 2015
  • Full-stack developer and designer for numerous private clients, since age 15.
  • Gained years of experience working with the latest front-end web technologies such as HTML5 and CSS3, back-end technologies such as WordPress and Node.js, and web server management.
  • Developed skills in business communication, client management, and stakeholder collaboration.

Accomplishments

I've been coding since I was in middle school, and here are some of the cool things I've done (mostly as a high-schooler in between homework assignments):

Arabic Abjad Learner

When I started learning Arabic, I saw that there was a distinct lack of a tool to practice reading the script. I decided to write my own app that would generate words valid according to the rules of Arabic phonology, and which would also be statistically the most common word shapes. It's written in React Native, so I gained a lot of valuable experience with the React, NPM, and Node.js ecosystem in general.

React Native DrawerView

I needed a certain piece of UI functionality for Arabic Abjad Learner, so I created a highly configurable react-native plugin that exports a new View container to allow for slide-out panels from the top.

Design Lunatic

This was a web development/design blog that I launched in 2011 when I was 13 years old, and maintained between 2011 and 2014. I wrote tutorials on how to use various front-end technologies and published personal selections of well-designed websites. This website also landed me a couple web development jobs. I adopted new design for the website a few years ago, but the old one can be viewed using the internet wayback machine.

RentinPDX

This is a website to browse through apartments the owner rents out in Portland. I built this using WordPress and customized an existing theme extensively to make it fit the needs of the client. I'm particularly proud of the integration between clickable points on the map and internal apartment entries on the website, as well as the convenient back-end portal with apartments as custom post types that make managing everything very straight-forward.

Guest author at Speckyboy

Around the same time that I was actively working on Design Lunatic, I got the chance to be a guest author at speckyboy.com, an online web design and development blog. I wrote several well-received guest posts, mostly tutorials on front-end technologies I was interested in at the time.

Programming skills

I've been programming in various technologies since I was in 7th grade. Here are some of the skills I've learned in this time.

Javascript This is the very first programming language I picked up, and I've written thousands of lines of code in it, ranging from jQuery plugins to react native code. Javascript is second-nature to me.
React Fully designed and developed a data visualization tool single-handedly at Level 5, as well as several personal projects mean I am very well-versed in the React ecosystem.
Node.js Developing a React / Node app at work and maintaining it for a year has brought me to a high level of comfort with Node and its ecosystem.
Java Worked extensively in Java on various services within the Level 5 infrastructure stack and am fully comfortable with it.
Python Writing web scrapers and experimenting with natural language processing toolkits, as well as maintaining several services and scripts at Level 5 has resulted in my being quite proficient in Python.
PHP + WordPress I've written several WordPress themes and personal projects using PHP, so I am very proficient in WordPress in general and PHP as a programming language.
C I've written several projects in C, so I am relatively comfortable with it.
HTML/CSS Thanks to the amount of websites I've created over the years, I've developed a mastery of these two sister technologies.
SQL Lots of ad-hoc queries in SQL at work mean I know my way around a SQL query.
gRPC / protobufs I use gRPC extensively at work, so I'm very comfortable with the gRPC / protobuf combo.
Kafka Lots of work on microservices pub/subbing to Kafka have given me plenty of practical experience.

Languages

A hobby of mine is learning natural languages. Every language on this list except for Spanish is one I learned through self-study, and at this point, I have a reasonable degree of proficiency in 4 other languages besides my two native ones (B2 and above). For Indo-European languages, it's taken me about half a year on average to reach a B1 level (basic conversational skills) and about a year total to reach B2 (enough fluency to have typical everyday conversations). I blog about how to hack the language learning process in my personal blog.

Language CEFR
Russian My native tongue. C2
English My second native language, learned it growing up in the US. C2
Japanese Fully fluent for all daily conversation needs. B2
Spanish Learned through years of study at school. B2
French The first language I learned to fluency outside of school, largely thanks to French-speaking friends. B2
German The second language I learned to fluency on my own; I was to spend a few weeks in German-speaking countries one summer, and jumped at the opportunity to learn this language. B2
Swedish I studied abroad at Lund University in Sweden for a semester and perfected my Swedish while I was there. B2
Czech I was born in the Czech Republic and my parents still speak the language, so I decided to learn it to basic fluency. B1
Hebrew Learned the basics through a combination of school and self-study. A2
Chinese A work in progress; currently on hold while I focus on other things. A2
Korean Decided to take this on for personal reasons, and can read and write and navigate basic daily situations. A2