Senior Software Engineer

DISH

3.6

(40)

Bengaluru, India

Why you should apply for a job to DISH:

  • 4.1/5 in supportive management
  • 57% say the CEO supports gender diversity
  • Ratings are based on anonymous reviews by Fairygodboss members.
  • DISH invests in their employees with profit sharing – on top of 401(k) matching
  • DISH’s Paid Protected Time allows employees flexible time off for anything from vacation to emergencies or other extenuating circumstances
  • The Employee Assistance Plan is available to all employees & offers free, 1-on-1 counseling with experienced consultants available 24/7
  • #89996-en-us

    Position summary

    implement scalable, efficient, and maintainable backend services using Golang or Python. - Ensure that the code adheres to high-quality standards (e.g., readability, scalability, maintainability).

    • API Development:

      • Design, build, and maintain RESTful APIs or gRPC services that are well-documented and performant.
      • Integrate external APIs and third-party services when required.
    • Database Design and Management:

      • Work with SQL or NoSQL databases, optimize queries, and handle schema design.
      • Design data models that efficiently store and retrieve data in high-traffic systems.
    • Microservices Development:

      • Develop microservices-based architectures that communicate through API or event-driven systems.
      • Ensure microservices are fault-tolerant, scalable, and follow industry-standard best practices.
    • Testing and Debugging:

      • Write unit tests, integration tests, and perform thorough debugging to ensure smooth operation in production.
      • Utilize automated testing frameworks to ensure software quality.
    • Cloud Infrastructure and DevOps:

      • Experience with cloud platforms (AWS, GCP, Azure) and deployment models (e.g., Docker, Kubernetes).
      • Work with continuous integration/continuous deployment (CI/CD) pipelines to automate testing and deployment.
    • Code Optimization:

      • Optimize code for performance, scaling, and resource efficiency.

      • Implement best practices for code maintainability, including design patterns and clean code principles.

    Skills, Experience and Requirements

    Skills and Experience

    Backend Development

    • API Development:

      • Expertise in building robust and scalable REST and gRPC APIs using frameworks like Flask, Django (for Python) or Golang Mux (for Go).
      • Experience designing API contracts, managing API versioning, and optimizing API performance.
    • ORM Frameworks:

      • Strong experience with ORM (Object Relational Mapping) tools for database interactions, such as SQLAlchemy for Python or Go's GORM.

    Databases

    • AWS DynamoDB:

      • Experience working with DynamoDB including designing scalable data models, indexing strategies, and performance optimization.
      • Understanding of DynamoDB Streams for real-time data processing.
    • SQL and NoSQL Databases:

      • Expertise in both SQL (e.g., PostgreSQL, MySQL) and NoSQL (e.g., MongoDB, Redis) databases.
      • Knowledge of data modeling, query optimization, and database tuning for high-traffic systems.
    • OpenSearch / Elasticsearch:

      • Familiarity with AWS OpenSearch or Elasticsearch for implementing efficient full-text search and analytics capabilities.
      • Experience with setting up and managing indexes, performance tuning, and monitoring cluster health.
    • Redis and Elasticache:

      • Hands-on experience with Redis for caching and Elasticache for in-memory data storage and retrieval to optimize performance.
    • Apache Kafka:

      • Strong experience with Kafka for building event-driven systems and message brokering, including designing consumers, producers, and managing Kafka clusters.

    Cloud Infrastructure (AWS)

    • AWS Services:
      • API Gateway: Proficiency in using AWS API Gateway to expose backend services securely and efficiently.
      • Route 53: Experience with Route 53 for DNS management and routing traffic across different services.
      • Elastic Container Service (ECS) or Elastic Kubernetes Service (EKS) for deploying containerized applications.
    • CI/CD Pipelines:
      • Experience with CI/CD pipeline flows, automating testing and deployment processes using tools like Jenkins, GitLab CI, or AWS CodePipeline.

      • Building pipelines that automate unit testing, integration testing, and production deployment, ensuring smooth and fast releases.

    Containerization and Orchestration

    • Dockerization:
      • Expertise in creating Docker containers for consistent development environments and smooth deployment to various environments (development, testing, production).
    • Kubernetes:
      • Proficiency with Kubernetes for orchestrating containers, scaling microservices, managing clusters, and ensuring high availability.

      • Experience with Kubernetes deployments, config maps, secrets, and persistent volumes.

    Programming Languages and Frameworks

    • Python:

      • Strong skills in Python, with experience in Flask and Django for web development, API development, and microservices.
      • Deep knowledge of Python concurrency features (asyncio, threading) for building efficient applications.
    • Golang:

      • Proficiency in Golang, particularly for backend services, with experience using Mux for API routing and handling.

      • Familiarity with Golang's ORM libraries like GORM to interact with databases.

    Networking and Infrastructure Management

    • Experience in managing network protocols (e.g., HTTP, HTTPS, TCP/IP), and working with load balancers, firewalls, and DNS routing.

    • Familiarity with API security, implementing authentication and authorization strategies (OAuth2, JWT).

    DevOps and Monitoring

    • Logging and Monitoring:
      • Experience with logging frameworks and monitoring tools (e.g., Prometheus, Grafana, ELK stack) to ensure uptime and quickly troubleshoot issues.
    • Infrastructure as Code (IaC):
      • Familiar with Terraform or AWS CloudFormation to automate the provisioning of cloud resources.

    Soft Skills

    • Problem-Solving:

      • Strong analytical and problem-solving abilities, capable of diagnosing and resolving complex production issues quickly.
    • Communication:

      • Excellent verbal and written communication skills to collaborate with cross-functional teams, stakeholders, and clients.
    • Leadership and Mentoring:

      • Experience mentoring junior engineers, conducting code reviews, and leading projects or features end-to-end.

    Requirements

    • Experience:

      • 3-5 years of experience in backend development with a focus on building scalable APIs.
      • Hands-on experience with distributed systems, microservices architecture, and cloud-native application development.
    • Cloud Experience:

      • In-depth knowledge of AWS services, especially DynamoDB, Elasticsearch/OpenSearch, Elasticache, and API Gateway.
    • Backend Technologies:

      • Proficiency in Python and Golang, with experience building web applications and services in Flask, Django, and Golang Mux.
    • Database Management:

      • Deep understanding of both SQL and NoSQL databases, including database optimization, indexing, and data retrieval strategies.
    • CI/CD:

      • Proven experience in designing and managing CI/CD pipelines to streamline code deployment processes.
    • Containerization and Kubernetes:

      • Expertise in Docker and Kubernetes for container management and microservices orchestration.

    This combination of technical skills and hands-on experience with modern cloud and backend technologies ensures that a senior engineer can build highly scalable, secure, and maintainable applications for any organization.

    Benefits

    • Employee Stock Purchase
    • Term Insurance
    • Accident Insurance
    • Health Insurance
    • Training Reimbursement
    • Gratuity
    • Mobile and Internet Reimbursement
    • Team Outings

    Why you should apply for a job to DISH:

  • 4.1/5 in supportive management
  • 57% say the CEO supports gender diversity
  • Ratings are based on anonymous reviews by Fairygodboss members.
  • DISH invests in their employees with profit sharing – on top of 401(k) matching
  • DISH’s Paid Protected Time allows employees flexible time off for anything from vacation to emergencies or other extenuating circumstances
  • The Employee Assistance Plan is available to all employees & offers free, 1-on-1 counseling with experienced consultants available 24/7