The Python Software Developer is responsible for design and development of cloud native solutions for the production calculation of psychometric quality statistics. This role designs software and participates in programming, testing and documentation through the entire Software Development Life Cycle (SDLC). Timely and effective communications to the team, organization and outside vendors are regularly disseminated as part of this job function.
Technology requirements:
- Development of production ready data analysis applications using Python, PySpark, Pandas, NumPy
- Jupyter notebooks
- Cloud native data analysis technologies such as AWS EMR, AWS Glue
- Data querying and storage including SQL, Parquet, XML, JSON
- Experience with big data technologies such as Hadoop, Hive
- Java experience preferred
Skills:
- Operating in an agile project environment using tools such as Jira, Confluence
- DevOps and CI-CD using GitLab, Jenkins
- Application support, logging, and health checking using Splunk and DynaTrace
- Formulate and define system scope and objectives for assigned projects
- Develop appropriate software solutions to requests for new services and functionality
- Develop detailed specifications, application coding, unit and systems testing for the IT department
- Examine, devise and modify procedures to solve moderately complex problems in regard to existing system capabilities, operating time or the form of desired results
- Coordinate and support software production schedules and processing
- Work with units throughout to ensure smooth delivery of existing services and program modifications
- Support the planning and training of internal clients when new applications are launched or new processes are put in place
- Provide peer leadership and collaborate with Leads, team members and other development staff
- Conduct project tracking activity and walk throughs of software code to ensure adherence to quality standards and procedures
- Work with development team on implementation of new technologies
- Independently develops software, codes, tests and debugs
- Recommend modification to existing processes and new procedures to solve complex problems considering the existing system limitations, operating time and desired results
- Collaborate with team members as well as across FCEs/SBUs to identify ways to improve existing processes and technical output
- Proactive identification of gaps (especially across areas) and escalate in a timely and appropriate manner
- Create and update all relevant documentation and specifications for design, development, and testing
- Escalate problems of complex technical circumstances to appropriate channels
- Promote policies that foster quality standards and industry best practice
- Adhere to ethical standards and comply with the laws and regulations applicable to your job function