Advance Search

Browse Jobs

Senior Software Engineer

Posted a month ago

  • London, Greater London
  • Any
  • External
  • Expires In 2 months
Job DescriptionLead Back-End Software Engineer (Permanent Contract)Job Title: Lead Back-End Developer (with some DevOps is a bonus)Your strongest Languages will be: Javascript, Go, SQLThe Key Technologies where you will have specific strengths are: Node, Postgres, and Docker.Location: Flexible / Hybrid – South East UK / London (City)Salary: c£110 - £120K Fixed (Flexible depending on experience) + 10% Bonus + Excellent benefits package tailored to the successful candidate.This is a fantastic opportunity to join a scaling organisation; to take ownership of of the creative direction of a fast growing international online learning platform in the EdTech sector; with the opportunity to have a career journey and financial journey as the product grows!The CompanyThe company, established over 8 years ago, is one of the UK’s leading providers of online courses for software programming, with graduates going on to work for clients such as Twitter, Google, Amazon and Apple.What started as an in-person programming bootcamp, is now one of the largest online coding schools with over 1 million students worldwide.Using their deep expertise in online education, the company now seeks to recruit engineers to develop a new and innovative online learning platform.The online platform is currently live and running on a limited feature set but already has over 80,000 active users. There are strategic plans to build out the platform to deliver an interactive learning experience that goes beyond the usual online videos, badges and streaks.The role of Lead Back-End Software EngineerDue to business growth and the strategic plans to build out the online learning platform, the company is now hiring for a senior level Back-End Software Developer who is looking to take ownership of the back-end development and DevOps function.The role will offer autonomy, ownership, creativity, problem-solving while offering flexibility in working. This is an opportunity to make a big mark on a new product and business in the realm of education technology.As the platform develops and your role becomes successful, the founders are committed to offering further financial incentives.Which technical skill sets are we looking for from our Lead Back-End Software EngineerYou will have an excellent Back-End technical skillset and a history of successful backend development.You will ideally have DevOps experience in deploying and maintaining self-hosted services on bare metal infrastructure (e.g.,OVH, MinIO, Uptime Kuma etc).You are curious and like solving challenging problems. You are proactive in nature and keen to take ownership in building out a new product. You enjoy working in a small team and have the ability to collaborate effectively.The Key Technologies where you will have specific strengths are: Node, Postgres, and Docker. Experience with deployment and analytics tools such as Ansible, Grafana, pghero etc.Your strongest Languages will be: Javascript, Go, SQLKey Responsibilities of our Lead Back-End Software EngineerYou will: Implement backend functionality and features e.g building API for front-end, optimising response speed, image compression, payments-processing, OAuth management amongst others.Handle backend integration for services such as a code execution platform, authentication, and other API’s.DevOps - Handle deployments to production. Maintain self-hosted services on bare metal server infrastructure.Database management - Maintain efficiency, handle migrations, and manage the Postgres database. Identify performance bottlenecks.Analytics - build out queries and data analytics to monitor and find ways to improve the student experience as well as monitor the growth of the businessDetailed Responsibilities:Backend Architecture and Design: designing the architecture of the backend systems behind the online learning platform. This includes making decisions about databases, data storage, server infrastructure, and APIs. Ensure that the backend is scalable, efficient, and capable of handling the application's requirements.Backend Development: Developing and maintaining the core backend components of the software application. This involves writing server-side code, creating APIs, and implementing business logic to handle data processing and communication between the frontend and backend.Database Management: Design database schemas, optimise queries for performance, and ensure data integrity and security.API Development: Creating and maintaining APIs for enabling communication between different parts of the application, as well as external integrations. Design and document APIs, handle authentication and authorization, and ensure API security.Performance Optimization: Optimising the performance of backend systems. This includes identifying and resolving bottlenecks, improving response times, and optimising resource utilisation.Security: Implement security best practices, protect against common vulnerabilities (e.g., SQL injection, XSS), and handle user authentication and authorization.Testing and Quality Assurance: Writing unit tests, integration tests, and automated test scripts to ensure the reliability and correctness of backend code. Participate in code reviews to maintain code quality.Scalability and Load Handling: Designing backend systems to handle high traffic loads and scaling resources as needed to accommodate growing user bases.Monitoring and Logging: Implementing monitoring and logging solutions to track system performance, detect issues, and troubleshoot problems proactively.Collaboration: Collaborating with frontend engineers, product managers, and other cross-functional team members to define and implement features, ensuring alignment with business goals.Mentorship and Leadership: As the role grows, there is the opportunity to provide mentorship to new junior team members, help with onboarding new hires, and contribute to the technical leadership and direction of the team.Documentation: Creating and maintaining documentation for the backend systems, including architecture diagrams, API documentation, and development guidelines.Tech Stack Evaluation: Staying up-to-date with the latest technologies and evaluating their suitability for backend development, potentially advocating for the adoption of new tools or frameworks when appropriate.Bug Fixing and Maintenance: Addressing and resolving backend-related bugs and issues, as well as providing ongoing maintenance and support for the backendWe are especially excited if you have (but not essential):Prior experience building education technology.Prior experience teaching and what effective education looks like.
#J-18808-Ljbffr
Apply