PDF

Ramil Karimov, Software Engineer

I am a Software Engineer with extensive expertise in web development. Over the years, I have delivered a diverse array of successful projects, showcasing my proficiency in both front-end and back-end technologies, such as JavaScript, TypeScript, Svelte, React, Node.js, CSS, and SCSS.

My project portfolio includes a wide range of applications, from project management tools and sophisticated dashboards to shopping platforms, Shopify plugins, and React-based mobile apps. These projects underscore my ability to tackle varied challenges and consistently deliver innovative solutions.

I am also experienced in automated testing and CI/CD configuration.

Skills

Languages: JavaScript, Typescript

Technologies: Svelte, React, Electron, node js, CSS, SCSS, Supabase

Work Experience

Since May 2024 Part-time Full Stack Developer at design bureau, Intuition, Remote

Role: Full stack developer.

Tasks and Accomplishments: I am responsible for developing one of the client products. For the studio’s website, I created many complex visual components and components with complex logic. Ported components to an HTML-only version of the internal library.

From March 2024 to August 2024 Part-time Full Stack Developer at Startup, Know Your Talent, Remote

Role: Developer of the desktop electron app and AWS administrator.

Tasks and Accomplishments:

Worked on refining and maintaining an Electron application. My responsibilities included fixing bugs, implementing new features, and supporting infrastructure.

Automated the build and signing processes using GitHub Actions, allowing all builds to be compiled and deployed to AWS S3. This significantly reduced release time and minimized errors related to manual operations.

Enhanced the backend on AWS Lambda and CDK by establishing connections between infrastructure elements and adding new endpoints that return processed statistics.

Merged three repositories into a single monorepository with builds for all platforms. The original repositories differed in some platform-specific details. I consolidated the large shared portion into a unified module and extracted small platform-dependent parts into separate modules linked to the main one. Used Turborepo to organize the build pipeline.

Reworked the structure of the Electron application to eliminate unnecessary duplication.

From October 2023 to March 2024 Developer at Startup, Pyroblast, Remote

Project: Pyroblast

Gamer-oriented chat platform, got cancelled.

Role: Developer of the desktop electron app.

Tasks and Accomplishments:

  • Developed a desktop app on electron from scratch. Using sveltekit, vite, supabase, typescript and turborepo. Sveltekit in a static site generation and spa mode allowed pretty straight forward routing and components for the app. Supabase is a great OSS backend as a service platform. It provides authentication, database and a real time communication. Vite for sveltekit and electron resources build.
  • Automated builds for all platforms using github actions and telegram bot to report links on success build.
  • Implemented authentication with google and email. Set up links from the email to open in an app.
  • Added to designer’s pipeline usage of design tokens and added generation of the css variables based on it.
  • Used turborepo to create monorepository and separate applications (web and electron) components, generated styles, types and other helpers (such as storybook).
  • Made the layout of the app with right-to-left languages in mind, so that arab, jew and asian natives would be able to use an app more compfortable.

From October 2022 to September 2023 Lead Software Engineer, Growave, Remote

Project: Growave

Marketing platform for shopify. Consists of multiple subprojects.

  • Admin interface implemented on typescript using akita for storage management, superstruct for api schema validation and react with hooks for rendering.
  • Legacy shopify plugin implemented built on shopify liquid file templates and jquery.
  • Version 2 shopify plugin built on svelte and web components.

Role: Lead frontend developer

Tasks and Accomplishments:

  • Led the development team for the new version of the plugin, using Svelte and web components.
  • Implemented a dynamic design system where users select several base colors, and the rest are chosen using offsets and contrast accessibility checks.
  • Optimized the admin interface for performance and code-writing standards.
  • Ensured code quality in the project through code reviews.

Languages: Typescript, CSS

Tools: Svelte, React, akita, superstruct, RXjs, Shopify polaris, Shopify API, postcss, npm

From December 2020 to September 2022 Software Engineer, Orion Innovation, Remote

Project: ECommerce solution

Role: Frontend developer

Tasks and Accomplishments:

  • Integrated the payment solution
  • Participated in on-going feature development

Languages: Javascript, CSS

Tools: Webpack, ES6, React, Redux, Jenkins, Docker, Open API

Left the project because I wanted a role closer to the design process.

From May 2020 to September 2020 Software Engineer, QuickBPM, Izhevsk (Remote), Russia

Project: QuickBPM redesign. Business Process Management tool

Role: Frontend developer

Tasks and Accomplishments:

  • Implemented system-wide redesign in product in active development
  • Created mobile application
  • Refactored state-management to remove MobX

Languages: TypeScript, SCSS, JavaScript

Tools: Angular, RxJs, MobX, Cordova, Electron

Left company because I did not handle well my leading role and decided to get a role with no subordinates.

From August 2019 to April 2020 Software engineer, Maxiru inc, Izhevsk (Remote), Russia

Project: Guest app. Content-based react native + webview mobile application for guests on cruise ships

Role: Frontend developer

Tasks and Accomplishments:

  • Developed multiple user interfaces
  • Created an infrastructure for UI testing automation based on Cypress, Jenkins, Docker

Languages: Javascript, CSS

