Job description
Responsibilities
Server-side Application Development:
- Develop and maintain server-side applications using Node.js, JavaScript, and relevant frameworks (e.g., Express.js).
- Implement business logic, data manipulation, and algorithmic functions to support application functionality.
- Collaborate with front-end developers to integrate server-side logic with user interfaces.
API Design and Development:
- Design and develop robust and scalable RESTful APIs or GraphQL endpoints to support client applications and third-party integrations.
- Implement authentication and authorization mechanisms, such as JWT (JSON Web Tokens) or OAuth, to ensure secure access to APIs.
- Optimize API performance by implementing caching, pagination, rate limiting, and efficient data retrieval techniques.
Database Integration and Management:
- Integrate applications with databases such as MySQL, MongoDB, or PostgreSQL using ORM (Object-Relational Mapping) libraries or native database drivers.
- Design database schemas, optimize queries, and implement data models to ensure efficient and reliable data storage and retrieval.
- Perform database migrations, backups, and recovery procedures as necessary.
Code Optimization and Performance:
- Write clean, maintainable, and efficient code following best practices and coding standards.
- Identify and resolve performance bottlenecks, memory leaks, and other issues impacting application performance.
- Use profiling and monitoring tools to analyze and optimize application performance and resource usage.
Testing and Quality Assurance:
- Write unit tests, integration tests, and end-to-end tests to ensure the reliability and stability of the application.
- Conduct code reviews and participate in peer programming sessions to maintain code quality and share knowledge.
- Collaborate with quality assurance teams to identify and resolve software defects and improve test coverage.
Documentation and Collaboration:
- Document technical specifications, API endpoints, and architectural decisions to ensure maintainability and knowledge sharing.
- Collaborate effectively with cross-functional teams, including front-end developers, product managers, and system administrators, to understand requirements, provide technical insights, and deliver solutions.
Requirements
- Bachelor's degree in computer science, software engineering, or a related field (or equivalent experience).
- Proven experience as a Node.js Developer or similar role, with a strong portfolio demonstrating back-end development expertise.
- Proficiency in JavaScript and Node.js runtime environment, including relevant frameworks (e.g., Express.js, Koa.js, Nest.js).
- Strong understanding of asynchronous programming, event-driven architecture, and the non-blocking nature of Node.js.
- Experience with RESTful API development, including API design principles, authentication mechanisms, and data validation.
- Familiarity with database systems, such as MySQL, MongoDB, or PostgreSQL, and expertise in database integration and management.
- Knowledge of testing frameworks (e.g., Mocha, Jest) and testing methodologies for Node.js applications.
- Familiarity with version control systems (e.g., Git) and collaborative development workflows.
- Understanding of security best practices, such as data encryption, input validation, and protection against common web vulnerabilities.
- Strong problem-solving skills and the ability to think critically and analytically.
- Excellent communication and teamwork skills to collaborate effectively with diverse stakeholders.
- Attention to detail and a commitment to writing clean, maintainable code.
- Experience with cloud platforms (e.g., AWS, Azure) and containerization (e.g., Docker) is a plus.
Job Types: Full-time, Permanent
Salary: £21,600.00 per year
Benefits:
- Employee discount
- Store discount
Schedule:
- Every weekend
- Monday to Friday
- Weekend availability
Supplemental pay types:
- Loyalty bonus
- Performance bonus
Ability to commute/relocate:
- Gloucester, Gloucestershire: reliably commute or plan to relocate before starting work (required)
Education:
- Bachelor's (preferred)
Experience:
- Graphic design: 5 years (preferred)
Work Location: In person
Application deadline: 18/06/2023
Reference ID: TEL0200
Expected start date: 01/08/2023