As a Senior Full Stack Developer, you will be responsible for designing, developing, and maintaining both the back end and front-end components of our software applications. You will be providing good code quality, quality reviews, Sound PR creation and guide your junior co-workers. You will work closely with cross- functional teams to deliver high-quality, scalable, and performant solutions that meet our customers' needs.
Key Responsibilities
Back End Development
- Utilise Node.js, TypeScript, and NestJS to architect and develop robust and scalable server-side applications.
- Design and implement RESTful APIs and microservices on AWS cloud infrastructure.
- Implement authentication and authorisation mechanisms for secure access to services.
- Integrate with third-party services and APIs as required.
- Deploy and manage application containers using Docker for efficient deployment and scaling.
- Utilise PostgreSQL for database design, optimisation, and management.
- Implement real-time communication using MQTT for efficient data exchange.
Front End Development
- Develop responsive and interactive user interfaces using React, Redux, and TypeScript.
- Integrate real-time data streams using MQTT for seamless user experiences.
- Implement state management and data flow architecture using Redux for efficient application state management.
- Collaborate with UI/UX designers to ensure the application's usability and visual appeal.
- Utilise Material UI for designing consistent and aesthetically pleasing user interfaces.
General Responsibilities
- 7+ years of experience
- Collaborate with product managers, designers, and other stakeholders to gather requirements and define project scopes.
- Write clean, maintainable, and well-documented code following best practices and coding standards.
- Perform code reviews and provide constructive feedback to team members.
- Troubleshoot and debug issues across the stack in a timely manner.
- Stay up to date with the latest technologies, trends, and best practices in software development.
- Continuously improve development processes and tools to increase productivity and efficiency.
Qualifications
- Bachelor's degree in computer science, Engineering, or related field (or equivalent experience).
- Proven experience in full stack development with proficiency in the specified tech stack.
- Strong understanding of software engineering principles, design patterns, and best practices.
- Experience with cloud services, particularly AWS, for deploying and managing applications.
- Solid understanding of relational databases, particularly PostgreSQL.
- Familiarity with containerisation technologies such as Docker.
- Experience with real-time communication protocols like MQTT is a plus.
- Excellent problem-solving and analytical skills with a strong attention to detail.
- Ability to work both independently and collaboratively in a fast-paced environment.
- Excellent communication and interpersonal skills.