Hey there! I’m Alex Troshin

A passionate software engineer

Creating reliable, everyway responsive web apps

and bringing ideas to life with enthusiasm.

Man smiling looking slightly right

About me

I'm Alexey Troshin, a senior software engineer.

I love diving into code and exploring the latest front-end technologies to create modern and responsive web apps.

Over the years, I've had the opportunity to work on various projects, including data analysis and predictive modeling platforms, real estate, advertising, hotel business, translations. I'm always looking for new and exciting opportunities to learn and grow as a developer.

Apart from programming, I love cooking, travelling, playing video games and table tennis. I believe that a good work-life balance is key to staying motivated and productive in my work.

Skills & Tech

  • Making vanilla Javascript plugins (dropdowns, a datepicker, custom form elements);
  • Optimising performance of heavy operations utilising hash maps, memoization, etc.;
  • Utilising modern APIs, operators and following best practices;
  • ES6+;
  • WebSockets, REST API, GraphQL;
  • Sticking to "SOLID", "DRY", "KISS", "YAGNI" principles;

Personal Projects

  • V-Victoria website desktop and mobile screens with gradient background

    A hotel website for a local business, built from the ground up leveraging power of Nuxt.js, SCSS, and Pug. The fully responsive design ensures a seamless experience across all devices, while advanced optimization techniques guarantee fast loading times. This project allowed me to gain even more valuable experience in frontend development, user experience design, and project management, while successfully bringing the client's vision to life.

  • Ligva desktop and mobile screens with gradient background

    I had the opportunity to be part of an ambitious startup that was dedicated to revolutionizing the world of translations. Joining the team during the project's mid-development phase, my responsibilities encompassed various tasks, including the development of a chat module for smooth client communication, migrating the app to TailwindCSS, ensuring responsiveness across different devices, as well as crafting visually appealing landing pages and emails. Despite our collective efforts and the promising potential of the app, the challenges of funding and intense competition led to the closure of the project shortly after its release.

  • TTG Club tablet and mobile screens with gradient background

    A tabletop games companion app. As an avid player of Dungeons & Dragons, I joined the development of this project in my spare time. What once began as one person's endeavor has now grown into a collaborative effort with a team of passionate enthusiasts. Together, we are building a comprehensive companion for tabletop games, catering to a thriving community of players and visitors. It's a labor of love that combines my passion for D&D with my frontend expertise, and I'm excited to contribute to the growth and success of this project.

  • Formulae desktop and mobile screens with gradient background

    Formulas creator app. During my trip around Southeast Asia, I encountered the recurring challenge determining the most favorable money exchange options — whether it was cash, card, or cryptocurrency. Inspired by this need, I developed this app as a solution. It allows you to create and save personalized formulas, name variables and expressions, and conveniently reuse them whenever required. Moreover, you can easily share your formulas with others who might find them helpful. To enhance usability, I implemented PWA support, ensuring that you can access the app even offline.

