Job Description & Primary Purpose
A leading contributor to software development projects. Performs software programming along with other software development lifecycle activities (requirements, design, test, documentation, 2nd and 3rd level support). Has experience developing applications in Python (NON-web applications) for Data Engineering, data analysis of large data sets, data querying moving large data sets as well as including software testing in Linux and Bash. Also using Rest, Rest Services and Rest-API’s.
Has experience with and is proficient with more advanced architectural patterns (MVC, MVP, MVVM), Service Oriented Architecture, SOLID programming concepts, and application security. Helps establish client’s software practices. Usually relies on experience and judgment to plan and accomplish goals. May lead and direct the work of others.
Essential Functions
· Reviews, analyzes, and modifies programming systems including coding, testing, debugging and documenting programs. These programs may include desktop applications, interfaces, web applications, stored procedures, or other software artifacts depending on specific job responsibility
· Developing applications in Python for production use
· Adheres to the client’s enterprise software development policies and departmental software development processes
· Maintains expertise in applicable software development tools, techniques and environments
· May help establish client’s software development practices
· Helps or mentors other project team members
· Facilitates the architecture and design decisions for their team
· Other duties as assigned
Pertinent Details:
· Python application developer (non-web applications)
· Software Architectural knowledge; event driven design, microservices, queues
· Experience using Docker
· Good software testing practices
· Knowledge of Linux/bash
· Experience with multithreading and/or asyncio
· Excited to work closely with end users to help define software requirements
Minimum Requirements:
· Bachelor’s or Associate’s degree in a software related field and 5 years of applicable work experience; OR high school diploma (or equivalent) and 6 years of applicable work experience
· Experience with back-end services, developing applications using python that have significant levels of data and data processing
· Experience creating Rest Services, Rest API’s, multi-processing, back-end services, production libraries
· Knowledge of working within AWS cloud environment using Lambda, Kubernetes, SQ’s, etc.
· Experience in Biocomputing highly desirable
· Software architectural knowledge
· Team lead experience, mentoring, innovative bringing ideas to the table and interested in future leadership positions.
· Proactive
Preferred Qualifications
· Experience in a leadership role