Sr. FullStack Engineer
Job Description: We are seeking a highly skilled and experienced Senior Full-Stack Engineer with a minimum of 5 years of hands-on experience in both backend and frontend development. The ideal candidate will be proficient in the latest technologies and possess a deep understanding of software architecture, design patterns, and best practices. As a Full Stack Developer, you will play a key role in designing, developing, and maintaining our web applications, ensuring high performance, responsiveness, and seamless user experiences.
Responsibilities:
- Full-Stack Development: Collaborate with cross-functional teams to design and implement end-to-end solutions, bridging the gap between the frontend and backend aspects of our applications.
- Backend Development: Develop robust and scalable server-side applications, APIs, and databases using cutting-edge technologies and frameworks. Ensure high performance, security, and reliability of backend systems.
- Frontend Development: Create responsive, user-friendly interfaces using modern frontend frameworks such as React, Next.js, Angular, or Vue.js. Implement and maintain visually appealing and intuitive user experiences.
- Architecture and Design: Participate in architectural discussions and decisions, providing expertise in designing scalable and maintainable software solutions. Drive best practices in coding, testing, and documentation.
- Code Review and Collaboration: Conduct and participate in code reviews to maintain code quality. Collaborate effectively with other team members, including designers and product managers.
- Performance Optimization: Identify and address performance bottlenecks in both frontend and backend components. Implement optimizations to enhance application speed and efficiency.
- Technology Stack: Stay abreast of the latest trends in web development and advocate for the adoption of new technologies and tools that can improve development processes and product quality.
Requirements:
- Education: Bachelor's degree in Computer Science, Engineering, or a related field.
- Experience: Minimum of 5 years of professional experience in full-stack development, with a strong emphasis on both frontend and backend technologies.
- Backend Technologies: Proficiency in building backend services and APIs using Node.js/TypeScript (NestJS) and/or Python (FastAPI, Django/Flask).
- System Design: Experience designing scalable, resilient services (service boundaries, data modeling, caching, messaging, observability, and performance considerations).
- Software Design: Strong knowledge and hands-on use of SOLID principles, common design patterns, and clean code practices.
- DDD (Domain-Driven Design): Experience applying DDD concepts (bounded contexts, aggregates, entities/value objects, domain events) to structure complex systems.
- API Design: Strong understanding of REST API design (resource modeling, versioning, pagination, error handling, idempotency, and documentation).
- Authentication & Security: Experience with OAuth2/OpenID Connect, Identity Providers (IdP) concepts, and basic cryptography concepts (hashing, encryption, signing, key management) applied in software.
- Cloud: Experience deploying applications on AWS (e.g., compute, networking, storage, IAM) and working with cloud-native patterns.
- CI/CD: Hands-on experience building and maintaining CI/CD pipelines (build, test, security checks, deploy) and release processes.
- Testing: Solid knowledge of unit testing (test design, mocking, coverage) and experience with automated testing practices.
- Software Engineering Good Practices: Code reviews, refactoring, documentation, observability, and collaboration in an Agile environment.
- Frontend Technologies: Expertise in modern frontend frameworks, such as React, Angular, Typescript, or Vue.js. Strong HTML, CSS, and JavaScript skills.
- Database: Experience with relational and non-relational databases (e.g., MySQL, PostgreSQL, MongoDB).