Description
UKG is looking for a Senior Python Software Engineer to join our extremely talented Machine Learning team. As a Sr. Python Engineer at UKG, you’ll be embedded with the Machine Learning team where you will work on the next generation of UKG’s AI Platform. You’ll get to work directly with other Software Engineers, Data Scientists, Machine Learning Engineers, Data Engineers, Quality Engineers, Product Managers, Scrum masters, and Directors, all of whom make up the team. In this highly collaborative environment, you will have the opportunity to grow as a software engineer.
A Sr. Python Developer at UKG requires excellent object-oriented and functional programming skills and good knowledge of design patterns. You will be involved in the design, development and deployment of our AI Platform/Services and solutions in the cloud. The job requires you to be able to develop and troubleshoot complex software applications at the enterprise level using Micro-services Architecture. We are looking for a software engineer who is passionate about programming and truly enjoys what they do. The ideal candidate is someone who has a can-do attitude.
UKG works in an agile environment where there are daily stand-ups, code reviews, and constant communication within each self-managed cross-functional team. The ability to communicate effectively with Product Managers and Quality Engineers, as well as work closely with other team members are key components for success in this position.
Primary Responsibilities
- Collaborate with members of the team to solve challenging engineering tasks on time and with high quality.
- Develop and integrate applications and features for our enterprise software solution using the latest Python technologies.
- Engage in code reviews from other team members.
- Support continuous deployment pipeline code.
- Situationally troubleshoot production issues alongside the support team.
- Actively communicate with team members to clarify requirements and overcome obstacles to meet the team goals.
- Leverage open-source and other technologies and languages outside of the Python platform.
- Develop cutting-edge solutions to maximize the performance, scalability, and distributed processing capabilities of the system.
- Provide troubleshooting and root cause analysis for production issues that are escalated to the engineering team.
- Work with development teams in an Agile Scrum context as it relates to software development, automated unit testing, test fixtures, and pair programming.
Qualifications
Basic Qualifications:
- 3-5 or more years’ of experience as a Python developer on enterprise projects using Python, Flask, FastAPI, Django, PyTest, Celery, and other Python frameworks.
- Software development experience including object-oriented programming, concurrency programming, modern design patterns, RESTful service implementation, micro-service architecture, test-driven development, and acceptance testing.
- Familiarity with tools used to automate the deployment of an enterprise software solution to the cloud, Terraform, GitHub Actions, Concourse, Ansible, etc.
- Proficiency with Micro-services Architecture
- Proficiency with Git as a version control system
- Experience with relational SQL and NoSQL databases, including MongoDB and MSSQL.
- Experience with object-oriented languages: Python, Java, Scala, C#, etc.
- Experience with testing tools such as PyTest, Wiremock, xUnit, mocking frameworks, etc.
- Experience with GCP technologies such as BigQuery, GKE, GCS, DataFlow, Kubeflow, and/or VertexAI
Preferred Qualifications:
- Experience with Machine Learning algorithms and systems is good to have
- Experience with Docker and Kubernetes
- Excellent problem-solving and communication skills.
- Experience with Java and Spring a big plus.
- Bachelors or Masters degree in Computer Science, Mathematics, Computational Linguistics or similar fields