Mission:

Work as an individual contributor along with VP Engineering to drive an end-to-end architecture of the product based aligning with the product roadmap. Provide technical mentorship to the engineering team and help them learn and grow.

 

Outcome: 

  1. Familiarize yourself with the Invisibly product tech stack

    1. Understand the technology stack and services for the entire Invisibly ecosystem.

    2. Go through the code in-depth and understand implementation for the critical services.

    3. Get an understanding of the overall cloud infrastructure and the configuration of all microservices and the data pipeline.

  2. Perform hands-on work on critical microservices initially and then expand to other backend services

    1. Build new backend features as per the product backlog.

    2. Develop applications by producing clean, efficient code supporting existing application architecture.

    3. Follow best coding practices utilizing BDD / TDD  unit testing frameworks

    4. Perform validation and verification testing before merging the code.

  3. Architect and scale-up product

    1. Develop high-quality software design and architecture based on the new product requirements to extend and scale Invisibly ecosystem.

    2. Review the architecture and design approaches with the team and engineering lead. 

    3. Prototype complex code directly or provide a framework for other engineers to complete.

  4. Provide technical mentorship and set high technical expectations within the engineering team (offshore and onsite)

    1. Hold engineers to high expectations and provide feedback on code and architectural approaches implemented by the team.

    2. Help teams disassemble and address complex technical issues.

    3. Review and debug code when requested.

    4. Ensure software is up-to-date with the latest technologies.

    5. Conduct regular performance reviews.

  5. Contribute to the sprint planning

    1. Provide technical input and high-level estimation on behalf of the engineering team during sprint planning.

    2. Identify, prioritize, and execute tasks in the software development life cycle.

    3. Document development phases and monitor systems.

  6. Collaborate with cross-functional teams

    1. Collaborate with cross-functional teams (product, data science, DevOps) to suggest and improve product offerings.

    2. Handle urgent requests and escalations raised by the internal teams to unblock customers.

 

Qualifications

  • BS/BA in Computer Science or a related degree.

  • 7-10 years of work experience as a Software Engineer or Software Developer.

  • Understanding of microservices and distributed system design.

  • Expertise in Python programming languages is must with working knowledge on C++ or the Java/J2EE platform.

  • Strong work experience in working with REST API backend frameworks like Django. Familiarity with any Javascript technologies, such as react.js, would be a plus.

  • In-depth knowledge of relational databases such as PostgreSQL, MySQL and NoSQL databases such as Aerospike and BigQuery.

  • Experience in incorporating and utilizing BDD / TDD / JavaScript unit testing frameworks.

  • Familiarity with various operating systems such as Linux, Mac OS, Windows.

  • Analytical mind with the problem-solving aptitude and ability to work independently.

  • Excellent organizational and leadership skills.

Bonus points if you have:

  • Experience in ad tech or fintech start-ups.

  • Experience with Agile, specifically Scrum, methodologies.

 Technologies We Use and Teach:

  • Python, C++, Java, Javascript, React, Django

  • Apache Kafka, Nginx

  • PostgreSQL, MySQL, Aerospike, Druid, Bigtable

  • GCP, Linux, Kubernetes, Docker, New Relic, Elasticsearch, Kibana

  • Github, JIRA, Jenkins

Apply for this Job

* Required