Booking NL
Fullstack Software Engineer (For independent contractors)
Job Summary:
Senior Software Engineer I autonomously delivers business impact across a team, delivering capabilities or technical systems. They are an expert at identifying the right solutions to solve ambiguous problems that require tough prioritization.
Senior Software Engineer I is a strong technical leader within their team while their impact extends outside the team as they increasingly optimize beyond their team by driving cross team initiatives. Senior Software Engineers may occasionally work across teams to ensure the right solution is in place.
Senior Software Engineer I plays a key role in setting technical strategy for business impacting projects, defining technical roadmaps often involving cross team dependencies. They actively coach and mentor less experienced members of the team by helping them with their craft, providing guidance and setting a good example.
Key Responsibilities
Building software applications
Is responsible to build software applications by using relevant development languages and applying knowledge of systems, services and tools appropriate for the business area
Is responsible to write readable and reusable code by applying standard patterns and using standard libraries
Is responsible to refactor and simplify code by introducing design patterns when necessary
Is responsible to ensure the quality of the application by following standard testing techniques and methods that adhere to the test strategy
Is responsible to maintain data security, integrity and quality by effectively following company standards and best practices
End to End System Ownership
Has sufficient knowledge to own a service end to end by actively monitoring application health and performance, setting and monitoring relevant metrics and act accordingly when violated
Has sufficient knowledge to reduce business continuity risks and bus factor by applying state-of-the-art practices and tools, and writing the appropriate documentation such as runbooks and OpDocs
Has sufficient knowledge to reduce risk and obtain customer feedback by using continuous delivery and experimentation frameworks
Has sufficient knowledge to independently manage an application or service by working through deployment and operations in production
Technical Incident Management
Is responsible to address and resolve live production issues by mitigating the customer impact within SLA
Is responsible to improve the overall reliability of systems by producing long term solutions through root cause analysis
Is responsible to keep track of incidents by contributing to postmortem processes and logging live issues
Architectural Guidance
Has basic knowledge to advise product teams towards a technical solution that meets the functional, nonfunctional & architectural requirements by challenging the rationale for an application design and providing context in the wider architectural landscape
Has basic knowledge to set a clear direction for a technical capability by evaluating and aligning the target architecture improvements, reframing architectural designs and decisions for varied stakeholder
Software Systems Design
Has sufficient knowledge to evaluate possible architecture solutions by taking into account cost, business requirements, technology requirements and emerging technologies
Has sufficient knowledge to describe the implications of changing an existing system or adding a new system to a specific area, by having a broad, high-level understanding of the infrastructure and architecture of our systems
Has sufficient knowledge to help grow the business and/or accelerate software development by applying engineering techniques (e.g. prototyping, spiking and vendor evaluation) and standards
Has sufficient knowledge to meet business needs by designing solutions that meet current requirements and are adaptable for future enhancements
Critical Thinking
Is responsible to systematically identify patterns and underlying issues in complex situations, and to find solutions by applying logical and analytical thinking.
Is responsible to constructively evaluate and develop ideas, plans and solutions by reviewing them, objectively taking into account external knowledge, initiating 'SMART' improvements and articulating their rationale.
Continuous Quality and Process Improvement
Has sufficient knowledge to identify opportunities for process, system and structural improvements (i.e performance gains) by examining and evaluating current process flows, methods and standards.
Has sufficient knowledge to design and implement relevant improvements by defining adapted/new process flows, standards, and practices that enable business performance.
Effective Communication
Is responsible to deliver clear, well-structured, and meaningful information to a target audience by using suitable communication mediums and language tailored to the audience
Is responsible to achieve mutually agreeable solutions by staying adaptable, communicating ideas in clear coherent language and practising active listening
Is responsible to ask relevant (follow-up) questions to properly engage with the speaker and really understand what they are saying, by applying listening and reflection techniques
Requirements and skills:
Bachelor degree
Minimum 5 - 7 years of relevant experience
Typescript
React
Harness
Git
Kubernates & Docker
Node.js
GraphQL (Apollo)
Nice to haves:
Perl
Java
DB Technologies
SQL