Description
**This is a Permanent EoR role and not a B2B Contract**
YOUR ROLE & MISSION
As a Senior Backend Software Engineer, you will be a critical part of our growing company, working on a cross-functional team to implement best practices in technology, architecture, and process. You'll have the chance to work in an open and collaborative environment, receive and give hands-on mentorship and have opportunities to grow and accelerate your career. You love both learning and teaching. In this role, you will be interfacing with design, front-end, analytics, as well as teams outside of Engineering. You enjoy working cross functionally to solve hard problems and make an impact. At Apollo, you strive for quality, and are obsessed with improving quality, automation, and squashing any bugs that sneak through. You have a drive to constantly investigate performance improvements and innovative ideas.
Our tech stack is React/Redux/NodeJS on the front end, Ruby/Ruby on Rails/MongoDB/Redis/Elasticsearch on the backend, and Kubernetes/Docker/Ansible/Terraform in infrastructure.
DAILY ADVENTURES & RESPONSIBILITIES
- Design and implement highly scalable backend endpoints
- Gather product requirements and write design docs to satisfy product needs
- Drive/Lead full lifecycle of software development: product requirements, architecture, solution design, development, quality assurance, and maintenance
- Mentor others on best practices and effectively share knowledge
- Ability to effectively communicate development progress to the product lead, engineering manager, and other stakeholders
- Be comfortable introducing new technologies and new ideas as required
- Work effectively as part of a large global team
- Attend and engage in scrum ceremony meetings, team parties, and manager 1:1s
- Provide feedback to co-workers in written and verbal form and respond to technical and behavioral feedback from managers and peers
COMPETENCIES
- Proactively acts without being told what to do. Able to identify areas of improvement and driving best practices to deliver high quality, performant, and scalable solutions
- Develops services that are highly available and scalable with proper monitoring and alerting in place
- Able to up-level the team by sharing knowledge and best practices with the engineering team
- Able to deal with ambiguity
- Ownership of projects from start to finish. Just because the project has been deployed doesn’t mean it’s done
- Organized and able to effectively plan and breakdown large projects into smaller tasks that are easier to estimate and deliver
- Lets others speak and seek to understand their viewpoints
- A creative and innovative problem solver & previous experience working in an agile, startup environment
- Confident in owning your role, and bringing creative ideas to the hands of our users
QUALIFICATIONS
- Minimum 5 years of industry experience in backend development, at least 1-2 years in senior positions, developing large-scale applications
- Experience developing distributed web applications
- Your code is comprehensible, well-structured, highly performant
- Experience with database modeling (SQL or NoSQL both OK)
- Experience with using and designing RESTful services
- Strong knowledge of computer science fundamentals, including data structures, algorithms, and object-oriented design
Must have: Communication Skills, Problem Solving, Proactivity, Team Player, Listening Skills, Creativity and Innovation, Organization and Planning, Dealing with Ambiguity, Ownership of projects from start to finish, Distributed Web Development
Nice to have: BS or MS degree in Computer Science, Computer Engineering or similar, GCP, Kubernetes, Docker, Mongo, Redis, Ruby on Rails, Microservices, Machine Learning
#LI-SD1