Senior Software Engineer
CurrentContinued to improve the product with new technologies & processes.• Rewritten Autofill component into a separate cross-platform library using C++• Designed and developed new secure transport protocol (based on TLS) for exchanging the data between main application and Autofill Extensions.• Integrated the Minigui component (written on React) into Autofill Extensions.• Supported the autofill logic library written in C++, fixed bugs and developed new autofill requirements.• Invented a way how to test the Autofill Extensions before publishing release versions to end users.• Improved support of modern browsers.• Implemented autofill support of Edge browser (UWP-based), created small UWP app on .NET used by Autofill Extension.• Added autofill support of macOS Safari browser. Learnt macOS a bit. Have an experience working with macOS project written in objective C.• Designed and implemented Autofill Extensions build tool and prepared new more efficient build process for them.• Integrated the product with foreign products (Eyelock, IronKey): prepared product rebranding, integrated the foreign product API.• Partially redesigned the core project architecture using suitable design patterns (State Machine, MVP).• Integrated new cross-platform passwords database library (written in C and SQLite) into the product, fixed the bugs in it, optimized parts of the code and fixed memory leaks.• Designed and developed new UI using “widgets” which allows building the product UI features in a very flexible and fast way excluding code duplication.• Learned base Agile and Scrum techniques on couple workshops in Kiev, applied them to the development process: started to use TDD more often, participated in Scrum meetings, Retrospective meetings, developed more unit-tests for places of code where they could be applied, etc.• Implemented automatic testing of “Autofill” feature for browsers which allows to check autofill problems on the most popular web sites without QA interaction.