Pavlo Fedyna
Verified Expert in Engineering
Software Architecture Developer
Pavlo is a lead software engineer with nine years of experience in development. He saved a customer's business by designing a PoC and production-ready solution and helped create a Privileged Access Management startup that became a market leader. He has designed solutions from scratch and launched successful apps to the App Store. Pavlo excels at splitting monolithic applications, debugging, and architecture and efficiently solves business problems while delivering solutions.
Portfolio
Experience
Availability
Preferred Environment
Jira, GitHub, Xcode, Eclipse, Draw.io, Skype, Slack, Microsoft Teams, WebStorm, IntelliJ IDEA, MacOS, Windows
The most amazing...
...product I've worked on is a Privileged Access Management startup that became one of the market leaders after my team and I implemented its unique features.
Work Experience
Lead Software Engineer/Software Architect
EPAM
- Split a monolithic application into a client-server architecture that required creating a new concept of relations between domain entities.
- Identified root causes of low performance on big on-premises installations. Improved scalability of the distributed software by reducing or disabling communication between nodes and avoiding unnecessary computations.
- Implemented failover functionality. It provided the ability to configure as many back-up servers as needed, so if the primary server crashed, the system transparently switches to another one and continues to operate.
- Suggested, designed, and created architectural diagrams. Led the implementation of new features that provided the ability to easily work from home, which was an adaptation to a crisis caused by COVID-19.
- Fixed the most critical and difficult architectural issues related to multi-threading and networking that allowed to stabilize the whole system, provide beta for early adopters, and start selling a new version of the software.
- Implemented support of failover functionality by a leader-follower feature where one leader server can have many follower servers and both leaders and followers may have many back-ups.
- Improved development processes to increase team efficiency together with the QA team. Created a document that described Jira flow and rules; initiated recovering CI environment and automated build verification.
- Conducted interviews with external candidates, onboarded newcomers, and helped them start working on a project.
- Prepared migration from SVN to Git and created corresponding scripts.
Lead Software Engineer
EPAM
- Developed new features in the existing iOS mobile application that supported iPhone and iPad.
- Designed, implemented, and released features on the iPhone app that allowed businesses to adapt to new conditions caused by COVID-19 where people work from home.
- Changed the way the mobile application checks connectivity status and implemented support of local networks that don't have access to the internet, which helped to successfully demo the app in one of the biggest broadcasters show.
- Addressed complex bugs, including those that were related to audio recording/playback and network connectivity.
- Re-wrote part of the existing functionality to improve performance, cover corner cases, and make the app more stable.
- Implemented and documented the back-end API for a mobile client.
- Prepared the test environment for an Apple app review, submitted the app for releasing, and successfully published it to App Store.
Technical Lead/Senior Software Engineer
ELEKS
- Designed and implemented a solution for recording web portal sessions.
- Saved customer's business by suggesting, designing, and implementing a PoC and then a production-ready solution that allowed them to refuse Java applets when major browsers stopped supporting them.
- Collaborated with the R&D team to implement integration with VMware vSphere/NSX that became a key feature of why another company has acquired the startup.
- Designed and implemented complex features such as the implementation of TLS, RDP, and VNC protocols, video player for playing graphical remote desktop sessions, and bitmap compressing algorithms from RDP specification.
- Developed different authentication methods such as RADUIS, TACACS+, 2FA, NTLM, and Kerberos.
- Implemented a smart card log-on for a government client.
- Fixed the most critical client bugs. This sometimes required joining meetings with clients to participate in live troubleshooting.
- Developed a killer feature that allowed auto-log-in inside web and RDP sessions without using pre-installed agents or other additional software.
- Implemented native modules for Windows (C/C++/WinAPI), macOS (Objective-C) and Linux (C/C++).
- Managed the developer's team, created tasks, estimated and assigned them to team members, and performed peer code reviews.
Java Software Engineer
ELEKS
- Created architecture for a mobile application from scratch.
- Ported the existing Android application to the BlackBerry platform by reusing as much existing code as possible to reduce development time.
- Designed and created UI elements, implemented all the required app features, and improved performance.
Junior Java Software Engineer
ELEKS
- Implemented new features for a medical information system intended to help clinics collect and store patient information.
- Fixed bugs reported by QAs and customers and then tested them in the development environment.
- Found issues in report generation functionality and fixed them.
Experience
Privileged Identity and Access Management Solution
Radio Automation Software
Education
Master's Degree in Computer Science
Lviv Polytechnic National University - Lviv, Ukraine
Bachelor's Degree in Computer Science
Lviv Polytechnic National University - Lviv, Ukraine
Skills
Languages
Java, JavaScript, SQL, JavaScript 6, XML, PHP 5, C, C++, Objective-C, HTML, Java EE 8, XPath, Regex, PHP, CSS
Frameworks
Spring Core, Spring Boot, Hibernate, React Native, Redux, Swing, JNI, Java Web Start, JUnit, Mockito, Ant Design, Google Guice, Jakarta Server Pages (JSP), Cocoa, JSON Web Tokens (JWT), Ext JS, Apache Tiles, Akka
Libraries/APIs
JDBC, Java Native Access (JNA), Java Servlets, Sockets, Java NIO, JGroups, jQuery, WinAPI, MooTools, NTLM, Lodash, REST APIs
Tools
IntelliJ IDEA, WebStorm, Skype, Servlet, Xcode, GitHub, Jira, Git, Subversion (SVN), Apache Maven, JVisualVM, Jenkins, Apache Tomcat, Microsoft Teams, Slack, HSQLDB, Crucible, Rally, Trello, YourKit, TeamCity, VMware vSphere, Draw.io, CVS, VMware
Paradigms
REST, Scrum, Kanban, E2E Testing
Platforms
Windows, MacOS, Linux, Eclipse, Amazon EC2, JBoss, iOS, Azure, Docker, BlackBerry, Android
Storage
Databases, MySQL, PostgreSQL, JSON, Spring Data JPA, SQLite, Elasticsearch, Amazon S3 (AWS S3)
Other
Algorithms, Data Structures, Multithreading, RMI, RPC, Applets, Ajax, WebSockets, VMware NSX, Web Services, Hessian, Smartcard, Networks, Remote Desktop Protocol (RDP), VNC, Security, Asymmetric Encryption, Transport Layer Security (TLS), Optimization, Code Review, Distributed Systems, Software Architecture, Kerberos
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring