Hi, I'm Nick Blokhin
software engineer who make cool things with JavaScript, Python and Swift
/ My CV
My CV

During my engineer career, I used a lot of different technologies, programming languages, and frameworks. But in the end, I have chosen these three. It covers all my requirements for Web development (backend and frontend) and mobile development. So here is my technology stack that I'm currently working with it:

JavaScript
17 years, since 2009
Vue.js, AngularJS, ReactJS, Node.js, Three.js, D3.js, jQuery, BackboneJS, AJAX, XML, JSON, Socket.IO, Babel, Webpack, ESLint, etc.
Python
20 years, since 2006
Python, Django, Flask, Werkzeug, aiohttp, Bottle, Jinja2, PyGTK, PyQt, WTForms, SQLAlchemy, Numpy, SciPy, Pillow, OpenCV, NLTK, BeautifulSoup, etc.
Swift
12 years, since 2014
Swift, UIKit, SwiftUI, Cocoa, SpriteKit, CoreData, Autolayout, Accounts, Social, Foundation, Alamofire, SwiftyJSON, RxSwift, SnapKit, etc.

Databases: PostgreSQL, MySQL, MongoDB, CouchDB, Redis, SQLite, Firebase, Elasticsearch, GraphQL (the last three are not "classic" databases but is very close in some case).

Servers: Debian, Ubuntu, Nginx, Google Cloud, Amazon Web Services, Microsoft Azure, DigitalOcean, Linode.

Other: Git, HTML, CSS, Assembler, Erlang, Scrum, Kanban, Internationalization/Localization, TDD, Bash, GTK+, Qt, Apple App Store and Google Play (the full flows from testing to releasing and support).

My personal projects

Web
Avirium - organizer for Youtube subscriptions. User can create a handy tree of categories and sort subscriptions as he like.

DeltaVoid - browser 3D space game about an alternative universe. Also is available browser 3D level editor.
MacOS
Macongo - "Macongo" is a user-friendly and straightforward native desktop client designed specifically for MongoDB, a popular NoSQL database.

Weather for Status Bar - "Weather for Status Bar" is a simple desktop app for MacOS. It displays the current weather situation on the status bar and more detail info on click on its icon in the popup.

Ramac - Ramac it's a small internet radio player which works very fast and almost does not load the system during playback (less 1% CPU).

Rename with Exif - The application renames your photos using data from Exif (meta information in the file with photo).

Plain Color Converter - A desktop application that simplifies the process of converting color models from one format to another.
iOS/iPadOS
Cat's Game - This app is created specifically for cats. The game has three modes.

Plain Dices - This small application can replace your dices in board games ("Plain Dices" are suitable as devices for used in tabletop games), and for other purposes (for example can use this app for generating random numbers).

Salary Tax Calculator - With "Salary Tax Calculator" you can find out the approximate amount of taxes from your salary that you have to pay in different states of USA.

Work experience

United States
Instock
Apr 2021 – Present
Software Architect

As a Software Architect, I am responsible for designing and overseeing the development of complex software systems. My role involves developing technical strategies, assessing project requirements, and defining technical standards. I work closely with development teams to ensure that software design is aligned with business needs and architectural standards.

To ensure optimal system performance and scalability, I analyze and solve complex problems. It's my responsibility to make sure that the software architecture meets the necessary standards for security, performance, and maintainability. Additionally, I stay up-to-date with the latest trends and technologies in software development to provide the best solutions for our clients.

As a Software Architect, I play a crucial role in driving the success of our company. By designing and developing robust software systems, I ensure that our clients' needs are met with high-quality and reliable software solutions.

Sep 2018 – Apr 2021
Tech & Team Lead

As a Tech & Team Lead, I was responsible for leading a team of developers and ensuring that our work was aligned with company goals and standards. My primary focus was on:

  • solving architecture problems;
  • identify team goals and evaluate team progress;
  • setting clear team goals;
  • developing a strategy the team will use to reach its goal; code review;
  • coaching team members;
  • managing and overseeing the day-to-day operations;
  • monitoring team performance and report on metrics;
  • motivating team members;
  • listening to team members’ feedback and resolving any issues or conflicts etc.

