Other

Summer 2023 Internship at Software Mansion

Marcin SkotnicznyMar 21, 202311 min read

Edit: The application deadline has been extended until May 3rd, 2023.

This year marks the 10th time we are inviting you to join us for the Summer Internship Program at Software Mansion. During the last 9 years, over 90 people joined us for the summer, and most of them stayed with us until today. We hope that, like in previous years, this will be an opportunity for many of you to either start your career in Software Engineering or to switch to a new, more challenging job.

TL;DR

What: Software Engineer Summer Internship 2023 Where: Kraków, our office at ul. Zabłocie 43B When: July–September 2023 (earlier start is possible) How much: 6500–13500 PLN gross monthly Apply here: https://jobs.swmansion.com/o/software-engineer-summer-internship-2023/c/new Application deadline: April 30th, 2023 Questions and contact: [email protected]

We are a company specializing in creating great developer experiences. We fulfill our mission by working on exciting projects with our clients, by building top-notch developer tools, and by working hard on making sure that the efficient work is also satisfying. While we are a software development agency offering a broad spectrum of services, we have gained some notoriety in a couple of domains — in particular when it comes to React Native and the area of multimedia streaming.

What criteria should I meet?

We are not looking for any particular skills. Instead, we are looking for smart, curious, and versatile people with an engineering mindset. In fact, it doesn’t really matter to us what technologies you have experience with — it helps if you do know the technologies we use, but if you don’t, you should have a pretty good knowledge of some by the end of the internship. It is however expected that you already know the core basics of programming — but if you survived two or three years of Computer Science or a similar major, you should know enough.

What do I need to know to apply?

The recruitment process is open to everyone, no matter their educational background or age. We don’t have any formal requirements on what you need to know to apply, but you will be expected to be able to perform basic programming tasks by yourself. We also require a solid knowledge of English (B2 or higher). Don’t worry about it too much though, if you are able to read this article without problems, you should do okay.

During the recruitment process, you might be asked about the following basic topics:

  • basic algorithms and data structures,
  • common programming paradigms and patterns,
  • basics of memory management (pointers, references, garbage collector, etc.),
  • networking (protocols, routing, etc.),
  • databases,
  • basics of web applications (HTML, CSS, REST API, HTTP, etc.),
  • basics of Linux or macOS usage,
  • basic usage of GIT,
  • basics of automatic testing.

It is not a requirement, but it will boost your chances if you know any one of the following advanced topics:

  • basics of DevOps (Docker, Nginx, CI, etc.),
  • basics of mobile development (either Android or iOS),
  • basics of multimedia technologies (image, video and audio formats, streaming and processing),
  • any of the major programming languages or technologies used in Software Mansion.

What will I be working on?

Unfortunately, at this stage, we are unable to tell what project exactly you will be working on, but it certainly won’t be brewing coffee. We want you to be productive and learn as much as possible from week one, and it is very important for us that the internship projects are real projects. On top of that, we are very invested in learning your preferences so that we can have a great fit of projects for everyone.

While we cannot guarantee what technologies you will be using during your internship, the most used programming languages currently at Software Mansion are:

  • JavaScript/TypeScript with React, React Native, Node.js, and Next.js
  • Elixir with Phoenix and Membrane Framework
  • Python with Django
  • Ruby on Rails
  • C, C++ and Rust, mixed with other languages

The teams you can possibly join can be categorized into a few main groups:

Mobile development

We have a few teams of different sizes that work on mobile applications, mostly in React Native, for our clients. As we get closer to the summer, we will update this article with a list of example teams that might accept interns.

Full-stack development

Some examples of the full-stack teams here in Software Mansion:

  • Comm Team — Comm is a distributed chat for web3 and an open-source platform for building distributed, E2E-encrypted apps. This is not a project for the impatient — the technology is unique and complex.
  • dscout Team — dscout is the world’s leading SaaS video research platform. We are working on both React frontend, Elixir backend, and Membrane-based multimedia layer.
  • Global Study Team — Global Study is a platform connecting students looking for education opportunities abroad. This team builds a complete solution from the backend up to React Native mobile app.
  • Moxie Team — this team builds a complete software solution for operating a MedSpa business. In this team, you will have an opportunity to see how a complete team builds a project, from UI design, through Python/Django backend, to React frontend.

We will update this list as we get closer to the summer.

Venture projects

We have several projects that we have invested in, or otherwise are working on for equity. Some of those are:

  • Campy Team — Campy is the most popular app for motorhome campers in Europe. We are responsible, among others, for the development of the mobile app.
  • Rambla Team — We are working on an online video sales platform that will be used by some of the more known global cosmetics brands. We build a backend based on Elixir and Membrane and a frontend in React.

Developer tooling

Teams building developer tools at Software Mansion are, for example:

  • React Native Open Source Team — we are developing and maintaining several important React Native open-source libraries, such as react-native-gesture-handler or react-native-reanimated.
  • Membrane Team — we are building this multimedia streaming framework created in Software Mansion using Elixir, Rust, C, and C++.
  • Expo Team — this open-source platform makes developing mobile apps in React Native easy. The team is split between Software Mansion, the Silicon Valley HQ and several contributors working remotely.
  • StarkNet Team — we are developing tools for the Starknet ecosystem. If you are interested in the technology behind Ethereum blockchain, this is probably the best project for you.
  • Huawei R&D team — together with Huawei Finland R&D, we are working on developer tools for HarmonyOS. Currently, we are working on the Proof of Concept (PoC) project, where we aim to demonstrate the Open Harmony’s capability of running typical React Native apps.

