Full Stack Engineer
Develop and Maintain Backend of Applications
- Design, develop, and maintain secure, scalable applications using Java and Spring Boot.
- Implement robust RESTful APIs, SOAP APIs, and microservices for seamless integration with other services.
Develop and Maintain Web Applications Frontend
- Contribute to web frontend development using React JS to build integrated, end-to-end solutions
Data Interchange and Serialization
- Work with JSON and XML for data interchange between services and handle data serialization/deserialization effectively.
System Design and Architecture
- Apply design patterns and architectural best practices to build efficient, maintainable code.
- Conduct system and component design reviews to ensure compliance with best practices and standards.
Encryption and Security
- Implement and manage encryption/decryption mechanisms to ensure data security and compliance.
- Ensure secure communication protocols and data storage using encryption standards like AES, RSA, and TLS.
Production Deployment and Maintenance
- Oversee production deployments, ensuring zero downtime and robust rollback mechanisms.
- Monitor applications post-deployment, handle troubleshooting, and improve system stability.
- Establish and manage CI/CD pipelines using tools such as Jenkins, GitLab CI, or GitHub Actions.
- Ensure smooth deployment workflows with automated testing and configuration management.
Database Management
- Develop database schemas, write optimized queries, and manage integrations with relational databases like MySQL, PostgreSQL, or Oracle.
- Experience with NoSQL databases such as MongoDB, Cassandra, or Redis is a plus.
HTTP Protocol and Communication
- Deep understanding of HTTP, HTTPS, and secure communication standards.
- Experience with HTTP methods (GET, POST, PUT, DELETE) and status codes.
Testing and Quality Assurance
- Implement unit testing, integration testing, and functional testing using frameworks like JUnit and Mockito.
- Write and maintain thorough test cases to ensure code quality and functionality.
Collaboration and Mentorship
- Collaborate with cross-functional teams (Product, DevOps, QA) to achieve project goals.
- Mentor junior developers, fostering best practices in code quality, documentation, and testing.
Required Skills
- Must be able to communicate fluently & effectively in English
- Java: Strong expertise in Java (preferably Java 11 or later versions).
- Spring Framework: Advanced knowledge of Spring Boot, Spring Data, Spring Security, and Spring Cloud.
- Design Patterns: Deep understanding of design patterns (e.g., Singleton, Factory, Observer) and their practical applications.
- Microservices Architecture: Experience in developing and managing microservices-based architectures.
- SOAP and REST APIs: Hands-on experience with both RESTful and SOAP APIs.
- JSON/XML: Proficiency in JSON and XML for data interchange and processing.
- HTTP Protocols: Solid understanding of HTTP/HTTPS protocols, methods, and secure communication standards.
- Encryption/Decryption: Experience implementing encryption/decryption for secure data storage and transfer (AES, RSA, TLS).
- CI/CD Pipelines: Proficiency in CI/CD tools like Jenkins, GitLab CI, or GitHub Actions.
- Database Management: Hands-on experience with relational databases (MySQL, PostgreSQL) and familiarity with NoSQL databases (MongoDB, Redis).
- Version Control and Collaboration: Git for version control; JIRA, Confluence, or similar tools for collaboration.
- Testing Frameworks: Proficient with JUnit, Mockito, or other testing frameworks for unit and integration testing.
- Cloud Platforms: Experience with cloud services such as AWS is highly desirable.
Preferred Qualifications
- Experience with containerization (Docker) and orchestration tools (Kubernetes).
- Exposure to Agile/Scrum methodologies.
Experience Required
6+ years of hands-on experience in Java
Qualifications
Bachelor’s degree in computer science or related discipline