About The Job
We currently have exciting opportunities for Full Stack Staff Software Engineers to join our Digital Engineering team. In this role, you'll play a key part in architecting and developing high-performance, scalable web applications across both front-end and back-end systems.
What You’ll Do | Key Accountabilities
- Architect, design, and develop scalable and performant full-stack web applications, leading the development of both front-end (React/Next.js) and back-end (Java/Node.js) components.
- Back-End Development (Java): Build and optimize Java-based back-end systems, including microservices, APIs, and databases. Ensure systems are scalable, performant, and maintainable.
- Front-End Development (React/Next.js): Develop dynamic, responsive, and interactive user interfaces using React/Next.js, focusing on writing clean, modular, and maintainable code.
- Node.js Services: Design and implement efficient, event-driven, and scalable services using Node.js, ensuring high availability and performance.
- Collaboration: Work closely with product managers, designers, QA engineers, and other stakeholders to define requirements and deliver high-quality software solutions.
- Mentorship & Leadership: Provide technical leadership and mentorship to junior engineers, guiding them in best practices, code quality, and system design.
- Code Reviews & Best Practices: Conduct peer code reviews, establish coding standards, and ensure best practices for software development, including testing and deployment.
- Performance Optimization: Focus on optimizing performance, including database queries, and addressing scaling issues to handle increasing load and traffic efficiently.
- Agile Methodology: Participate in Agile development processes, including sprint planning, retrospectives, and contribute to continuous improvements in engineering practices.
What You’ll Bring | Skills & Experience
- Bachelor’s degree or greater in computer science or equivalent.
- Overall 12+ years of applicable experience.
- Java: 8+ years of experience building scalable, enterprise-level back-end systems using Java (e.g., Spring Boot).
- React/Next.js: 4+ years of experience with React/Next.js, including state management (e.g., Redux, Context), hooks, component-based architecture, and responsive design.
- Node.js: 4+ years of experience developing server-side applications with Node.js, including experience with RESTful APIs and GraphQL.
- Databases: Hands-on experience with relational (e.g., PostgreSQL, MySQL) and NoSQL (e.g., MongoDB) databases, including schema design, query optimization, and transactions.
- Cloud & DevOps: Familiarity with cloud platforms (AWS, Azure, GCP) and containerization tools (e.g., Docker, Kubernetes).
- API Design: Expertise in designing and consuming RESTful APIs, working with third-party APIs, and ensuring secure and efficient data flow across services.
- Unit Testing: Experience with automated testing frameworks (e.g., JUnit, Mocha, PyTest) and a strong focus on test-driven development (TDD) for both back-end and front-end code.
- Version Control: Proficiency in Git, including branching, pull requests, and managing large codebases.
- Agile Methodologies: Experience working in Agile teams using Scrum or Kanban methodologies.
- Leadership Experience: Prior experience leading or mentoring a team of engineers, contributing to technical strategy, and driving initiatives to improve engineering practices.
- Problem-Solving & Leadership: Strong analytical skills with a passion for solving complex technical problems. Proven ability to take ownership of projects and provide technical leadership and mentorship to team members.
- Communication & Collaboration: Excellent verbal and written communication skills, with the ability to explain complex technical concepts to both technical and non-technical stakeholders. A collaborative mindset with the ability to work effectively across cross-functional teams.