
Senior Software Engineer
Responsibilities
Qualifications & Requirements
Experience Level: Senior Level
Full Job Description
About the Role
We are seeking a highly motivated and experienced engineer to join our team. You will be instrumental in developing our next-generation AI Agent enhanced Communications platform. This platform is designed for seamless integration and expansion across various communication channels, including voice calls, mobile applications, texting, email, and social media posts. As a unified communication system, it facilitates message delivery to both customers and internal staff through channels such as Email, SMS, In-App messaging, and Social Media. This technology serves applications across key business areas like discovery, sales, orders, ownership, and service, impacting all business sectors including Vehicle, Energy, and Insurance. The platform is crucial for ensuring the effective delivery of marketing campaigns and fostering interactions between advisors and customers.
Responsibilities
- Design, develop, and implement scalable applications that require complex problem-solving.
- Leverage technologies including Golang, Apache Kafka, PostgreSQL, and OpenSearch.
- Gain experience integrating with Large Language Models (LLMs) and inferring responses.
- (Nice to have) Experience with Java, Apache Flink, and ClickHouse.
- Promote software engineering best practices through code reviews, tool development, and documentation.
- Utilize existing skills while actively learning and implementing new, open-source technologies as Tesla expands.
- Collaborate with product managers, content producers, QA engineers, and release engineers to manage solutions from development through to production.
- Define and develop robust unit tests and unit test libraries to ensure production-ready code.
- Drive software process improvements to enhance team efficiency.
Requirements
- Bachelor's or Master's degree in Computer Science or a related discipline.
- Expert experience in developing scalable Golang applications, including proficiency with SQL and NoSQL databases, and other open-source technologies.
- Ability to design software architecture based on business requirements, strategy, and priorities.
- Solid understanding of unit testing and integration testing practices.
- Experience with message queue architecture.
- Familiarity with Docker and Kubernetes.
- Experience with Agile/SCRUM software development processes.