Personal details

Kirill E. - Remote full-stack developer

Kirill E.

Based in: 🇹🇩 Canada
Timezone: Eastern Time (US & Canada) (UTC-4)

About

I teach Operating Systems and functional programming fundamentals to CS students and guide fellow professionals through legacy codebase maintenance, practical software architecture, and new language/framework learning skills.

For students, I offer two types of sessions - one is a lecture-style session where I can go over course notes/slides on a particular topics and offer additional explanations and examples to improve your understanding of the material. Another type is an assignment take-up session where I can go over a past assignment and guide you through steps to solving it.

For working professionals, I offer the following options:

  • Focused problem-solving sessions - if you have a particular issue that you're stuck with in a project you're working on, I can pair with you over Zoom screen-sharing

  • Code review - if you cannot understand how to work with part of your codebase or if you'd like a second opinion on work that you've just completed, I can pair with you over Zoom and do a live code review and/or prepare ahead of time and go over my findings on a call

  • Long-term mentorship - if you would like to learn some more fundamental skills or pick up a framework/design pattern/best practices, I can develop a custom-tailored learning plan that fits your skill level and schedule and offer regular teaching sessions with optional take-home exercises

A bit about me

I am a tech founder and a senior polyglot/full-stack developer, with a passion for teaching and mentorship. In a bit of spare time from my work, I am looking to help fellow software developers get more comfortable with our craft and exercise my teaching skills while I'm at it.

So far, I've done a wide range of work - web app front-end and back-end, data pipelines at scale, DevOps/infrastructure, mobile (quite a bit of iOS and previously some Android) and some security. I have a reasonable taste for UI design and user experience, despite that not being my primary specialization.

The industries I've worked in so far were heavily concentrated around finance/banking/FinTech and GovTech, although I've also been a founding developer at a couple of B2C startups and learned a lot throughout that experience.

My personal research interests include operating systems and programming language theory.

As cliche as it sounds, I try to learn something new all the time and I consider this of vital importance to my professional skillset. I always prioritize systems understanding and learning how to learn over memorizing APIs - and it's a philosophy that I try to share with my students as well.

Teamwork and constant exchange of expertise with my peers is a close second most important value to me. A software product can be almost meaningless without a team that welcomes learning from failures, encourages curiosity and fosters true human friendships, and empathy both towards each other and towards the customers of the software we create.

New client intake process

  1. Intro/triage call [free of charge] [15 min] - this is a Zoom video call where I try to understand your background, the problem you're looking to solve and whether I believe we'd be a good fit for a productive mentor/mentee relationship.

  2. Supplemental terms acceptance - as an independent contractor and not an employee of Arc, I ask my clients to accept a few additional terms that make session time measurement, scheduling and work product acceptance more precise, and further clarify the extent of our mentorship relationship.

  3. Creation of Freelance Job/Scheduled Session on Codementor - if you haven't done that yet, I will ask you to create and assign me a freelance job and/or a scheduled session with a precise description of the topics we would be covering.

For certain sessions, preliminary preparation may be required - if that is the case, we would discuss the details and estimated time ahead of time and a Freelance Job would be required to cover the effort of the preparation.

Availability

Please take a look at my Codementor calendar to plan intro calls and sessions. Generally, I am available between 3:30pm and 8pm Eastern Time (New York/Toronto), Monday to Saturday, but I try to schedule all of my teaching engagements between 6pm and 8pm whenever possible.

IMPORTANT: Urgent sessions are unfortunately not available at this time. I am currently working through Codementor as a mentor, and unable to work as an on-call freelance developer.

Please also note that I cannot provide consultations over chat - in my experience, it's generally more time-consuming for everyone, and copy-pasting code over chat can get messy. For those reasons, I only work through Zoom video calls with screen sharing.

If you have any questions about the process or would like to book a call, I am happy to chat on Codementor - I should be usually available Monday-Saturday, 1pm - 8pm Eastern Time, subject to my other engagements. While I try to respond as soon as I can, I may take up to one business day or longer depending on how busy my schedule might get.

Work Experience

Founder, Senior Software Developer
Tachyon Owl Ventures | Jun 2024 - Present
Python
React
DynamoDB
Swift
Airtable
AWS
TBA
Senior Software Developer
Epsilamic Solutions | Sep 2018 - Present
Java
Node.js
Docker
React
Spring Boot
Clojure
React Native
Successfully bootstrapped my own consulting agency that helped multiple startups build out their products, and provided focused enterprise training to various software development teams. In a couple of startups, I have acted as the founding developer, building out the entire product from concept to public launch and maintenance. [more details TBA]

Projects

Bachelor of Computer Science Degree (University of Waterloo)
2009
Computer Science