Job Summary
A Principal Software Engineer for Node is an associate at Creative Chaos who is mainly responsible for developing server applications of various software platforms including but not limited to writing Restful APIs to be consumed by client applications. A principal software engineer makes sure that the functionality, security and performance of the server application is as per the design and is completely bug free. Principal engineers have a responsibility to lead a team of engineers, mentor team members through continuous training and guidance.
Duties & Responsibilities
- Lead a team of software engineers
- Mentor team members through training and guidance
- Analyze business requirements
- Estimate assigned tasks
- Write code and unit tests
- Collaborate with other team members
- Tune your code for enhanced security and performance
- Maintain systems by fixing any existing issues
- Update issue tracking software
- Provide status updates
- Communicate with client
- Control versions of your code
- Research new technologies
- Upgrade skills and knowledge
- Evaluate candidates for open positions
Requirements
- Minimum Bachelors in Computer Science/Software Engineering or equivalent.
- Minimum 6-8 years of related experience in professional industry
- Strong communication skills
- Strong proficiency in Javascript technologies
- Knowledge of NodeJS and its available frameworks such as ExpressJS and NestJS
- Knowledge and experience in writing backend components and Restful APIs
- Understanding of accessibility standards and security compliances
- Working knowledge of Typescript, Azure functions, YAML, Terraform is preferred.
- Experience with different relational and schemaless databases such as MySQL, PostgreSQL and MongoDB
- Creating database structure for the required functionality
- Experience with writing unit tests and ensuring the minimum 90% test coverage
- Knowledge of and experience with Github, JIRA and other collaboration tools
- Understanding of security standards and compliances
- Basic understanding of front-end technologies.
- Flexible attitude and versatile personality
- Strong presentation skills
- Strong influence among team members