Senior Software Lead / Technical Architect
- Flexible / Remote
- Palo Alto, CA
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:
-
Familiarize yourself with the Invisibly product tech stack
-
Understand the technology stack and services for the entire Invisibly ecosystem.
-
Go through the code in-depth and understand implementation for the critical services.
-
Get an understanding of the overall cloud infrastructure and the configuration of all microservices and the data pipeline.
-
-
Perform hands-on work on critical microservices initially and then expand to other backend services
-
Build new backend features as per the product backlog.
-
Develop applications by producing clean, efficient code supporting existing application architecture.
-
Follow best coding practices utilizing BDD / TDD unit testing frameworks
-
Perform validation and verification testing before merging the code.
-
-
Architect and scale-up product
-
Develop high-quality software design and architecture based on the new product requirements to extend and scale Invisibly ecosystem.
-
Review the architecture and design approaches with the team and engineering lead.
-
Prototype complex code directly or provide a framework for other engineers to complete.
-
-
Provide technical mentorship and set high technical expectations within the engineering team (offshore and onsite)
-
Hold engineers to high expectations and provide feedback on code and architectural approaches implemented by the team.
-
Help teams disassemble and address complex technical issues.
-
Review and debug code when requested.
-
Ensure software is up-to-date with the latest technologies.
-
Conduct regular performance reviews.
-
-
Contribute to the sprint planning
-
Provide technical input and high-level estimation on behalf of the engineering team during sprint planning.
-
Identify, prioritize, and execute tasks in the software development life cycle.
-
Document development phases and monitor systems.
-
-
Collaborate with cross-functional teams
-
Collaborate with cross-functional teams (product, data science, DevOps) to suggest and improve product offerings.
-
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
Back to top