- Company Name
- CNN
- Job Title
- Software Developer II (AI/ML Products)
- Job Description
-
**Job Title**
Software Developer II – AI/ML Products
**Role Summary**
Develop, deploy, and maintain production‑grade software that operationalizes machine learning models and features for a high‑traffic content platform. Collaborate closely with ML engineers, data engineers, and product teams to deliver scalable, low‑latency services that enrich user experiences.
**Expectations**
- Promote inclusive engineering culture and mentor peers.
- Deliver simple, maintainable solutions that meet business goals.
- Build highly available, low‑latency, and efficient systems.
- Own code quality: implement best practices in IaC, version control, CI/CD, testing, and documentation.
- Execute end‑to‑end delivery from proof‑of‑concept to production release.
- Learn from failures, iterate quickly, and incorporate feedback.
**Key Responsibilities**
1. **Model Integration** – Expose ML models (recommendation, summarization, classification) via APIs or services, ensuring robust error handling and monitoring.
2. **Backend Development** – Build and optimize distributed services that serve millions of users with minimal latency.
3. **Performance Optimization** – Profile, tune, and refactor code for speed and resource efficiency; implement caching, deduplication, and dynamic content delivery.
4. **Continuous Delivery** – Use IaC, version control, and CI pipelines to automate packaging, testing, and deployment of software artifacts.
5. **Collaboration & Alignment** – Work cross‑functionally with ML engineers, data engineers, and front‑end teams on feature requirements, roadmaps, and A/B testing.
6. **Documentation & Communication** – Produce clear technical docs, run demos, and report on progress to stakeholders.
**Required Skills**
- Proficiency in Python and at least one additional object‑oriented language (Golang, Java, C++).
- Experience building distributed, data‑intensive systems at web scale (horizontal scaling, replication, sharding).
- Strong knowledge of RESTful APIs, gRPC, or similar communication protocols.
- Familiarity with CI/CD tools (Jenkins, GitHub Actions, GitLab CI) and IaC (Terraform, CloudFormation).
- Version control expertise (Git).
- Unit, integration, and performance testing (pytest, JUnit, gtest).
- Ability to profile and optimize code, handle concurrency, and manage memory.
- Basic understanding of machine learning concepts (model inference, embeddings, bandit algorithms).
**Required Education & Certifications**
- Bachelor’s degree in Computer Science, Software Engineering, or related technical field.
---