Profile image for Sergei Golos

Sergei Golos software enthusiast and forever student

Staff Software Engineer@Lyric

Speared-heading the migration to the cloud of the existing 'Content Manager' product with a focus on performance, scalability, reliability, and cost-effectiveness.

  • A 90-day learning plan for hitting the ground running with a focus relationship and consensus building.
  • Proactively seek out knowledge and training resources to enhance my understanding of business problems facing the company.
  • Create a collaborative team environment that encourages members to thrive and to learn and grow together.

Open Source: Timers Ninja@GitHub

Markdown language for generating workout timers from plain text inspired the mermaid markdown language. Used for home workouts, the project was a deeper exploration of building domain specific languages with lexical parsing.

  • Deep dive into the inner working of language construction. The project breaks down markdown strings into tokens, creates a syntax tree with parser and walks the tree with language interpreter to generate a collection of timers.
  • Chrome-cast enabled controls for timers, allowing old TVs become low cost barrier to entry for a configurable home workout timer.

Technical Product Owner@Travelers

Responsible for a team maintaining a middle layer integration system that serves as an entry point for 70+ third party providers into the Travelers services ecosystem. The focus of our efforts was on reliability and observability.

  • Converted a two week per integration coding process into a collection of reusable components that reduced the effort to configuration.
  • Organized the work effort for the different integration types into trackable and repeatable units of work.
  • Created a high level view that tracks the progress of integration work and promotion across the many levels environments

Sr. Software Engineer @Travelers

Focus on code quality and developer experience, I got to dig deep into development patterns that created code smells and enable an increase in team feature delivery velocity.

  • Refactored an existing collection of angular components with a pattern of copy/pasting into generic components enabling the existing functionality with about 40% of the original code.
  • Created a domain specific language to describe the behaviors of forms that the teams created as part of day to day work.
  • Explored pathways to improve the deployment story as the company wants to shift to cloud deployment.

Open Source: Founder ZeUnit@GitHub

Testing framework designed to bridge the gap between traditional unit and system wide integration testing. The design goals of ZeUnit are grounded in the realization of a sad truth, developers will be writing integration tests and not business people who focus the data. Facing this reality, begs the question, 'Why write the tests in a made up markup language when dotnet developers feel most comfortable using dotnet?'

  • No markup language required to build tests, instead ZeUnit focuses on easily consuming outside data sources.
  • Built on the principles of progressive enhancement allowing users to start with simple tests and scale the complexity for system wide integration.
  • Test functions return the results, not 'spooky action as a distance' to mutate execution state making asynchronous testing easy to support.

Open Source: Pull Request #789 Storyteller@GitHub

Storyteller is an integration testing framework with a GUI for test data entry and a nice HTML subsystem for generating detailed reports. In my personal and professional work, I found that being able to quickly generate HTML reports on code execution enabled me to build integration tests that not only flag issues with the system but also greatly helped with debugging. When I was confronted by the limitations of adding some filtering behavior into the generated reports, I decided to dig into the code to see how this can be addressed. The following pull request is my resolution to this roadblock.

  • Replaced hard coded functions to render static css and js content with a composable document builder.
  • Exposed the newly created document builder to enable side-loading additional content into the generated HTML reports.
  • Default behavior of the existing system remained unchanged by the pull request, expanding functionality without breaking backwards compatibility.
  • All additional code written has 100% unit tests coverage.

Sr. Software Engineer (Services Delivery)@Change Healthcare

As a senior software engineer on the Services Delivery team, my responsibilities centered around the development of processes and tools to transition the team to a cloud and self-service model.

  • Spearheaded the design of customer deliverables for product migration to container based delivery & deployment.
  • Mentored engineers working on specialized internal tooling for the Services Delivery team.
  • Streamlined the customer configuration & release process changing it from 3 week manual effort to push button automation that consumes an existing customer intake sheet.
  • Designed and developed a bot that handled CI/CD automation driven by the Jira business workflow for customer release delivery.
  • Implemented sanity checks and systems validity testing for release and deployments completed by automation.
  • Pushed to drive the team to better coding standards with code review, pair-programming and brown-bag sessions.

Sr. Software Engineer (Product)@Change Healthcare

As a software engineer on the product development team, my responsibilities include development of new workflows and features, bug fixes, and guiding the product team towards cleaner and simpler product delivery.

  • Validated system integration modules against new versions of peripheral software products. In the process developed additional adapters to bridge version incompatibilities.
  • Resolved long standing services issues with updates for service packs, finally allowing a single service pack to upgrade any old version of our product.
  • Proposed and implemented improvements to the development, building and deployment of hotfix packages, streamlining the process from a complicated four-part configuration process into a single "source of truth" layout file.
  • Worked as an intermediary between the production team and my old services team to create smoother product handoff with fewer breaking changes for process developed by services team.

Sr. Software Engineer (Services Delivery)@McKesson

As a software engineer on a service delivery team, my responsibilities included implementation of special application requirements, packaging custom configuration, and general oversight of tech-related issues for each of our clients. As the senior engineer on the team, I was also responsible for setting the strategy for the team to solve less trivial problems.

  • Developed a deployment strategy for customer-centric product overrides. Abstracted the complexity of WIX installer MSI behind a business problem-oriented Domain Specific Language (DSL). Automated the build process, leading to reduced build times and decreased user packaging errors.
  • Oversaw design on several in-house, web-based software tools. In the process, reduced duplication efforts between tools by extracting core shared elements into a supporting McKesson-branded UX framework.
  • Took charge of developer growth effort with regular "brown bag" sessions and knowledge transfer on different topics of interest.

Software Engineer@Korchek Technologies

Worked on a small development team as a .NET C# developer, but like most members of a small teams, wore many hats in the process. Under the guidance of the Sr. Engineer, gained a finer appreciation for elegant and simple solution design.

  • Worked on development of new products, including CareCheck 2 & 3 and Korchek Report System.
  • Pioneering new web based product, Web Unit Archive, which leveraged client side data binding frameworks to provide a thick client user experience in a web browser.
  • Involved in data conversion and automation scripts. Creating conversion mappers for legacy binary data in efforts archive customer deprecated applications.

Software Engineer@Cosential

As one of three developers in the company at the time, I had the opportunity to work and many differing capacities, which was a great learning experience for this early time in my career. Cosential was my first job on a strictly web based application and it was here where I was exposed to asynchronous javascript request. Seeing the importance and impact of the technology, AJAX and front end engineering became a focus of personal growth.

  • Learned and worked with ColdFusion to maintain and extend the Cosential CMS application
  • Creating PHP data sync connections for clients database systems in order to migrate them to our service
  • Building custom websites for our clients from designer image files with HTML, CSS and JavaScript

Jr. Software Engineer@Abbott Jewelry Systems

Starting work while still taking classes at college, I was lucky to have played chess with the CTO at a local coffee shop. After winning against Joe, he invited me for an interview at his company and took a risk on me after looking at some PHP scripts of questionable quality. In the time I worked under Joe, his decades of experience and wisdom were a strong influence on my development as an engineer.

  • Introduction into .NET programming with ASP.NET Web Forms and VB.NET desktop applications
  • Worked with the Compact Framework version of .NET to build out and deliver inventory tracking software for Windows Mobile 5
  • Created inventory syncing storefront websites for clients of AJSLLC Edge users