Software Development Specialist - Bangalore, India - NTT DATA Services

    NTT DATA Services background
    Description

    Sr. Application Developer - Python

    The successful candidate will design and develop applications for the Smart Platform The Sr. Application Developer will interact with Product Managers and other team members to discern application requirements and mentor other team members as appropriate.

    Responsibilities

    • Design and develop software applications in Python using relational and NoSQL databases, MariaDB and MongoDB preferred.
    • Collaborate closely with Product Management, User Interaction Designers and mentor other engineers on the team.
    • Utilize and document appropriate architectural patterns.
    • Collaborate closely with Product Management and mentor other engineers on the team.
    • Rapidly fix bugs, solve problems and proactively strive to improve Smart Platform products and technologies.
    • Manage individual project deliverables and mentor junior team members on industry coding standards and design techniques.
    • Embrace Test Driven Development and behavior driven development testing tools such as Pytest and Behave and their integration into CI/CD pipelines.
    • Deploying software using CI/CD tools such as Jenkins
    • Help build a team and cultivate innovation.

    Qualifications

    • Five+ years of experience in designing and developing software applications in Python.
    • Excellent verbal and written communication skills in English to collaborate across teams.
    • Experience developing and deploying software using CI/CD tools such as Jenkins
    • Demonstrated experience developing software applications using NoSQL and relational databases, MongoDB and MariaDB preferred.
    • Conversant with application architectural patterns, such as MVC, Microservices, Event-driven, etc.
    • Experience deploying and maintaining software using public clouds such as Azure or AWS.
    • Experience working with APIs, serialization, concurrency. FastAPI experience highly desired.
    • Experience with batch and/or stream processing systems such as Apache Spark, Flink, Akka, Storm
    • Experience implementing a message broker such as Kafka, RabbitMQ, Apache ActiveMQ, or Kinesis.
    • Experience with test driven development and/or behavior driven development. Hands on experience with testing tools such as Selenium and Cucumber and their integration into CI/CD pipelines.

    Must demonstrate solid knowledge of computer science fundamentals like data structures and algorithms