Title: Software Developer
Company Name: National Telecommunication Monitoring Center
Vacancy: 01
Age: 21 to 42 years
Job Location: Dhaka
Salary: Tk. 45000 - 50000 (Monthly)
Experience:
Key Responsibilities:
· Design, develop, and maintain scalable, high-performance backend services using Java (Spring Boot), Python (FastAPI/Flask/Django), or Golang.
· Build and maintain RESTful APIs and event-driven services ensuring reliability, scalability, and security.
· Design and implement microservices-based architectures, including service decomposition, communication patterns, and fault tolerance.
· Develop asynchronous processing systems using messaging platforms such as Apache Kafka or RabbitMQ.
· Optimize and manage relational and non-relational databases including PostgreSQL, Redis, ClickHouse, and Elasticsearch.
· Implement system observability using logging, monitoring, metrics, and tracing tools to ensure production reliability.
· Collaborate with frontend and product teams to support seamless API integration (Node.js and modern frontend frameworks where required).
· Work with DevOps teams to support CI/CD pipelines, containerization (Docker), and Kubernetes-based deployments.
· Ensure adherence to secure coding practices, performance optimization, and scalable system design principles.
· Participate in system design discussions, code reviews, and technical mentoring of junior engineers.
Required Qualifications:
· Minimum 7 years of professional software development experience, with strong backend focus.
· Strong proficiency in at least one primary backend language: Java, Python, or Golang.
· Solid experience in designing and building microservices-based systems.
· Hands-on experience with RESTful API design and event-driven architecture.
· Practical experience with Kafka and/or RabbitMQ.
· Strong understanding of database design and optimization (PostgreSQL, Redis, ClickHouse, Elasticsearch or similar).
· Experience with Docker, Kubernetes, and CI/CD pipelines (GitLab CI, Jenkins, or GitHub Actions).
· Good understanding of distributed systems, scalability, and performance tuning.
· Familiarity with Agile/Scrum development processes.
· Strong problem-solving and communication skills.