
Job Description & Key Responsibilities
Role & Responsibilities Design, develop, and maintain scalable, secure, and high-performance backend services, APIs, and server-side applications. Architect and implement robust backend systems using programming languages and frameworks such as Java, Python, Go, C#, Node.js, Spring Boot, or equivalent technologies. Develop and maintain RESTful APIs, GraphQL endpoints, microservices, and integrations with internal and external systems. Design, optimize, and manage relational and NoSQL databases, including schema design, indexing, query optimization, and data migration. Build distributed systems and event-driven architectures using message brokers and streaming technologies such as Apache Kafka or RabbitMQ. Collaborate with frontend engineers, UI/UX designers, product managers, QA teams, and DevOps engineers to deliver end-to-end product features. Translate business requirements into technical specifications, system designs, and reliable backend implementations. Ensure application security through authentication, authorization, encryption, secure API design, and adherence to industry best practices. Optimize application performance, scalability, availability, and resource utilization through profiling, caching, and database tuning. Implement automated unit, integration, and end-to-end tests to maintain code quality and reduce production defects. Deploy and maintain backend applications using cloud platforms, containerization technologies, and CI/CD pipelines. Monitor application health, investigate production incidents, perform root cause analysis, and implement long-term corrective actions. Participate in architecture reviews, technical planning, code reviews, and engineering design discussions. Maintain technical documentation, API specifications, architectural diagrams, and operational procedures. Evaluate emerging technologies and recommend improvements to backend architecture, development workflows, and system reliability. Mentor junior engineers, provide technical guidance, and promote coding standards, design principles, and engineering best practices. Preferred Candidate Profile Bachelor's or Master's degree in Computer Science, Information Technology, Software Engineering, or a related technical discipline. 5 to 10 years of professional experience in backend engineering, software development, API development, or distributed systems engineering. Strong proficiency in at least one backend programming language, such as Java, Python, Go, C#, or JavaScript/TypeScript with Node.js. Hands-on experience with backend frameworks such as Spring Boot, Django, FastAPI, Express.js, or equivalent technologies. Proven experience designing, developing, and maintaining REST APIs, GraphQL services, and scalable backend applications. Strong understanding of data structures, algorithms, object-oriented programming, design patterns, and software architecture principles. Experience designing and optimizing relational databases such as PostgreSQL or MySQL and NoSQL databases such as MongoDB or DynamoDB. Good understanding of microservices, distributed systems, asynchronous processing, message queues, caching, and data consistency. Experience with cloud platforms such as AWS, Microsoft Azure, or Google Cloud Platform. Familiarity with Docker, Kubernetes, Git, CI/CD pipelines, and automated deployment workflows. Strong understanding of application security, authentication, authorization, API protection, and secure coding practices. Experience with automated testing frameworks, code quality tools, monitoring, logging, and production troubleshooting. Ability to analyze complex technical problems, conduct root cause analysis, and implement scalable, maintainable solutions. Familiarity with Agile/Scrum methodologies, collaborative development workflows, and version control best practices. Excellent communication, analytical thinking, problem-solving, and cross-functional collaboration skills. Ability to independently own backend features, contribute to architectural decisions, and deliver technical projects within agreed timelines. Experience mentoring junior engineers, conducting code reviews, and leading technical initiatives is highly desirable. Experience building high-availability systems, optimizing application performance, and supporting production-scale workloads is an added advantage.