
Principal Engineer (node.js)
at FinTech Product Development Firm
Your Responsibilities:
- Own the backend stack – Node.Js based, that powers our product
- Collaborate with Backend Developers (Python), Front-end developers, DevOps, and Data Scientists to design and implement new features
- Build and maintain several REST’ful Services/Endpoints which will be used both internally and externally in a Macroservices/Distributed services environment.
- Deploy and monitor the Services/Endpoints ensuring availability and scalability(ability to handle 100X traffic)
- Work on full project lifecycle starting from requirements gathering/understanding the problem to deploying and maintaining the project.
Skills that you bring Along:
- A minimum 8+ years of extensive work experience with Node.Js and related frameworks – particularly Express.Js.
- Extensive experience in designing and maintaining REST’ful API endpoints
- Extensive experience with databases such as Postgres and Mongo.
- Extensive experience in Cloud Infrastructure (AWS based) – e.g. AWS API Gateway, Lambda Functions etc.
- Experience with cache like Redis and/or Memory cache
- Good experience in Microservices/Macroservices or Event driven Architectures
- Good experience with design patterns
- Experience in writing advanced SQL-queries, good knowledge of PL/SQL
- Good understanding of Software Design Principles and domain-driven design
- Good experience with Continuous Delivery and Containerization(Docker)
- Ideally maintaining infrastructure-as-code using Terraform
- Excellent communication skills and the ability to explain complex topics in a simple manner

