As a Senior Software Engineer, you will be responsible for designing and programming a small module or a large component and designing a feature, set of features, or whole feature area.
Capturing system level requirements by brainstorming with Architects, Data Scientists, Businesses & Product Managers.
Identifying the scope of the work, provide initial estimate and justify the estimate with facts.
Demonstrating the understanding of Agile software development lifecycle and able to distinguish the core inputs and outputs in each cycle.
Engaging in technical discussions; participate in technical designs and present technical ideas through white boarding.
Working closely with your peers and keep engaging in a fast pace technical design and development team.
Providing guidance to a team of 2 to 3 developers with either planning and execution and/or design architecture using agile methodologies such as SCRUM.
Working with Product Line Leaders (PLLs) to understand product requirements & vision.
Demonstrating the ability to make informed technology choices after due diligence and impact assessment.
Executing in a fast pace delivery mode and focus in delivering tasks to meet the product release goal.
Maintaining code quality through best practices, unit testing and code quality automation.
Seek and provide feedback on design and development.
Requirements
Have 7+ years of hands-on backend/frontend development in Web/Cloud application.
Have prior experience of implementing an application on Azure/AWS using microservices architecture; docker/containerization.
Have proficiency in back-end development using C#, TypeScript & Node.js
Have proficiency in Database (MySQL, PostgreSQL).
Have hands on experience in backend like Session management, caching, algorithms & data structures, secure coding, etc.
Proficiency in C#, JavaScript/Typescript, HTML, CSS, jQuery, Web Servers & RESTful Web services.
Hands-on experience on data communication protocols like AMQP/MQTT & message brokers like RabbitMQ/Kafka etc.
Flexible to learn and develop in any language/technology/tools as per the project’s needs.
Have deep understanding of Application and Infrastructure architecture and non-functional aspects like Performance, Scalability, Reliability, Availability etc.
Have good Problem-solving skills, Collaboration, Influencing and articulation.
Deep understanding and hands on experience of Programming concepts: OOPS, best practices, refactoring, maintainable/reusable code, Design principles and patterns, Architecture, TDD, Unit testing, debugging, automation.
Can break down problems and estimate time for development tasks.
Be a graduate of Computer Science or in STEM Majors (Science, Technology, Engineering and Math).
Tech Stack
AWS
Azure
Cloud
Docker
JavaScript
jQuery
Kafka
Microservices
MySQL
Node.js
Postgres
RabbitMQ
TypeScript
Benefits
Contemporary work-life balance policies and wellbeing activities
Comprehensive private medical care options
Safety net of life insurance and disability programs