Summer internship: Back-End Software Engineer
Do you want to get a feel for real working life? To put your theoretical knowledge into practice and acquire new software engineering skills? Join us as a software engineer for a summer internship! We organize this internship in cooperation with Proteus Eretes rowing club, but if you are not a member of Proteus you can still apply!
What are you going to do?
What are you going to do?
It’s quite simple: you will be learning new technologies and applying those in practice when you are engineering a feature that will be used by our clients. To ensure you get off to a great start, you will get dedicated guidance from an experienced software engineer who will serve as your coach. Furthermore, we divide the summer internship into two parts:
- Getting to know our company, development stack, and work processes
- Developing a feature
Part 1: Getting to know our company, development stack, and work processes
You will receive a crash course on our development stack
We will begin with a series of basic courses to introduce you to our company and work processes. Additionally, you will have several one-on-one interviews with employees to discuss their roles within the organization, which gives you the opportunity to ask any question you may have.
You will also receive a crash course on our development stack, ensuring everyone starts on the same foundational level. To accomplish this, we use Code Academy, and you will complete the following courses:
- Learn TypeScript
- Learn SQL
- Learn PHP
Part 2: Developing a feature
You will be involved in every phase of feature development
We have an exciting project in store for you that we’re keeping under wraps for now, but trust us, it's going to be amazing! With your fellow summer Internshippers and coach, you will engineer a feature that is going to be used by real clients. Therefore you will be involved in every phase of feature development. This means specifically that you will:
- Join a feature planning meeting where you discuss and decide how to solve a problem from an end-user perspective.
- Write a short feature solution proposal with your team for the product owner.
- Break down the feature into small tasks and divide them among the team.
- Implement the solution with modern techniques in such a way that’s test-driven and applies the principles of continuous delivery.
- Code review your colleague’s work and process their feedback on your work.
- Test whether the feature meets our quality standard before deploying it with your team.
You’ll mainly learn through doing because we believe your learning curve will be steeper if you get stuck in rather than watching from the sidelines! Making mistakes is okay because this is when you learn the most.
Is a summer internship an option for me?
You are a match if you:
- Love software engineering.
- Like working in a multidisciplinary team, so you can learn from each other.
- Like making elegant solutions for complex technical puzzles.
- Are willing to learn and want to improve your development skills.
- Are available from the 1st of July till the 9th of August (six weeks) for 32 hours a week at our office.
- Already have some experience with engineering through a side job, freelance work, your studies, or your hobbies.
- Want to work with our development stack:
- Front-end: React + TypeScript
- Storybook for UI testing
- Back-end: Node.JS, TypeScript + PHP
- MariaDB (MySQL) database
- Jenkins for CI/CD
- Want to work for an experienced, agile company.
- Want to join us on our mission to make effective learning available to as many employees around the world as possible.
What do we offer?
We learn from our mistakes and work in a way that prioritizes learning over results
- Focus on personal growth and development. We learn from our mistakes and work in a way that prioritizes learning over results.
- An open and diverse team of young and experienced colleagues
- A calm company that cares about its employees, physically and mentally. For instance, we offer monthly chair massages, healthy lunches, and a green office. On top of that: we don’t do overtime
- An agile environment with a lot of freedom, responsibility, and flexibility to achieve a work/life balance that fits you.
- We alternate normal working weeks with play weeks, where we step away from our daily work and dedicate time to side projects and experimenting with (new) technical stuff.
- We provide you with all the hardware you need to do your job, such as a sitting/standing desk, multiple screens, monitor glasses, etc.
- We celebrate success and alternate smart and focused work with relaxing moments, like barbecuing and Friday afternoon drinks!
- An attractive salary and secondary benefits.
Possibilities after the summer internship
Are you still eager to improve your engineering skills after the summer internship and would love to stay at our company? That’s possible. After your summer internship, you are ready for a side job. We would happily offer you a chance to grow as a software engineer. Several former interns followed the same route, like Rens and Dennis. They started as interns and stuck with us for years.
Do you want to get a feel of what it is like being a summer intern?
Our ex-intern Dennis shows how he has experienced it. From the moment he met us till his final day of the internship. “It was pretty awesome to build something that clients will use.”
Also, former summer intern and now junior back-end software engineer, Lucian, recommends the summer internship. "I learned a lot just through pair programming. I also felt very welcome. What stuck with me the most was the relaxed atmosphere."
The day of a software engineer intern in a nutshell
Let's assume you are in the fourth week of the internship:
9:00 First, a cup of coffee and time to read up on important communication.
9.15 You prepare for the stand-up with your team.
9.30 Stand-up time at the office! You tell the team about your progress and ask a senior software engineer to help with writing acceptance tests for your subtask.
10.00 You complete your subtask with the help of a senior colleague. Your subtask is part of the story to make the delete account feature fully self-service. You commit your work and request a code review.
11.00 It's time to pair program. You want to learn more about Node.js, so our senior developer decides to develop the next subtask of the story with you.
12.00 A colleague peer-reviewed the code of your first subtask. You walk through the comments together. Your colleague shows you a more sustainable way to solve the technical problem.
12.30 Lunchtime! We serve an extensive bread lunch with boiled eggs, local cheeses, and biological spreads.
13.00 You start refactoring your code. You mastered a new approach, profit! You push your subtask to Git and all tests pass. Nice!
13.30 Time to do the manual QA for the story with your team. You discover one bug and solve it together with your teammates!
14.30 The self-service story is done! Everything works as expected, so it's time to deploy. Within 10-15 minutes, all clients worldwide will be using the new feature!
15.00 Time to unwind! You go for a walk to the Delft city center with your colleagues. Time to discuss the latest episode of House of the Dragon.
15.15 You have a meeting with your coach to discuss what your next story will be.
15.45 You write a proposed solution and get approval from the product owner immediately! You can write the acceptance criteria in user story format and create subtasks.
16.30 Another engineers asks you to review his code. It is always interesting to see how others solve things! You leave some remarks and questions to understand what the other software engineer tried to do.
17.30 You make notes so you can continue easily next day. You give your team a final update about your story.
We're using a different application process for our summer internship compared to our usual procedure. Check out here how you can snag the coveted internship spot in six steps.
Do you want to join our team this summer, and enhance your knowledge and skills? Please explain your motivation in an email and send it with your resume to email@example.com. Do you have questions about this internship? You can contact Caroline Heijkoop on +31 683712762.