Software Development Engineer
Job Description
Join a company that is pushing the boundaries of what is possible. We are renowned for our technical excellence and leading innovations, and for making a difference to our clients and society. Our workplace embraces diversity and inclusion it's a place where you can grow, belong and thrive.
Your day at NTT DATA
The Software Development Engineer is a seasoned subject matter expert, tasked with participating in designing, developing, and testing software systems, modules, or applications for software enhancements and new products including cloud-based or internet-related tools.
This role is accountable for participating in detailed design for certain modules/sub-systems, doing prototype for multi-vendor infrastructure, and showcasing it internally or externally to clients.
This role designs and develops functionality in a micro-services environment working with APIs, telemetry data, and running ML/AI algorithms on it, working with both structured and unstructured data.
Key responsibilities:
- Designs and develops solutions and functionality that drives the growth of business.
- Accountable for writing and testing code.
- Accountable for execution of automated testing.
- Contributes to software deployment.
- Works across multiple teams to deliver software components while working in collaboration with the product team.
- Contributes to the integration and building of solutions through automation and coding, using 3rd party software.
- Creates, crafts and debugs large scale distributed systems.
- Contributes to writing, updating and maintaining the technical program, end-user documentation, and operational procedures.
- Accountable for refactoring code.
- Works across multiple teams to review code written by other developers.
- Performs any other related task as required.
To thrive in this role, you need to have:
- Excellent understanding of cloud architecture and services in multiple public clouds like AWS, GCP, Microsoft Azure, and Microsoft Office 365.
- Subject matter expert in programming languages such as C/C++, C#, Java, JavaScript, Python, Node.js, libraries and frameworks.
- Seasoned expertise of data structures, algorithms, and software design with strong analytical and debugging skills.
- Seasoned knowledge of micro services-based software architecture and experience with API product development.
- Seasoned expertise in SQL and no-SQL data stores including Elasticsearch, MongoDB, Cassandra.
- Seasoned understanding of container run time (Kubernetes, Docker, LXC/LXD).
- Seasoned proficiency with agile, lean practices and believes in test-driven development.
- Possess a can-do attitude and one that takes initiative.
- Excellent ability to work well in a diverse team with different backgrounds and experience levels.
- Excellent ability to thrive in a dynamic, fast-paced environment.
- Seasoned proficiency with CI/CD concepts and tools.
- Seasoned proficiency with cloud-based infrastructure and deployments.
- Excellent attention to detail.
Academic qualifications and certifications:
- Bachelor's degree or equivalent in Computer Science, Engineering or a related field.
- Microsoft Certified Azure Fundamentals preferred.
- Relevant agile certifications preferred.
Required experience:
- Seasoned experience working with geo-distributed teams through innovation, bootstrapping, pilot, and production phases with multiple stakeholders to the highest levels of quality and performance
- Seasoned experience with tools across full software delivery lifecycle, for example, IDE, source control, CI, test, mocking, work tracking, defect management.
- Seasoned experience in Agile and Lean methodologies, Continuous Delivery / DevOps, Analytics / data-driven processes.
- Seasoned proficiency in working with large data sets and ability to apply proper ML/AI algorithms.
- Seasoned experience in developing micro-services and RESTful APIs.
- Seasoned experience in software development.