SpendHound
SpendHound is a SaaS platform that provides value by aggregating financial and other data (including files) from many third-party platforms, and providing insights on potentially redundant expenditures and help with optimizing the cost of using platforms. The system consists of several microservices, each with their role on collecting, processing, storing data, or providing insights.
Responsibilities
- Team lead - leading the development on all stages, starting from discussions and negotiations with stakeholders and ending with code reviews and writing code;
- Engineering management - managing a medium-sized team, mentoring teammates, and ensuring developer satisfaction and maximum efficiency;
- UI/UX reviews - reviewing designs and discussions with designers to achieve the best user experience (UX) and resolve technical issues eaarly;
- Front-end architect - designed and maintained the architecture of the front-end;
- Data analytics - occasionally collecting complex statistics for business analytics purposes.
Achievements
Software-related achievements
Events Sourcing
Curated and participated in integrating Events Sourcing pattern, introducing events system, and moving system to operate based on events. Using Events Sourcing in the application led to reduced complexity and development efforts for integrating the application with other platforms (e.g., Appcues), providing better transparency (e.g., for investigating bugs and security incidents), and allowed manually restore data when conventional database backup didn't provide the necessary information.
Migration to CQRS
Curated and participated in migrating the project from a traditional architecture to Command Query Responsibility Segregation (CQRS) based one. It required changing several core assumptions of the application, and tremendous amount of work that was also combined with working on new features. The migration was successful and led to no serious bugs, while increasing loading and other read-based operations up to several times. The new architecture allowed quicker iteration and support for features that the old one didn't support.
Asynchronous Malware Scanning
Designed and developed an asynchronous malware scanning system for scanning files uploaded by a user. The system was based on webhooks and "promises", and provided transparency not only for users, but for admins and security team.
Silent authentication
Designed and implemented a secure Silent Authentication for Single Page Application (SPA) to avoid logging out users during long sessions. It resulted in higher user satisfaction and followed the best security practices.
SOC2 compliance
Curated and implemented measures to achieve SOC2 compliance.
Data analytics
Contributed greatly into business analytics by constantly collecting and providing complex metrics on user activities and trends.
Processes- & management-related achievements
Mentoring a medium-sized team
Mentored every developer in my team, helping them to enhance their expertise, improve efficiency, and lay out paths for further development.
Security incident response process
Designed and curated a process for responding to security incidents. The process included a post-mortem report, transparent communication with stakeholders, and further work for mitigating similar and related issues.
Creating and maintaining knowledge base
Curated and then maintained a company-wide knowledge base on projects, including complete documentation about architectural decisions. As a result, onboarding onto the project became seamless and time to contribution got significantly reduced.
Streamlining a process for adding new integrations
Designed and then improved the process of requesting to add a new integration. As a result, the development time for adding a new integration decreased nearly three times.
Interteam collaboration processes
Created processes for synchronizing two separate development teams.
Project transition
Participated and greatly contributed into a smooth project transition from my team to client's one.