The Opportunity
A fantastic opportunity to join a fast-growing tech company that aggregates the global tours and experiences marketplace much in the way that flights and hotels have been aggregated over the past two decades. You will be part of the team building both internal and client-facing software systems that drive many of the world’s biggest travel brands.
Your work will merge with that of others and rapidly flow through the companies software development life cycle into the production systems deployed for over 100 partner white label sites and used as integration endpoints for travel systems worldwide.
All of our developers are encouraged to contribute thought and code across the full stack. You will be in a position to influence everything from the database schema through the highly available API to the many branded white-label websites and widgets. You will have the opportunity to work on many different software initiatives that truly make a difference to a sector that is undergoing unprecedented change.
At Holibob we build great software that is both innovative and a delight to use. We are seeking a senior full-stack engineer to join a small team that is building a complex ecosystem using modern software engineering practices and languages. You will have the potential to develop your skills under the mentorship of others in the company. You will have the opportunity to develop your leadership skills as the team continues to scale over the next 18 months.
The Role
You will be one of a pool of senior engineers to join the team. Working with Node and React in a completely serverless AWS infrastructure you will work as a senior member of the team to build a suite of business applications, portals and APIs.
You will bring an in-depth understanding of the Node / React stack and of deployment best practices. You will relish the opportunity to coach and mentor more junior members of the team and collaborate with, challenge and contribute to the strategies of the entire organisation.
You will have experience building projects from scratch in Node, React & NextJS including all elements of the stack from database design through API and UI. You will have excellent visualisation skills and be able to plan a component hierarchy from a flat design.
You will be excited about creating great user and developer experiences and understand that great APIs and interfaces are as much about the simplicity of adoption as they are about the complexity of the operation. You will enjoy working closely with others to flush out the very best ideas secure in the knowledge of your own skills and leadership to then bring these to production.
You are someone who has made a career out of confidently delivering software projects and knowing that they have made a significant contribution to the goals of the organisation they serve.
Day-to-day
Above all, you will write, commit, test and deploy production-ready secure code that advances the goals of the business.
In a single day, you must be capable of managing multiple simultaneous lines of work and communication, you will be energised by working with cross-functional agile teams, based remotely.
As a significant contributor, you will be influential in helping to structure an “agile” process that is fit for the team size and goals of Holibob. You will contribute daily to the scoping, estimating, planning, allocation and execution of software design and development. You will work with senior management, product designers, developers, dev-ops and testers, acting occasionally as an architect with a role in the evolution of the tech infrastructure.
You will be constantly faced with and required to solve business and technical challenges. You will need an inquisitive mindset and an ability to lead discussions internally and with clients to understand requirements and propose solutions and architectures that deliver innovation, value and efficiency in business processes as well as in the software that supports them.
As a senior developer you will:
- Contribute to a massive scale, secure, GraphQL API used by hundreds of the worlds biggest travel brands.
- Ensuring the technical feasibility of UI/UX designs.
- Working with the other engineers to deliver intuitive tools that are a joy to use.
- Share your feedback in design and code reviews to ensure the team is constantly raising the bar.
- Create secure resilient code that can be deployed in a scalable fault-tolerant serverless infrastructure.
- Feel a real sense of achievement from completing and delivering projects in less time than you thought possible.
- Never say “that’s not my job”.
- Always take time to mentor more junior members of the team so that one day they may be as awesome as you are and you can move to the next level!
About You
- You’ve delivered several large agile software projects in the past covering a variety of products including APIs and responsive web applications.
- You relish the challenge of working on multiple interconnected workstreams across the tech stack.
- You’ve worked in a multi-disciplined and highly capable development team, designing and building business systems and data services with an emphasis on global availability, scalability resilience and performance.
- You uphold high engineering standards and, in documenting and explaining these standards, you been able to ensure that the whole team understands and adheres to them.
Key Responsibilities
- Active involvement in the design and development of applications (DB, API, UI).
- Active involvement in the delivery of software, including estimation, planning and releases.
- Work collaboratively in a team of engineers ranging from intern to senior architect.
- Help foster an agile engineering culture that best fits Holibob’s growing team size, velocity and culture.
- Work with product managers and internal business stakeholders, and the CTO to define requirements and plans.
- Compile and maintain good quality systems documentation using tools such as Confluence, Jira and GraphQL Introspection.
- Contribute to the definition and implementation of good engineering patterns and practices within the team and across the wider tech community.
Essential Skills and Experience
- Minimum of 4 years commercial experience delivering Node/React.
- Good knowledge and experience of developing REST or GraphQL web services and APIs.
- Knowledge and experience of deploying to cloud services, particularly AWS.
- Some knowledge and experience of database development, including MySQL.
- Some knowledge of data querying and manipulation using GraphQL is desirable.
- Excellent analytical and problem-solving skills.
- A strong understanding of security practices necessary to protect internet-facing systems from sustained attack.
- Experience of the unique challenges managing state in highly scalable fault-tolerant environments.
- Strong experience of Material UI and/or Styled Components.
- Ability to implement interfaces based on provided UI designs.
- Knowledge of UI optimisation techniques, especially when working with large datasets.
Desirable Experience
- Knowledge of GraphQL.
- Passion for innovation.
- Interest in business strategy and how quality software can drive innovation and business growth.
- Experience with mobile application development using React Native.
- Knowledge of localisation. (I18n).
- Experience storing unstructured JSON data within the context of a relational database (mySql).
The Holibob Tech Stack
The core database underpinning business systems is MySQL running on the AWS Arora distributed infrastructure.
Software stack:
- MySQL - the principal business database deployed in AWS Arora
- Node - backend API deployed on Amazon AWS Lambda
- GraphQL - Written in Apollo - Node, deployed to AWS Lambda accessed via API Gateway as the main API between the UI and the DB
- React / NextJS - frontend user interface, search engine optimisations, single page application
- MaterialUI - providing consistency of components in the U
- React Native - iOS and Android mobile application
Infrastructure Dev/Ops:
Almost 100% of Holibob infrastructure is based within Amazon AWS infrastructure as a service (Iaas) and deployed using CDK. The following AWS services play a critical role in the overall solution.
- RDS Aurora Serverless for MySql 5.7 - Core relational database
- Lambda - Many different use cases from microservices to the core GraphQL API
- Cognito - Authentication Services
- CloudFront - Log aggregation & Metrics
- CodeCommit (GIT) - Version control of all code. Holibob implements the mono-repo approach to microservices
- S3 - Many forms of persistence including over 1M images, all centralised logging and general file storage (Vault)
- Athena - Query engine for logging and analytics
- Certificate Manager - Management of HTTPS and Client certificates for both internal and third-party domains
- Route 53 - Domain management.
- Secrets Manager - Secure storage of infrastructure secrets and credential rolling.
- VPC - Secure communications in a private cloud.
- X-Ray - Trace analytics and performance monitoring.
Process and tools:
- AGILE - estimates, storey points, sprints, demos and flexibility.
- GIt - code versioning.
- Jira and Confluence - documentation and ticket management. Service desk & knowledgebase.
- VS Code - the IDE of choice.
- Serverless & CDK - deployments of code and infrastructure.