Key Objectives/Responsibilities of this Role:
- Understand the UI needs, backend design and data design and create the backend code for the same
- Backend development in NodeJs 12 & above, ExpressJs, NestJs, RESTful web services, Docker, MongoDB, Azure AKS or Kubernetes
- Collaboration with other team members (Architect, UI, backend developers, DBA, Data analytics team) to work in coherence
- Working experience into Agile and scrum methodologies
- Manage SDEs and Interns to drive the deliverables
Mandatory Skillset & Tools: NodeJs 12 and above, ExpressJs, NestJs, Writing Unit Tests , Scheduler, Mongo DB, working knowledge in Kubernetes (AKS), GIT version control, Event driven design, Microservices, con-currency, RESTful web-services, Docker
Primary Skill: NodeJs 12 & above ExpressJs, NestJs, Microsoft development platform, Testing & Debugging skills, Postman, CI/CD pipeline, Docker, Docker hub, Writing UNIT tests
Secondary Skill: Load & performance testing, testing REST Web services, Basic shell commands, Linux, Good written, verbal and presentation skills, Soft spoken, Pro-active
About Bajaj Finserv Health
Similar jobs
What You'll Do :
You will be a part of our backend team working on keeping our REST API and GraphQL API up and running and making sure that our users get the right data at the right time.
You will have ownership of developing and maintaining our backend services including users, courses, and operations tools that manage our product and logistics.
You will work on architecting and scaling highly-available RESTful services and back-end systems from scratch.
This is a position for an experienced Node programmer with at least 2 years under the belt, but you don't have to be a rock star, a ninja, or a superhero to apply.
What You'll Need :
You will fit well in the backend team if you are passionate about technology and have experience programming in Node. Knowledge of technologies like Cassandra, Elasticsearch, PostgreSQL, REST and JSON will help you get going from day one.
As an experienced Node developer, you should be intimately familiar with the platform, with
JavaScript, and with the stables of full-stack web development : HTTP, JavaScript, CSS, HTML, SQL.
It's a bonus if you're broadly familiar with other languages as well- we write some services in Go and have data pipelines written in Python- but your main work will be JavaScript through and through.
You will be a perfect match with our team if you love collaborating with people from all disciplines to solve complex problems, always want to learn new skills and take ownership of your work.
Experience working with ExpressJS
Good Understanding of OOPS , Data Structure and Algorithms is required
- BackEnd Technologies:
Github Actions (CI/CD), AWS services (Lambda, event bridge, SNS, App Runner, EC2, Cloud Watch)
- Technical knowledge:
OAuth2.0
Non-Relational Databases
- It is important to adapt to changing requirements
- Have the ability to integrate external systems
How many hours are they expected to work?
- - Full time position ( 40+ hours a week)
What hours should they work?
- - Prefer 9-5 EST but there is wiggle room
Will there be nights and weekends?
- - Nights and weekends are not scheduled, however we are looking for someone that takes pride in their work and will lean in to hit a deadline or to fix a bug if it has a significant impact on the platform.
Should they be expected to lead?
- - Yes, you should be expected to lead and to communicate/ cooperate with other devs as a team. Some coding might be alone but the hope of the app is that it all works seamlessly together and to ensure that there needs to be communication among all devs front end and back end.
Who will they report to?
- - They will report to Product OwnerRob and Product ManagerJulietta daily for standups and well as pushing tasks through the appropriate structure of review, QA, and production.
- They will also report and check in with Client SuccessCourtney as we look to make the app have a seamless customer experience and customer value. The goal of Attribute should be to try and give as much value as quickly and easily as possible.
Will they work alone or in a team?
- In some spots they might be expected to work alone and on a separate sprint from others, however, everything needs to tie in and work together, because of that the developer must be team oriented in both development and problem solving.
- Additionally, there will be times that they should expect to work with people who are not particularly tech savvy ( ie. sales, marketing, customer success etc.) to collaborate on a specific feature to produce the best thing for the product.
Accountability
- The developer is both accountable for their code and the code of the team. They should take care and responsibility in the work that is done and if there are problems with the code in QA or production work as diligently as possible to fix that problem ( whether it is their code directly or not).
- As part of this all code will be attached from Github to Jira for developers to constantly upload their commits to Jira tasks
- A mistake is completely fine and expected, bugs are to be expected. What is asked is that you report it as soon as possible and are honest about it so that we can move forward in resolving it as soon as possible.
Customer, Usability, and Value Focused
- The end user of our product will be marketing professionals/head of marketing. At all times the developers need to take this into account and spend time thinking of the ease and the use cases that people will utilize their code or features in real life versus what is a way to make something work but in a vacuum.
Quality focused
- Pushing out code is awesome, but if the code has a ton of bugs and does not do the required action that is practical for the user then it does not matter. We want a developer who is Quality focused and also hold their other developers accountable.
Focused on the whole
- When producing a feature it is easy to sometime get sucked into how that features works in a vacuum. The developers need to be able to work together and understand the software architecture as a whole in order to make whatever feature they are working on be able to work with the other features that are built within the app ( and will be built or are on the roadmap for the future).
Creativity and Experimentation
- Developers are expected to work within structures, however, they are always encouraged to take time to think of creative solutions and to collaborate on new features or ways of making the product better.
Unfeathered, Honest, Respectful Communication
- Every developer should feel free to speak their mind in a respectful manner to other developers as well as anyone else in the entirety of the company. Any opinion, thought, or perspective will be listened to and valued.
Next Man or Woman Up Mentality
- Never should anyone on the team defer a problem and say “ thats not my fault or problem”. We are one unit and one company. One problem is everyone's problem and should lean in to the “next man up philosophy” if you have the time and can help to fix the problem and bring it to a solution you should be willing to.
Upward Mobility and Vesting Opportunity
- This position will allow for upward mobility, increased responsibility, and for people who constantly go above and beyond an opportunity to vest into and own equity in the company
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
-Should be strong in complex problem solving, Data
Structure & Algorithms.
-Should be proficient in more than one Programming
language i.e Java, Node, Golang, etc.( Oops Languages & Concepts) and related frameworks.
-Should be comfortable with SQL, NOSQL databases.
-Should have comfortable writing Unit tests.
Key Responsibilities:
- Lead a full product development lifecycle from ideation, design, development, to roll out and support
- Own the delivery of multiple features of the product end to end while hands-on in development as well
- Advocate best development practices such as continuous integration/continuous delivery, automation (testing and infrastructure)
Role and Qualifications:
- 7+ Years’ of experience, managing teams of 5+ people
- Must have excellent programming, debugging and scripting skills with a solid understanding of Object Oriented Design principles.
- Proficiency in at least two of the following: Java, NodeJS, Go, JavaScript, Python programming stacks, and passion for software engineering and craftsman-like coding prowess
- Knowledge of software practices like refactoring, clean code, domain driven design, Encapsulation etc
- Hands on experience managing databases like MongoDB, Cassandra, Redis.
- Exposure to event driven systems and event streaming engines like Kafka
- Good knowledge of DevOps tooling like docker, kubernetes, ansible/chef, AWS.