Senior Backend Engineer
Who We Are?
NovoEd is a San Francisco-based company with the mission of unlocking organizations’ potential through the power of learning together. We create cutting-edge learning technology that enables our clients to offer engaging impactful online learning experiences at scale based on the foundations of experiential learning, active learning, peer and collaborative learning, mentorship and coaching. Our technology is adopted by many Fortune 500 companies and is the backbone to providing professional development opportunities, upskilling and reskilling their employees.
Our engineering team is a globally distributed team with team members in SF, in the US east coast, Mexico, Colombia, Brazil and Kerala, India. We are looking for senior backend engineers to join our global team from LATAM (timezone consideration).
Who Are You?
You are a backend engineer with a background in computer science or computer engineering or similar related degrees. You are passionate about designing scalable backend systems, reliable backend APIs, fault-tolerant integrations and third-party API systems. You are a great owner and have a strong can-do problem solving attitude. You are a critical thinker, and communicate with clarity. You are deeply familiar with software design patterns and able to apply the right one to the right problem. You take pride in the overall outcome and quality of your work. You engage with client-side team members on the design of an overall experience and help create the best software outcome. You are motivated to grow as an engineer and be part of a strong team.
What Will You Do?
- Collaborate with client-side developers in web and mobile development to design new product features and concepts.
- Develop RESTful JSON APIs that will be used by client side teams to serve our app.
- Design backend data models, caching scheme, background processing/queuing, reporting, notifications/real-time updates aspects related to your features.
- Work with other backend team members to choose the right design patterns, data model definitions, and algorithms for extendability, reusability and reliability of our backend systems.
- Design and build fault-tolerant integrations into systems of interest.
- Use backend profiling tools to investigate performance challenges and optimize backend APIs, or backend design to ensure performance of our technology.
- Investigate technology defects and propose solutions to client issues or issues reported by the quality assurance team.
What Skills Are Needed For This Role?
Experience & Skills
- A CS Degree or equivalent
- 5+ years (outside of school) of experience working as a backend developer in an API team or web development capacity
- 3+ years of experience writing SQL queries using object relational data interfaces
- 3+ years of experience with rails
- 3+ years of experience designing software applications: data models, abstractions
- Strong problem solver.
- Strong debugging skills. Strong ability to isolate and identify problems.
- Strong ownership and collaboration skills.
- Clarity in communication.
- Fluency in English.
- Experience with AWS, EC2 and Docker
- Experience with Ruby, Python or PhP
- Experience with Memcached and Redis
- Experience with information retrieval and real time search
NovoEd provides equal employment opportunities to all employees and applicants for employment and prohibits discrimination and harassment of any type without regard to race, color, religion, age, sex, national origin, disability status, genetics, protected veteran status, sexual orientation, gender identity or expression, or any other characteristic protected by federal, state or local laws.
This policy applies to all terms and conditions of employment, including recruiting, hiring, placement, promotion, termination, layoff, recall, transfer, leaves of absence, compensation and training.