Engineering Manager - Back End
at Series D funded supply chain management company
Engineering Manager – Backend
Opportunity in this role / Why should you join us?
Series D funded supply chain startup.
Requirements
- Software engineering experience of greater than or equal to 7 years
- Experience managing a technical team of at least 3 people
- Exposure to consumer facing products
- Strong technical background and ability to contribute to design and review
- Familiarity with our tech stack or an analogous tech stack
Technologies Used
- Web application frameworks : Ktor, Spring Boot, Ruby on Rails, Node.js, Java Play, AWS Lambda
- Languages : Kotlin, Java, Ruby, Javascript, Python
- Datastores : PostgreSQL, Aerospike, Redis, DynamoDB, Amazon Redshift
- Communication : HTTP, Amazon SQS, Sidekiq, Amazon SNS
- Server management : Amazon ECS, Docker
- Design frameworks : Domain Driven Design, Clean Architecture, Layered Architecture
Roles and Responsibilities
This role requires a person to drive the engineering of a set of products by aligning with business and product
stakeholders and building and upskilling a team to aid in this. The responsibilities include:
Business and product alignment and planning
- Work closely with business and product stakeholders to understand and align with product initiatives and iterations.
- Help shape the engineering requirement by aligning with the product manager and fleshing out concepts and user flows.
- Formalize business requirements into roadmaps and sprints.
- Product and system development
- Drive high level modeling and design for projects, also focusing on non-functional aspects, including but not limited to database design, communication protocols, deployment systems, etc.
- Drive adoption of design frameworks like domain driven design, clean architecture, etc., resulting in a robust layered architecture.
- Drive good code review practices, using the review process as a mentoring tool to upskill people.
- Ensure test coverage of systems, partly through unit and integration testing, and partly through blackbox testing by collaborating with the Quality Assurance team, via good testing practices.
- Project Management
- Drive the execution of the project by delegating tasks effectively.
- Resolve blockers through technical expertise, negotiation and delegation.
- Estimate timelines and ensure adherence to them through effective sync-ups and course corrections.
- Maintenance
- Formulate SLAs and oversee their adherence for the various systems, effectively tracking issues and performance inefficiencies.
- Performance monitoring and optimization for systems.
- Drive technical re-design, remodeling and refactoring of systems for robustness and sustainability.
- Team Management
- Typically manage a team of 3 - 6 members and a portfolio of 3 - 6 products.
- Do periodic assessment of reportees, chart their career growth paths and train them.
- Recruit members into the team by collaborating effectively with the recruitment team.
Product Overview
You will be contributing to products concerning both customers and partner drivers. Product sectors
include:
- Growth : You’ll build tools to help boost user growth on the platform including our industry bestdriver on-boarding, training and certification system, referral system, and lead managementmmodels.
- Lifecycle Management : Build tools to help users engage with the platform better, which includes rewards and recognition module, subscription service, account management tools, partner and customer wallets and payout modules, and churn detection systems among others.
- Transaction Experience : You’ll help deliver the most delightful booking experience to our customers and drivers. As part of this team, you’ll be responsible for our core booking system, pricing and payment systems, location tracking and filtering services, fraud prevention systems, and in-app ticketing and support among others.
- Fulfilment : As part of the fulfilment team, you’ll work on systems which ensure high degree of ride fulfilment on the platform. Tools including allocation methodologies and system, dynamic pricing, dynamic partner routing, and partner re-activation tools among others.
- Enterprise Solutions : You’ll help Porter’s enterprise customers achieve delivery excellence. You’ll build tools for contract management, fleet management, fleet and route optimisation tools, alerting and monitoring tools, and analytics suite among others.
Similar jobs
What would make you a good fit?
- You’re both relentless and kind, and don’t see these as being mutually exclusive
- You have a self-directed learning style, an insatiable curiosity, and a hands-on execution mindset
- You have deep experience working with product and engineering teams to launch backend services that power end-user applications
- You have deep experience in Python and the related tools and frameworks
- You have deep experience working with large datasets and relational databases, specifically PostgreSQL
- You have experience with microservices architecture, Docker, and Kubernetes
- You continuously raise the bar on development practices such as code quality tools, unit testing coverage, build tools, etc.
- You obsess about correctness, DRY development, reducing cognitive complexity, and performance
- You have excellent writing and speaking skills with a talent for applying technical solutions to customer problem statements
Must-Have Qualifications
- 5+ years of experience building RESTful services
- 2+ years of experience in Django Rest Framework, Flask, and/or FastAPI
- 3+ years of experience with SQL and Postgres to manage and analyze data
- Expert level skills using a debugging tool and developing unit tests
- Experience in Docker, Kubernetes, and microservices architecture
- Prior startup experience and enjoy taking on difficult challenges and broad responsibilities
- Track-record of delivering reliable and scalable RESTful services from requirements to production
- You’ve partnered with devops to deliver high-performant backend solutions to production
- You naturally think quantitatively about problems and work backward from a customer outcome
What’ll make you stand out (but not required)
- Terraform and AWS experience
- Experience creating technical design documents
- You have a strong connection to finance teams or closely related domains, the challenges they face, and deep appreciation for their aspirations
- Develop, maintain, and enhance robust backend systems using Python3 and frameworks like Django (mandatory), Flask, and FastAPI (good to have).
- Design, implement, and maintain highly efficient and automated continuous integration and continuous deployment (CI/CD) processes using Jenkins and configuration management with Ansible.
- Elevate our testing culture by architecting and implementing innovative testing strategies, focusing on both unit and integration testing to ensure exceptional code quality and extensive coverage.
- Follow peer-to-peer code reviews and cross-team collaboration to build scalable and reliable solutions.
- Proficiently work with at least one cloud technology, preferably AWS, to deploy and manage applications in the cloud environment.
- Possess knowledge of Nginx, load balancing, and scalability to optimize system performance and reliability.
- Good experience working in distributed micro-service architecture and driving them with crucial requirements like request tracing, debugging critical issues, logging, monitoring, and alerting.
- Work in containerized environments using Docker and Docker Compose, and have experience with AWS ECS for container orchestration.
- Prioritize maintainability and reliability in developing and maintaining software systems, pushing the boundaries of what's possible in our product ecosystem.
- Collaborate effectively within a team, taking initiatives and driving projects forward with minimal micro-management.
- Pave the way for maintainable and reliable codebases by introducing novel approaches and best practices in software development.
Requirements
- Bachelor’s/Master’s degree in computer science.
- Strong teamwork and communication skills, with a proactive approach to project management and task ownership.
- Proven track record as an innovative Python developer with a focus on product engineering.
- Visionary mindset to work in an agile environment, participating in sprint planning, stand-ups, and retrospectives.
Benefits
100% Remote
Insurance
Must have exp in Django. [ Mandatory]
- The ability to problem-solve and critically think.
- High level of knowledge of Python and the Django framework.
- Familiarity with event driven programming as well as the MVC.
- Good understanding of SQL databases.
- Good understanding of REST APIs.
Good Programming Skills in C, C++, C#/Java, (good to have)
- Exposure to Scripting Languages like Ruby, Python
- Knowledge in version control- Git and/or Subversion
- Exposure to debugging tools like gdb, valgrind
- IDE tools like Eclipse
- Exposure to network programming with TCP, UDP
- Good debugging skills
- Exposure to Multi-threaded programming
- Strong knowledge in Data Structures & Algorithms
Responsibilities
- Help define Technical Roadmap and own the entire product delivery end to end
- Work very closely with various business stakeholders to drive the execution of multiple business plans and technologies
- Improve, optimize and identify opportunities for efficient software development processes
- Hire, Develop and Retain a strong team of engineers
- Keep abreast of the changes in the industry and champion new technologies and development processes within the team
- Thinking backwards from a customer POV and relentlessly pursuing customer's cause in tech and product decisions
Apply If You have:
- Graduation/Post Graduation degree in Computer Science (IITs, IIITs and NITs preferred)
- 6-10 years of strong experience in JAVA(Spring/Hibernate/JPA/REST), JavaScript, NodeJS with good exposure to MySQL
- Experience with AWS, Microservices, Caching, Performance Optimization, Nginx, Solr, Redis, Redshift
- Experience working with agile teams and making rapid decisions in dynamic and disruptive environment
- 2+ years of leading and managing a team consisting of backend, frontend and QA.
- Hands on writing and reviewing code
- Exceptional design and architectural skills
- Strong communication skills
- High motivation to work in a fast paced, dynamic, collaborative team environment
Your Responsibilities :
1) Building highly scalable and secured applications/microservices and responsive APIs
2) Assessing the security risks associated with the platform architecture and suggesting/implementing suitable changes for the same.
3) Architect and implement back-end services to support our mobile and web clients.
4) Creating and implementing database schemas that represent and support business processes.
5) Use best software development practices and processes including unit testing, code reviews, and site monitoring post deployment.
6) Continue to research and evaluate new technologies that may improve performance and elegance of our software implementation.
7) Explore and Integrate third-party APIs when required for the project.
8) Work closely with the rest of the team to bring our features into production.
Your skills :
- Hands-on experience in Django Framework.
- Strong Knowledge of Python.
- Strong Knowledge of MVC design pattern and object oriented programming concepts.
- Strong knowledge of RDBMS like Postgresql and Database schema design.
- Experience in developing robust and secure RESTful web API and microservices using Django/Python.
- Experience in Test Driven Development.
- Experience in handling No-SQL MongoDB or similar.
- Hands-on experience in GitHub.
- Experience in CI, CD tools like jenkins.
- Experience in managing cloud-based web applications on Amazon Web Services or Google Cloud.
- You love code and up for the challenge!
Your primary focus will be the development of all server-side logic, definition and maintenance of the central database, and ensuring high performance and responsiveness to requests from the front-end. You will also be responsible for integrating the front-end elements built by your co-workers into the application. Therefore, a basic understanding of front-end technologies is necessary as well.
Responsibilities
- Integration of user-facing elements developed by front-end developers with server side logic
- Writing reusable, testable, and efficient code
- Design and implementation of low-latency, high-availability, and performant applications
- Implementation of security and data protection
Skills And Qualifications
- Strong proficiency with JavaScript & OOPS
- Knowledge of Node.js and frameworks available for it
- Understanding the nature of asynchronous programming and its quirks and workarounds
- Good understanding of server-side CSS preprocessors
- Basic understanding of front-end technologies, such as HTML5, and CSS3
- Understanding accessibility and security compliance
- User authentication and authorization between multiple systems, servers, and environments
- Creating database schemas that represent and support business processes
- Implementing automated testing platforms and unit tests
- Proficient understanding of code versioning tools, such as Git
- Knowledge of AWS will be preferable
Work on the development backend systems for our first product
Build reliable, secure and performant backend systems
Drive test coverage and continuous delivery automation within the team
Requirements
3-5 years of software development experience
Strong computer science fundamentals
Good knowledge of Java ecosystem
Can write code that is readable, maintainable and performant
Good understanding of relational databases, transactions, entity-relationship modeling
Comfortable writing multi-threaded programs
Desired Skills and Experience
Java,J2EE,Spring,Struts