Experience

  • 2022

    PwC, Software engineer

    may 2022 - present (1 year, 2 months)

    PwC is a global network of firms delivering world-class assurance, tax, and consulting services for businesses. I am part of the AI&DA (Artificial Intelligence and Data Analysis) branch, which specializes in creating innovative software solutions for the clients.

    I had the privilege of being heavily involved in the development of an ERP (Enterprise Resource Planning) software for a major player in the oil industry. This project utilized the micro-frontend approach, with React, Redux (including redux-observables), and TypeScript as core technologies. It was a complex endeavor that required great coordination and attention to detail, but it was incredibly rewarding to cooperate with a large team and see the software come to life and empower the company in streamlining their operations and enhancing efficiency.

    At the beginning of my journey, I was assigned to a legacy project that required a modernization effort. One of the key tasks was migrating the codebase from class-based components to functional components using hooks, and integrating Redux Toolkit for state management. Additionally, I took on the responsibility of developing a project management and planning module using the DHTMLX Gantt library as well as a flow-chart module utilizing React Flow. These tasks required meticulous attention to detail, but they played a crucial role in modernizing the project and significantly enhancing its functionality and developer experience.

    Upon transitioning to the ERP project, I took on a leadership role in developing an interactive strategy tree module. This involved implementing a robust algorithm for positioning the tree nodes and creating a visually appealing display with various controls and modes using React Flow. Additionally, I integrated an overview mini-map within the scrollbar for enhanced navigation. Once this module was successfully delivered, I shifted my focus to developing a drag-and-drop interface module that served as a no-code solution for creating logic flows. This module utilized React Flow and leveraged the power of WebSockets to ensure real-time communication and seamless functionality.

    One of my significant contributions involved enhancing TypeScript typing throughout different sections of the project, maintaining a UI library and extracting shared modules that were utilized across the project to keep everything DRY and improve maintainability. Moreover, I conducted thorough refactorings and performed code reviews to ensure code quality and maintainability.

  • 2020

    Idaproject, Software engineer

    june 2020 - may 2022 (1 year, 11 months)

    Idaproject is a digital agency that specializes in the creation and maintenance of real estate websites. They have established partnerships with some of the largest developer firms in the industry.

    During our development process, we used ActiveCollab for project management. For the frontend, we utilized Nuxt.js with SSR (Server-Side Rendering), which really helps optimize SEO and enhance performance, but requires certain level of awareness about the technique, so I came to be quite comfortable using it. On the backend, we leveraged Python with Django to handle the server-side operations and admin dashboards for the clients.

    During my time at the company, I had the opportunity to work on four different projects in the real estate and accounting sectors. In addition to developing and maintaining three projects, doing code reviews, I also took on the role of a mentor for junior developers after a year of working with the company. This experience not only enhanced my technical skills in Vue.js but also helped me improve my communication abilities.

    One of the most challenging tasks I undertook was a complex flat configurator. I came to an idea to create a Vuex module that could be easily reused as a plug-in solution. It required careful consideration of the architecture and implementation to ensure its flexibility and compatibility with different projects. It was a complex task that pushed me to think creatively and strategically, and I'm proud of the final result.

    In addition, I had the privilege of working on a project that involved developing a simple Learning Management System (LMS). This experience provided me with valuable insights into working with iframes and understanding how to effectively communicate with them and inject custom styles.

    One particularly rewarding experience was becoming part of the company's charity initiative to develop a new website for a social hotel catering to children with cancer. I played a crucial role in laying the foundation for the project and made significant contributions throughout its development. It was a fulfilling opportunity to contribute to a meaningful cause and utilize my skills for the benefit of others.

  • 2019

    LuckyAds, Frontend engineer

    september 2019 - june 2020 (9 months)

    LuckyAds is a native advertising platform that offers a comprehensive range of technical capabilities for Advertisers and Advertising Agencies to effectively place their advertisements.

    In our development process, we utilized Jira for efficient project management, while leveraging HTML, CSS, and JavaScript for frontend development. As part of my role, I was responsible for creating and delivering landing pages for agency clients, as well as maintaining the existing ones.

    One of the notable highlights during my time there was the development and implementation of a shared template integrated with Webpack bundler. This significantly expedited the development process, allowing us to utilize powerful tools like Babel and PostCSS for enhanced developer experience, browser support, code reduction, and improved overall quality of the end product.

    Additionally, I optimized the developers' workflow by creating a Node.js script to automate the translation of static HTML pages saving hours of manual work. With our landings being translated into more than 10 languages and deployed across different domains, the script efficiently replaced the text with translated versions in a matter of seconds, leaving us to focus on ensuring everything looked as intended.

    Besides, I was responsible for developing an intra-company handbook for new employees. It inspired me to build a lightweight library that generated a navigation menu based on the content of the page. Using the Intersection Observer API, the module dynamically checked the visibility of different sections and highlighted the corresponding menu items. This enhanced the user experience and made navigation within the handbook seamless and intuitive.

  • 2018

    Ligva, Frontend engineer

    october 2018 - august 2019 (10 months)

    I was thrilled to receive a recommendation for a frontend position at Ligva, an exciting startup that focused on creating a platform for affordable, speedy, and secure text translations.

    When I became part of the team, the project was already in progress, the frontend was being built with Nuxt.js, the backend leveraged Laravel and Node.js. My role involved a wide range of responsibilities which included developing a chat module with WebSockets to facilitate seamless communication with clients, migrating the app to TailwindCSS for improved styling consistency, ensuring that the app was fully responsive and accessible on various devices, and creating visually appealing landing pages and emails. Despite our team's combined efforts and the app's promising prospects, unfortunate obstacles such as funding limitations and fierce competition ultimately resulted in the project being discontinued soon after its launch.

  • 2018

    Freelance, Frontend engineer

    february 2018 - september 2018 (7 months)

    I began my journey as a freelance developer, taking on small assignments and actively working on personal projects to further refine my skills and gain a deeper understanding of the field.

    One of the most significant projects I had the opportunity to work on was the development of a website for a local hotel. This project allowed me to take on a holistic role, handling everything from client communication to design, development, and final delivery. For the frontend, I utilized Nuxt.js, while leveraging Figma for the design process. To streamline the deployment process, I automated it using bash scripts, deploying the website to a hosting provider. Given the heavy presence of images in the project, I made it a priority to implement optimization techniques that would significantly improve loading times. It was an invaluable experience that allowed me to learn and grow tremendously. You can find more detailed information about this project by visiting this link.

Let's talk!

I am always open to exciting opportunities! So feel free to reach out on social media or leave a message here via the contact form.