Overall, my role as a Tech & Team Lead was crucial in driving the success of our team and achieving excellent outcomes for the company.

Jul 2017 – Sep 2018
Principal Software Engineer

As a Principal Software Engineer, I was responsible for the development and maintenance of mobile applications for both iOS and Android platforms. My role involved creating robust application architectures and designing APIs to support our mobile apps. I also oversaw the app publishing process, ensuring that our apps were prepared and published to the Apple App Store and Google Play with precision and efficiency.

In addition to these responsibilities, I provided critical support to other developers on the team, sharing my expertise and helping them improve their skills. As a Principal Software Engineer, staying up-to-date with the latest trends and technologies in mobile app development was essential. It allowed me to continually improve our apps, create new features, and exceed user expectations. Overall, my role as a Principal Software Engineer was pivotal in delivering exceptional mobile experiences for users while driving the success of the company.

United States
CartFresh
Dec 2011 – Jul 2017
Senior Software Engineer

As a Senior Software Engineer at a small startup, I had the opportunity to wear many hats and take on a range of diverse responsibilities. During my time there, I was involved in developing internal systems for courier and logistics management, as well as creating a mobile application from scratch. Additionally, I worked on the frontend and backend of an e-commerce system and developed both the order management and customer relationship management systems.

One of the most exciting experiences I had during my tenure at the company was participating in the Techstars Boston Accelerator program in 2015 as a representative of CartFresh. This opportunity allowed me to network with other tech entrepreneurs and gain valuable insights into the latest trends and innovations in the industry.

Overall, my time at the startup was a challenging but rewarding experience that allowed me to grow as a software engineer and develop my skills in a range of different areas. Working in a small, fast-paced environment gave me the opportunity to take ownership of projects and make meaningful contributions to the company's success.

United Kingdom
Ar Vors Ltd
Mar 2011 – Nov 2013
Software Engineer

During my time at the company, I was responsible for designing and implementing the architecture of various e-commerce applications. This involved working with various technologies (Python, JavaScript, MongoDB, etc). I collaborated closely with other members of the team, including designers and project managers, to ensure that our applications met the clients' requirements and were delivered on time.

In addition to development, I was also involved in testing and deployment, which gave me a deeper understanding of the entire software development lifecycle. Overall, my experience at this company was invaluable in developing my skills as a full-stack developer.

United Kingdom
Club Media Systems
May 2010 – Apr 2011
Software Developer

As a software developer, I gained extensive knowledge and experience working on a complex system that required seamless integration between the frontend and backend components. The system was designed to enable the creation, editing, and management of media content for advertising monitors in public places, which meant that I had to work with a range of media formats, including photos, videos, and audio.

One of the most significant challenges I faced during this project was developing a cloud-based application architecture that could handle large volumes of data and provide reliable and scalable performance.

Throughout the project, I collaborated closely with other developers, designers, and stakeholders to ensure that the system met the desired functional and performance requirements. I also had the opportunity to learn new technologies and frameworks.

Overall, working on this project was a rewarding experience that allowed me to develop new skills and knowledge in cloud-based application architecture and media content management. It also provided me with a deeper understanding of the complexities involved in developing large-scale systems and the importance of collaboration and communication in software development.

Aug 2010 – Mar 2011
Software Developer
This is an outsourcing company, so I managed to work on different projects for different customers. They were mainly e-commerce projects, but there was also an interesting project related to cryptography and one related to chemical sciences research.
Estonia
Original Coding
Jul 2006 – Aug 2010
Software Developer
In this company, I was a full-stack developer. At first, I worked on a large specialized portal (one of the largest in its niche), and later on the desktop applications for Linux.
World
Freelancer
Sep 1998 – Jun 2006
Software Developer
It was a crazy time, were a lot of different companies and projects. At first, I wrote almost a year on Assembler. After that, there were the projects on C, PHP, Ruby. And in the end, I finally "met" Python.