Similar jobs
About the Role
- Design, develop, test, deploy, maintain, and improve software and new user-facing features across Novo’s products and services.
- Drive technical decisions on a multi-functional, Agile team alongside product management, product design, and engineering.
- Optimize applications for maximum speed and scalability and analyze feedback from customers and internal teams to identify issues and improvement opportunities.
- Champion a passion for engineering best practices such as code quality, linting, and testing.
- Ensure our software is reliable, extensible, maintainable, debuggable, secure, well-tested and performs well under load.
- Mentor junior engineers in all aspects of planning, development and testing.
- Stay engaged with latest technologies and evaluate strategies to keep the Novo technology stack up to date.
Requirements for the Role
- 5+ years experience in a highly technical role at a hyper-growth startup or fast-paced company.
- Extensive background designing, developing, testing, deploying, maintaining, and improving software.
- Good understanding of Node.js & Javascript.
- Demonstrated ability to translate business goals and initiatives into technical requirements.
- Strong understanding of SQL database.
- Demonstrable experience architecting scalable and cost effective solutions to ensure and support customer growth.
- Experience mentoring junior engineers in all aspects of planning, development and testing.
- Strong understanding of system design and architecture.
- Interest in engaging with latest technologies and evaluating strategies to keep the Novo technology stack up to date.
- Excellent written and verbal communication skills with the ability to collaborate with both technical and non-technical teams effectively.
We are seeking a skilled Node.js Developer to join our dynamic team. The ideal candidate will have 2-3 years of hands-on experience in developing robust, scalable, and high-performance web applications using Node.js. As a Node.js Developer, you will collaborate with cross-functional teams to design, develop, and implement backend services and APIs to support our web and mobile applications. You will also be responsible for maintaining and optimizing existing codebases, troubleshooting issues, and ensuring code quality and performance.
Responsibilities:
- Develop and maintain server-side logic using Node.js
- Design and implement RESTful APIs for web and mobile applications
- Collaborate with front-end developers to integrate user-facing elements with server-side logic
- Optimize applications for maximum speed and scalability
- Implement security and data protection measures
- Troubleshoot and debug issues in production and development environments
- Conduct code reviews and provide constructive feedback to peers
- Stay updated with emerging technologies and best practices in Node.js development
Requirements:
- Bachelor's degree in Computer Science, Engineering, or a related field
- 2-3 years of professional experience in Node.js development
- Proficiency in JavaScript, including ES6+
- Experience with Express.js or similar Node.js frameworks
- Solid understanding of asynchronous programming and event-driven architecture
- Experience with relational and NoSQL databases such as MySQL, MongoDB, etc.
- Knowledge of version control systems such as Git
- Familiarity with DevOps practices and CI/CD pipelines is a plus
- Strong problem-solving skills and attention to detail
- Excellent communication and collaboration skills
Skills:
Strong knowledge of MYSQL/PostGreSQL; Knowledge of MongoDB, Redis, Couch DB is preferred.
Expertise in application development, databases, version control, and deployment. Skill - Node.js,
Experience of AWS or GCP - especially services such as Lambda or google app engine
Solid grasp of Service-oriented architecture. Web Services implementation on a medium to large scale
Solid understanding of scaling mobile app services. Having worked the backend of an Android app is preferred
Culture:
Ability to work independently with minimal supervision
Happy to deal with, and contribute to, an environment of daily builds Has worked in small teams, is versatile. Work within short timelines and be receptive to business needs. Can work closely with Digital, Product, Operations teams.
Desirable Social Attributes:
Has contributed to one or more Open Source projects through own initiative. Has provided a high quality answer to a question posted on StackOverflow.
Role:
As a Software Developer who would work independently, the candidate is expected actively acquire problems and deliver solutions as well as guide the team technically. Such a problem solver would obviously be a self starter with a high level of curiosity rather than a programming language specialist.
He/she would be required to produce software of the highest quality through self-discipline, clear and engaged communication, and attention to detail. The role would include custom web application development on (most typically on Node.js and PHP/Python), databases (most typically MySql and MongoDb), version control (github), testing (necessarily through test scripts written before code is written), daily builds and eventual deployment onto AWS or GCP.
Attributes of the ideal candidate:
Highly productive software developer with the proven aptitude to understand and apply technology
Determination to succeed despite obstacles and challenges, and a positive attitude favoring achievement of goals over open-ended investigation
Always learning, evolving, and sharing what you know
Inspired by complex, varied problems and rapid change
Open-minded, flexible, and curious about new and better ideas
Strong proficiency with one of the Vue.js, Angular JS, React JS JavaScript Techologies
2. Knowledge of Node.js and frameworks available for it , such as Express JS, Strong Loop, etc
3. Understanding the nature of asynchronous programming and Promises and its quirks and workarounds
4. Good understanding of server-side templating languages (such as Jade, EJS, etc depending on your technology stack)
5. Good understanding of server-side CSS pre-processors such as Styles, Less
6. Basic understanding of front-end technologies, such as HTML5, CSS3, and Bootstrap
7. Understanding accessibility and security compliance
8. User authentication and authorization between multiple systems(Internal or Third party), servers, and environments
9. Integration of multiple data sources and databases into one system
10. Understanding fundamental design principles behind a scalable application
11. Understanding differences between multiple delivery platforms, such as mobile vs. desktop, and optimizing output to match the specific platform
12. Implementing automated testing platforms and unit tests
13. Proficient in code versioning tools, such as Git or TFS
About the role:
We are looking for an experienced Software Development Engineer II (SDE2) to help deliver high visibility and impact features for the ChakraHQ Platform. ChakraHQ Platform is the world's first Omnichannel Process Automation Platform. Imagine AWS but for operations and business teams; built on cutting edge technology stacks, to solve problems for modern businesses.
Technology specialists at ChakraHQ are at the core of the company's decisions and vision. As an SDE2, you will contribute to the design and development of the core technology stack of the ChakraHQ Platform. Working closely with Engineering, Product Management, Sales and Customer Success you will take ownership to develop features, plugins and custom fixes that will materially impact customer’s and ChakraHQ’s business. You will also be responsible for maintaining a streamlined build and CI/CD system. You will help coordinate the incorporation of upstream features into the ChakraHQ Platform.
Technologies you will work with: NodeJs, PostgreSQL, Serverless, Elasticsearch, Kibana, AWS, Google Cloud
Responsibilities:
- Design, develop and maintain features, services, products that are part of ChakraHQ
- Own delivery of said features and services
- Own success of the products by tracking its lifecycle with customers
- Build systems that scale horizontally
- Write automated tests to ensure code quality
- Work with customers to build a product roadmap
- Work with sales & marketing to sell your product to end-users
- Work as an integral part of an agile software development team to build features end-to-end
- Support those features in the ChakraHQ production environment by participating in an on-call rotation
Position Requirements:
- Bachelor's degree in Computer Science.
- 3+ years of experience working on teams to develop and deploy web or mobile applications
- Extensive experience in any one backend programming language - Java, NodeJS
- A solid foundation in computer science, with strong competencies in data structures, algorithms, and software design
- Experience in building highly scalable business applications, which involve implementing large complex business flows and dealing with huge amounts of data.
- Proficiency with git and Github workflows
- Expertise with test-driven development and automated testing
- Excellent analytical and problem-solving skills
- Excellent communication skills and fluent English
- Open to learn and work on new technologies
The primary responsibilities include:
- Responsible for the overall software development lifecycle.
- Management and execution against project plans and delivery commitments
- Drive effective, mature Agile practices and continuous execution improvements within your teams.
- Manage stakeholder planning and communications ensuring key outcomes
- Recruit, coach, and mentor the best engineering and management talent
- Build, coach, and manage a strong team of engineers that set the standard and can up-level the overall talent of the extended organization.
- Provide a strong understanding of native mobile developer platforms and bring broad thought leadership to the next generation mobile developer experience.
- Anticipate and aggressively remove obstacles that slow down or prevent products and programs from delivering on product and program objectives.
- Balance urgent and effective action, commitment to excellence, and taking the initiative to resolve problems; holds internal stakeholders accountable where appropriate.
REQUIRED
- 8+ years of industry experience with 2+ years of senior leadership experience.
- Solid track record of over-achieving engineering and platform delivery and scaling targets in high volume, innovative and fast-paced high-pressure environment; proven results in delivery on platform product.
- Deep understanding of one or more of Java/Python/Scala. Ability to understand and critique the core library/language constructs with skilled knowledge on UI technologies like Angular 2+, React, D3.JS
- Working experience with Agile methodologies and durable team concepts.
- Knowledge in DevOps practices and tools.
- Knowledge in Cloud Technologies, CI/CD, Jenkins, Testing methodologies is preferred.
- Experience in server-side services using ElasticSearch, Kafka
- A strong track record of project delivery for large, cross-functional, projects and bringing in and growing engineering talent
- Excellent written and verbal communication skills with the ability to present complex technical information clearly and concisely to a variety of audiences.
Roles/Responsibilities
- Own the coding/design of a sub-module
- Review the requirements and provide simple solutions
- Design the sub-module working with the tech-lead
- Hands-on code the critical parts of the module
- Ensure coding standards, proper design patterns, writing test cases and project mgmt processes are followed
- Mentor the junior programmers
- Peer and junior programmers code review
- Work independently and proactively to deliver production-ready code with minimal guidance
Jobs Skills required
- Strong experience in developing either backend or front end systems
- Backend Exp: RoR, NodeJS, Java, Go, MySQL, Mongo
- Ability to work in a team structure and deliver projects
- Very strong analytical and problem solving skills in super changing environment
- Understanding of algorithms and data structures
Responsibilities
- Lead the development of the backend systems for our first product
- Build reliable, secure and performant backend systems
- Drive test coverage and continuous delivery automation within the team
- Mentor and provide feedback to teammates
Requirements
- 5+ years of software development experience
- Strong computer science fundamentals
- Deep and wide knowledge of Java ecosystem
- Can write code that is readable, maintainable, secure and performant
- Know the importance of tests and how to approach writing different types of tests
- Good intuition for REST API design
- Deep understanding of relational databases, transactions, entity-relationship modeling
- Comfortable writing highly concurrent systems
- Experienced in using profilers, tuning garbage collection, optimizing SQL queries
Desired Skills and Experience
- Golang , Java , Python , Ruby









