JPC Partners is looking for a Senior Application Developer - Python that will be responsible for understanding the requirements of the business units and supporting the project and support teams by developing technical systems based on those requirements. Specifically, this position is responsible for delivering application enhancements, implementing data integrations and ensuring the client’s application and data integration frameworks are maintained and upgraded according to the security standards. In support of that responsibility, the Application Developer will work with the project and support teams, as necessary, to ensure the technical solutions meet the business needs, and are developed and implemented with high quality. The scope of responsibility for the position includes project support, as well as maintenance and production support activities. Essential Duties and Responsibilities: Solution Delivery
Responsible for technical deliverables associated with application code development, including requirements documentation, functional design documents and specifications, work estimates, detailed and technical design documentation, application code and associated documentation, including documentation to fulfill audit requirements
Demonstrate expertise in the Python libraries, frameworks (i.e. numpy, Pandas, SQLAlchemy, numba) and performance optimization
Establish workflows for code modification and deployment using tools such as Git (Gitlab) and Actions (Runners)
Implement Azure cloud technologies that are optimized for performance and cost (experience with container-based deployments in Azure App Service and/or Azure Batch)
Determine and document technical requirements for application systems, including system, module and unit design, unit test plans and test cases
Create automated tests to ensure that enhancements and upgrades do not negatively impact on applications and integrations
Collaborate with support teams to schedule and deploy releases to all environments
Support all phases of the software development lifecycle, including Requirements Gathering, Analysis, Design, Testing, Implementation, and Production support for software systems.
Develop, debug and test computer applications based on user requirements documentation, and on input from subject matter experts
Debug, remediate and enhance existing computer applications based on documented variances and enhancement requests, and with guidance from subject matter experts
Work with the database analyst/administrator and data modeling team as needed to develop a data model appropriate for the application
Lead or participate in code reviews
Participate as a member of a cross-functional Scrum team
Follow the approved methodology for application development and maintenance
Identify enhancements to application development standards and best practices
Develop and maintain design documentation according to defined standards and practices
Assist testing staff in developing product and integration testing approaches