Full Stack Software Engineer
Overview
We’re seeking a highly motivated Full Stack Software Engineer who thrives in building scalable, secure, and performant web applications from end to end. You’ll contribute across the technology stack—from designing robust APIs and microservices to crafting rich front-end experiences with Angular.
Technical Responsibilities
- Develop backend services using Java and Spring Boot, focusing on performance, scalability, and maintainability.
- Design and implement secure RESTful and GraphQL APIs, following OpenAPI standards and incorporating OAuth 2.0, JWT, and API Gateway security practices.
- Work with relational and NoSQL databases (e.g., PostgreSQL, Cassandra) using Hibernate/JPA for efficient CRUD operations and query optimization.
- Architect systems using microservices and event-driven patterns via Kafka or RabbitMQ for asynchronous messaging.
- Build responsive and scalable web applications using Angular and TypeScript, ensuring clean architecture and code quality.
- Customize UI components and apply advanced theming to maintain visual consistency across the platform.
- Manage complex application state using Angular services or NgRx, enhancing maintainability and debugging ease.
- Integrate front-end with backend APIs, handling errors gracefully and caching responses where appropriate.
- Containerize applications using Docker and orchestrate with Kubernetes.
- Automate cloud deployment and resource provisioning via AWS CLI/SDK.
- Participate in building CI/CD pipelines with tools like GitHub Actions or GitLab CI, supporting automated testing and deployments for both front-end and back-end components.
- Use Git for version control, follow branching best practices, and collaborate through pull requests.
- Debug and test APIs with Postman, Bruno, or DevTools, and benchmark performance using JMeter.
- Apply static analysis tools such as SonarCloud and SonarLint to maintain code security and quality.
- Contribute to design documentation including component, workflow, and sequence diagrams to support scalable system architecture.
- Implement authentication and authorization workflows using Spring Security, OAuth 2.0, and JWT.
- Ensure compliance with OWASP guidelines for data protection, encryption, and secure coding.
- Write and maintain unit and integration tests using JUnit, Mockito, Jest, Jasmine, or Cypress.
- Automate regression and UI testing to increase release reliability and coverage.
- Perform performance testing and optimize through caching, query tuning, and lazy loading.
Soft Skill Requirements
- Effective Communication: Clearly express technical ideas in meetings, documentation, and cross-team discussions. Adapt communication styles to collaborate effectively with global teams and diverse stakeholders.
- Teamwork & Collaboration: Work effectively within cross-functional teams, actively contributing to discussions and leveraging virtual collaboration tools such as Slack and Zoom.
- Code Review & Constructive Feedback: Actively participate in structured code reviews, providing meaningful feedback to ensure high-quality, maintainable, and efficient code.
- Problem-Solving & Adaptability: Analyze complex issues, troubleshoot backend performance and reliability problems, and work effectively even when requirements are unclear or evolving.
- Continuous Learning & Growth: Stay up to date with emerging technologies, participate in mentorship activities, and take initiative in learning new tools and frameworks to improve development processes.
- Professionalism & Accountability: Take ownership of assigned tasks, meet deadlines with minimal supervision, and uphold ethical coding practices while maintaining transparency in technical challenges.
Additional Expectations
- Mentorship & Knowledge Sharing: Provide guidance and support to less experienced engineers, fostering a collaborative and growth-oriented team environment.
- Stakeholder Awareness: Understand how engineering decisions impact client needs and collaborate effectively with product and business teams to ensure alignment with priorities.
- Greater Ownership & Initiative: Take increased responsibility for assigned work, proactively engaging in discussions, and driving improvements in development practices.
This role is ideal for engineers who are self-starters, adept problem-solvers, and committed to delivering high-quality solutions. This full stack role blends both backend system design and front-end user experience to create robust, end-to-end digital products.