Senior Software Engineer - Backend Development
About the Role
We are seeking a talented Senior Software Engineer to join our dynamic engineering team. This role focuses on building robust, scalable backend systems and APIs that power our core products. You'll work with cutting-edge technologies, collaborate with cross-functional teams, and have the opportunity to mentor junior developers while contributing to architectural decisions.
Key Responsibilities
Backend Development: Design, develop, and maintain high-performance backend services and APIs using Java and Spring Boot
System Architecture: Contribute to architectural decisions and design patterns for scalable, maintainable systems
Code Quality: Write clean, efficient, and well-documented code following best practices and design patterns
Database Design: Design and optimize database schemas, queries, and data access layers
Performance Optimization: Identify bottlenecks and implement solutions to improve system performance and scalability
Testing: Develop comprehensive unit tests, integration tests, and participate in code reviews
Mentorship: Guide and mentor junior developers, sharing knowledge and best practices
Collaboration: Work closely with product managers, frontend developers, and DevOps teams
Problem Solving: Troubleshoot complex technical issues and provide innovative solutions
Required Qualifications ✅
Experience: 5+ years of professional software development experience
Backend Expertise: Strong experience in backend development with focus on server-side technologies
Java Proficiency: Advanced knowledge of Java (Java 8+) and object-oriented programming principles
Spring Framework: Extensive experience with Spring Boot, Spring MVC, and Spring Data
Database Skills: Proficiency with relational databases (MySQL) and SQL optimization
API Development: Experience building RESTful APIs and understanding of API design principles
Version Control: Proficient with Git and collaborative development workflows
Problem Solving: Strong analytical and debugging skills
Preferred Qualifications
Cloud Platforms: Experience with AWS
Microservices: Knowledge of microservices architecture and distributed systems
Containerization: Experience with Docker and Kubernetes
Message Queues: Familiarity with message brokers (Apache Kafka, AWS SQS)
NoSQL Databases: Experience with MongoDB, Redis, or Elasticsearch
CI/CD: Knowledge of continuous integration and deployment pipelines
Monitoring: Experience with application monitoring tools
Additional Technologies: Familiarity with Hibernate/JPA, Maven and build tools
Technical Skills ️
Core Technologies:
Java 8+, Spring Boot, Spring Framework ecosystem
RESTful API development and microservices architecture
SQL and database optimization techniques
Git version control and collaborative development
Additional Technologies:
Cloud services and containerization (Docker, Kubernetes)
Message queuing systems and event-driven architecture
Caching strategies (Redis)
Monitoring and logging solutions
Soft Skills
Communication: Excellent verbal and written communication skills
Leadership: Ability to lead technical discussions and mentor team members
Collaboration: Strong team player with cross-functional collaboration experience
Adaptability: Comfortable working in an agile, fast-paced environment
Continuous Learning: Passion for staying updated with latest technologies and best practices
Problem Solving: Creative approach to complex technical challenges