About the job
Job Description
Job Purpose
We are looking for talented Software Engineers with a solid background in Enterprise Software Development to join fast paced software development team. As a member of this team, you will have an opportunity to participate in designing and developing existing products and new products.
Responsibilities
- An Agile developer, focusing on sustainable development by exercising good estimation, effective branching strategies for managing code, automated testing to protect quality, and continuous deployment to get faster feedback.
- Drive/Actively participate in design discussions around architecture and business requirements with Architects, Product Owners and Business Owner. Own a fairly undefined/ unbounded problem and produce a well-thought-out architecture that is scalable, performant, secured and highly reliable.
- Prepare detailed design document including Class diagram, sequence diagram, interface specification, persistence model, screen mockups where required.
- Implement modules ensuring best coding practice.
- Perform code reviews of components & modules with recommendation around best coding practices
- Assist Operations / Support team in resolving Production Issues.
- Contribute to architecture, design, and implementation of our next-generation cloud based solutions.
Knowledge And Experience
- BS or MS degree in Computer Science or a related technical field
- 7+ years of software development experience using Object Oriented design for high-volume transactional systems using C++, C#, .NET and .NET core
- Hands on experience in problem solving using data structures and algorithm.
- Hands on experience with designing and implementing SDKs using multi-threading.
- Hands on experience with developing windows services
- Hands on experience with messaging frameworks like Fiorano, ActiveMQ, Kafka, Amazon MQ and Amazon SQS
- Hands on experience with developing and deploying .Net applications onto cloud (AWS/Azure) will be nice to have.
- Hands-on experience with CI/CD, design reviews, code reviews, unit testing, integration/system testing, monitoring, alerting, agile development practices.
- Experience on cloud transformation project and containerizing the application will be an added advantage.
- Experience with REST architectural patterns and experience in building, exposing, consuming RESTful services will be nice to have.
- Knowledge of platform and application layer development processes in a Micro-service environment will be nice to have.
- Proven success in designing robust and scalable production systems.
- Strong communication skills, able to communicate effectively with developers, project managers, QA, and the leadership team.
- Deep knowledge and understanding of scrum/agile development methodologies.
Schedule
This role offers work from home flexibility of 1 day per week.