Tools: Webpack, ES6, React, Redux, Cypress, Jenkins, Docker, AirTable, Open API

Due to COVID-19, cruise business was in trouble, so company reduced development team, including me.

From January 2018 to August 2019 Senior Software engineer, RedSys inc, Izhevsk (Remote), Russia

Project: Geo-information dashboard. Domain-specific set of tools maps, tables, charts, etc. to support decision-making.

Role: Frontend developer

Tasks and Accomplishments:

  • Developed multiple user interfaces
  • Introduced new layout architecture
  • Migrated project to Typescript
  • Integrated external universal previewing tool

Languages: Javascript, Typescript, Java, CSS

Tools: Webpack, ES6, Angular, Golden Layout, Open Layers, w2ui, CSS, LESS, React, redux

Company got bankrupt.

From May 2017 to December 2017 Software engineer, Competentum, Izhevsk, Russia

Role: Frontend developer

Tasks and Accomplishments:

  • Developed multiple educational games and demos
  • Held a series of internal seminars on unit testing and CI

Languages: Javascript, Java

Tools: Gulp, Webpack, ES6, Angular, Accessibility testing tools, Flash to html5 conversion tools

Left so I can work remotely.

From October 2015 to March 2017 Senior Software engineer, EPAM Systems, Irvine, CA, USA

Project: Advertiser Experience Platform. Analytics, decision-making platform for recommendations to enhance AdWords campaigns.

Project Role: Configuration developer, Front-end developer

Tasks and Accomplishments:

  • Developed multiple recommendation and adoption tracking configurations, which includes requirement and data analysis, implementation using proprietary javascript-based tools
  • Suggested, designed and introduced into platform multiple user experience-enhancing features. Using GWT and set of customer-specific and project-specific tools

Languages: JavaScript, Java

Tools: Google closure, GWT, Proprietary customer technology stack

From April 2014 to October 2015 Senior Front-End Developer, Piano (former Tinypass), Izhevsk, Russia

Project: Piano, the business platform for digital media. Tools and API to apply different sorts of payment methods and policies for media content

Project Role: Front-End Developer

Tasks and Accomplishments:

  • Developed lots of dashboard pages for administrators and publishers based on AngularJS
  • Added jasmine tests to the frontend development process
  • Implemented graphical reports using D3.js
  • Took part in a new version of the main product (white-label paywall service)
  • Introduced and implemented integration tests based on hosted selenium WebDriver solution
  • Trained interns

Languages: JavaScript, Java

Tools: Gradle, Swagger, Less, TeamCity, Selenium, Browserstack

Source Control: Git

Methodology: Agile

Databases: MySQL

OS: Linux, OS X

IDE: IntelliJ idea

Technologies: AngularJS, jQuery, D3.js, lodash

Application Servers: Tomcat, Jetty

From July 2011 to July 2014 Software engineer, EPAM Systems, Izhevsk, Russia

Project: Bank Billing Center

Project Role: Front-End Developer

Tasks and Accomplishments:

  • Redesign and reimplementation of File Exchange Subsystem
  • Implementation of tests
  • Monitoring subsystem updates and improvements

Languages: JavaScript, Java

Tools: Axure RP, Gradle

Source Control: SVN, Git

Application Servers: IBM WebSphere

Project: VM backup dashboard

Project Role: Front-End Developer

Tasks and Accomplishments:

  • Updated and improved the VM Backup dashboard

Languages: JavaScript

Technologies: Ext JS 3, Jasmine

Source Control: SVN

Project: Bank Customs Cards

Project Role: Java Developer

Tasks and Accomplishments:

  • Implemented parsers, formatters and protocols for a custom data exchange format
  • Participated in creation of GWT front-end

Languages: Java

Source Control: SVN, Git

From July 2010 to July 2011 Software Engineer, Astarus, Izhevsk, Russia

Project: Discount provider CRM support

Project Role: PHP Developer

Tasks and Accomplishments:

  • Updated system according to the requirements

Languages: PHP, JavaScript Source Control: SVN Databases: MySQL Technologies: Symfony2

Project: Office collaboration tool

Project Role: Java Developer

Tasks and Accomplishments:

  • Implemented SWING-based plugin-based desktop interface
  • Created custom loader for jars in real time to implement faster start-up of application with delayed module loading
  • Implemented a part of server-side code

Languages: Java

Source Control: SVN

Databases: MySQL, Derby DB, H2db

Technologies: J2ee, JBoss, SWING, JIDE framework

From July 2008 to July 2010 Software Engineer, Elewise, Izhevsk, Russia

Project: Online game “Virtual Russia”

Project Role: Java Developer

Tasks and Accomplishments:

  • Implementation of a bunch of flash mini-games
  • Map with dynamical loading
  • Back-end development

Languages: Java, JavaScript, ECMAScript4

Source Control: SVN

Databases: PostgreSQL

Technologies: Tomcat, Hibernate, Spring, Struts, Flash, Flex

Education

Artem Gorbunov's bureau design school

Finished 2 levels of the school

Udmurt State University, Izhevsk, Russia

Department of Information Technologies M.S. in Information Technologies in Economics