Pavlo Fedyna, Developer in Lviv, Lviv Oblast, Ukraine
Pavlo is available for hire
Hire Pavlo

Pavlo Fedyna

Verified Expert  in Engineering

Software Architecture Developer

Location
Lviv, Lviv Oblast, Ukraine
Toptal Member Since
August 24, 2020

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

EPAM
REST APIs, Apache Maven, Mockito, JUnit, REST, RPC, Swing, JDBC, Hibernate...
EPAM
Kanban, WebSockets, WebStorm, Xcode, Objective-C, iOS, Lodash, Redux...
ELEKS
Docker, JNI, Java Native Access (JNA), WinAPI, VMware NSX, VMware, Networks...

Experience

Availability

Part-time

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

2017 - PRESENT
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.
Technologies: REST APIs, Apache Maven, Mockito, JUnit, REST, RPC, Swing, JDBC, Hibernate, Google Guice, Spring Boot, Spring Core, PostgreSQL, Java

Lead Software Engineer

2017 - 2020
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.
Technologies: Kanban, WebSockets, WebStorm, Xcode, Objective-C, iOS, Lodash, Redux, React Native, JavaScript 6

Technical Lead/Senior Software Engineer

2012 - 2017
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.
Technologies: Docker, JNI, Java Native Access (JNA), WinAPI, VMware NSX, VMware, Networks, Jira, REST, Hibernate, Smartcard, Transport Layer Security (TLS), VNC, Remote Desktop Protocol (RDP), Asymmetric Encryption, Security, GitHub, Git, Subversion (SVN), Web Services, Amazon EC2, Elasticsearch, Spring Core, MySQL, Objective-C, C++, C, PHP 5, JavaScript, Java

Java Software Engineer

2011 - 2012
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.
Technologies: Android, BlackBerry, Java

Junior Java Software Engineer

2011 - 2011
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.
Technologies: Subversion (SVN), Apache Tomcat, Java EE 8, Jakarta Server Pages (JSP), Java

Privileged Identity and Access Management Solution

This software is used to control and manage the risks that privileged users, privileged accounts (admin, root), and privileged credentials (passwords, certificates, digital keys) pose to systems and data. I joined the project as a junior software developer while there were three people in the team and became a technical lead of the team that grew to 24 members. I was a full-stack developer and worked on web services, the front end, the desktop client, and native modules. Because there were different components written in different languages, I used Java, PHP, JavaScript, and C, C++, and Objective-C daily to implement features and fix bugs. I was part of the L2 support team, where I was worked on critical client issues and also worked on the R&D team where many advanced features were implemented. All of them made their way to the product. This allowed us to gain significant advantage over competitors.

Radio Automation Software

This is software that simplifies workflows and reduces costs, helping broadcasters of any size deliver compelling programming more easily. I was the software architect and worked on features and issues that required changes in the design. I performed a splitting of the monolithic application that made it possible for large installation and further scaling. I also developed the mobile client written with React Native and Java on the back end.
2013 - 2014

Master's Degree in Computer Science

Lviv Polytechnic National University - Lviv, Ukraine

2009 - 2013

Bachelor's Degree in Computer Science

Lviv Polytechnic National University - Lviv, Ukraine

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

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring