Role Description:
As a Junior Software Engineer, you will work with experienced engineers and cross-functional colleagues to design, implement, test, and maintain software that supports Booking.com products and services. You will contribute to well-defined projects, learn from feedback, and gradually take ownership of increasingly complex technical tasks.
Develop, test, debug, and maintain reliable software.
Translate requirements into clear, maintainable technical solutions.
Participate in code reviews and apply engineering best practices.
Collaborate with product managers, designers, analysts, and other engineers.
Investigate issues and contribute to effective, sustainable solutions.
Write and maintain technical documentation where appropriate.
Learn Booking.com’s systems, tools, and development practices.
Contribute to a culture of knowledge sharing, inclusion, and continuous improvement.
Professional experience or relevant academic/project experience in software development.
Proficiency in at least one programming language, such as Java, Kotlin, Python, JavaScript, or C#.
Understanding of software engineering fundamentals, including data structures, algorithms, testing, version control, and debugging.
Ability to write readable, maintainable code.
Willingness to learn new technologies and work collaboratively.
Good written and verbal communication skills.
A practical, user-focused approach to problem solving.
Experience building or contributing to production software.
Familiarity with APIs, databases, distributed systems, or cloud technologies.
Experience with automated testing and continuous integration.
Exposure to agile development practices.
Contributions to open-source, university, or personal software projects.
You deliver well-scoped work with appropriate support.
You actively seek feedback and use it to improve your engineering skills.
You understand the impact of your work on users and business outcomes.
You contribute positively to team collaboration and technical discussions.
You progressively take ownership of tasks and components.