How much will I earn?

Your salary during the internship will be:

  • 6500–7500 PLN gross — if this is your first job as a software engineer (equal to Junior Software Engineer — L1),
  • 7500–10000 PLN gross — if you have prior relatable experience (for example on another similar internship), know some of the technologies we use, and will be able to join a project from day one (equivalent to Software Engineer I–L2),
  • 10000–13500 PLN gross — if you have proven that you can work autonomously in a similar environment to Software Mansion. Usually, this will mean that you have 12 to 24 months of commercial experience as a software engineer in a relatable position using similar technologies to ours. This is equivalent to Software Engineer II–L3.

How to apply?

To start your application process, just go here and register. The deadline for registration is 30th April, 2023, but the sooner you do it, the better are your chances — it should not take you more than a minute, so register ASAP.

Before the interview:

  1. Register: to enter the application process, fill out your basic data: name, email and, optionally, your phone number. You should receive an automatic confirmation by email.
  2. Send your resume: you will be asked to fill out some details about yourself (like education or work history). We don’t require an actual CV, but if you would like to share it, of course, you can.
  3. Tell us more about your motivation: we will ask you to answer some open questions on why you would like to join our internship program and what would you like to get from it.
  4. Solve our recruitment tasks: you will be asked to solve some simple technical tasks. You can expect both an algorithmic task to write some code, and some questions verifying your knowledge and information-finding skills.
  5. Wait for an invitation: after you complete those steps, our committee will decide if we want to invite you to the next step — the interview part. It should not take us more than two weeks from when you complete all the steps. If your application is rejected, you will be informed by email.

The interviews:

Your interviews will be conducted remotely and will consist of the following parts:

  • Interview 1 — Introduction: first, you will have a short (10–20 minutes) chat with our recruiter. During this part, among others, you can expect a short English conversation, and you will have the opportunity to ask any questions regarding the process.
  • Interviews 2 and 3 — Technical interviews: after the introduction, you will have two separate interviews with software engineers working at Software Mansion. Each one of the interviewers will separately assess if you are a good candidate to join the internship program, so don’t be surprised if both interviews are similar. You will be also given the opportunity to ask the interviewer questions about their work. Each interview will take about 60 minutes.
  • Interview 4 — Final interview: if you don’t fail the technical interviews, you will have a short chat with me (CEO of Software Mansion). I will ask you a few questions about who you are and what your motivation is. In return, you will also have the opportunity to ask questions about Software Mansion or the internship program. This should take 15 to 30 minutes and hopefully will not be stressful at all.

You will receive additional instructions on how to prepare for the interviews before they are scheduled. You will be able to select the time and date of each of the steps separately, but at the same time you can be rejected after each step.

The offer:

We do our best to deliver the decision to you no later than a week after the last interview. However, as we want to give each applicant careful consideration, in many cases it will take us two weeks to provide feedback and make a final decision. If you receive an offer, you will be given at least three days to respond, but if you need to extend those three days, just let us know. If you agree to our offer there will be a bit of paperwork to do, but your recruiter will help you get through it.

Project selection:

To select a team for you, we will take into account your preferences obtained during interviews. If there is doubt, we might ask to do some follow-up calls to try to fit you into one of the projects.

Unfortunately, we cannot be 100% sure before the start of the internship what project you will get to work on. Some of the projects require internal interviews; in such a case, we will schedule an interview with the team members behind the project. You don’t have to stress about it though — no matter the result, you will not lose your internship.

Start!

As we expect to hire too many interns to start everyone on a single day, we expect to have a few available dates you can choose to start on. After we agree on a start date, we will let you know what time you should arrive at the office. On your first day, expect to be given several introductions, a few hours to set up your workplace — and in most cases, your first tasks as a software engineer at Software Mansion.

If you have any problems at any step of the process, don’t be afraid to send us an email at [email protected].

Good luck!

F.A.Q.

Q: I need to know your decision early. How long will I need to wait?

A: You will wait around two weeks to get the decision to invite you to the interview and another week to wait for an offer (in some cases in will take two weeks). If you are fast, you should be able to finish the whole process in around three weeks. If you have any special constraints on timing, please let us know!

Q: Will I be able to continue working at Software Mansion after the internship?

A: In 2022, almost every intern received an offer and decided to stay. Historically, more than 2 out of 3 interns stayed at Software Mansion after the internship.

Q: Do I have to be a university student?

A: No. While most of our summer interns are students, this is not a requirement. However, if you are not a student, you can also apply for an internship or a full-time junior position at any time and avoid all that competition.

Q: Can I do the internship on other dates?

A: We will have several starting dates for you to choose from. If you would like to start earlier, it should be possible, but please discuss that with your recuiter.

Q: How much vacation will I have?

A: By default, you will have an equivalent of 5 days of paid vacation (that is, one full week). In most cases, you should be able to take another 5 days of unpaid vacation.

Q: Can I do the internship remotely?

A: No. Unfortunately, we do not offer remote internships.

Q: Is it possible to work remotely after the internship?

A: Yes, if you need to continue your studies in a city other than Kraków, we will provide you with the possibility to work remotely.

Q: I need to relocate to Kraków. Could you help me with that?

A: We are offering a one-time bonus of 1000 PLN for relocation if you study and live outside Kraków. We should also be able to help you find nice accommodation for the time of the internship. We will also show you the best places to visit and party in Kraków :).