Software Engineer – Back End – Options and Pricing

Tesla

The Role

In this development role, you will architect, design and develop mission-critical services and applications that require high availability, concurrency, multi-tenancy, and high scalability for a large global user base. The individual in this role will work intimately with various aspect of developing backend services and data storage and retrieval.

Responsibilities:

·       Interface with Product Management and Engineering to determine end to end requirements, resolve problems, and perform testing related to customer facing high traffic services and applications

·       Ensure Service Level Agreements with stakeholders are defined and met

·       Design, write, test, and document applications while identifying solutions to complex problems

·       Define optimal system performance at scale and at different layers while using system profiling tools and stress testing to find and fix weak spots

·       Implement continuous integration, regression and deployment, while maintaining the existing system and codebase

·       Design and build scalable, high-availability mission-critical systems and APIs

·       Ensure feature quality through extensive testing (unit, integration, functional, performance and regression) with a focus towards automation

Requirements:

·       2+ Years of experience in web application design and development with evidence of exceptional ability

·       Exceptional problem solving and coding skills.

·       Experience with micro-services architectures and API-first design

·       Design and development experience with applications that require high availability, concurrency, multi-tenancy, scalability

·       Experience with Docker and Kubernetes

·       Strong SQL Experience (MySQL, PostgreSQL)

·       Experience in NOSQL Database like MongoDB or Cassandra is highly desirable

·       Strong experience building Web Services that are secure, scalable and performant

·       Experience with Python and the Django framework

·       Knowledge of different caching strategies, performance tuning, transaction management across systems and messaging systems

·       Experience with Redis or in memory computing

·       Experience with NodeJS is a plus

·       Experience with GraphQL is a plus