Job Description
Want to be a part of our team?
Plans, designs, develops, and tests software systems or applications for software enhancements and new products including cloud-based or internet-related tools.
Working at NTT
The Software Development Engineer is accountable for designing, developing, and testing software systems, modules, or applications for software enhancements and new products including cloud-based or internet-related tools. Incumbents within this job are responsible for detailed design for certain modules/sub-systems, doing prototype for multi-vendor infrastructure, and showcasing it internally or externally to clients. Design and develop 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 Roles and Responsibilities:
• Design and develop solutions and functionality that drives the growth of business
• Write and test code
• Execute automated testing
• Participate in software deployment
• Deliver software components while working in collaboration with the product team
• Integrate and build solutions through automation and coding, using 3rd party software
• Craft, build, and debug large scale distributed systems
• Write, update and maintain the technical program, end-user documentation, and operational procedures
• Refactoring code
• Review code was written by other developers
Knowledge, Skills, and Attributes:
• Strong understanding of cloud architecture and services in multiple public clouds like AWS, GCP, Microsoft Azure, and Microsoft Office 365
• Fluent in programming languages such as C/C++, Java, Python, Node.js, etc.
• Foundation in data structures, algorithms, and software design with strong analytical and debugging skills
• Good understanding of micro services-based software architecture and experience with API product development
• Expertise with SQL and no-SQL data stores including Elasticsearch, MongoDB, Cassandra
• Experience with container run time (Docker, LXC/LXD)
• Familiar with agile practices and believes in test-driven development
• Ability to mentor junior engineers
• Possess a can-do attitude and one that takes initiative
• Good interpersonal skills
• Ability to work multi-functionally and work well as a team
• Ability to work well in a diverse team with different backgrounds and experience levels
• Ability to thrive in a dynamic, fast-paced environment
• Experience with CI/CD concepts and tools
Academic Qualifications and Certifications:
• ME/MTech in Computer Science or equivalent with related demonstrable experience or BE/BTech in Computer Science or equivalent with related demonstrable experience as a software engineer working on large scale systems
Required Experience:
• Experience working with geo-distributed teams through innovation, bootstrapping, pilot, and production phases with multiple stakeholders to the highest levels of quality and performance
• Experience in working with large data sets and ability to apply proper ML/AI algorithms
• Two or more years developing micro-services and RESTful APIs
What will make you a good fit for the role?
Urgent Requirement for GBS
• Mandatory Skills: Core Java,Spring/Spring Boot (Micro Services), Build tools, Git, API Integrations, Oracle DB.
• Secondary Skills: Powershell Scripts, Jenkins.
Additional Requirements
• Excellent with troubleshooting.
• Experience in TDD, writing unit test cases.
• Experience with Unix, and Linux Operating Systems.
• Good understanding of the agile methodology and agile development processes.
• Good to have experience with frontend development using React/Angular, HTML5, CSS3, and Responsive web application development.
• Experience in API layer security (e.g., JWT, OATH2), API logging, API testing, and creating REST API documentation using Swagger and YAML or similar tools desirable.
• Basics of SQL and Stored Procedures