Apply for internships at Lunar Logic

Adventure awaits

Become a part of Lunar Logic's internship program

Apply for internships

It’s that time of the year, again. We’re organizing the most unusual software development internships in Kraków. We’re looking for a couple of aspiring software developers who want to join us as Ruby/Android interns for a six month long journey.

We’re looking for people who are focused on helping their teammates shine, who take care of troubled colleagues, and finally who are passionate about becoming software developers. We care a lot about organizational culture so who you are and how you act in a team setup is crucial even if we expect some familiarity with coding.

There are plenty of software companies out there. Why should I apply to Lunar Logic?

We are exceptional on many accounts. We have no managers. None, whatsoever. We aim at being transparent in every aspect. We don’t need to ask permission. Ever. There actually is a long version of the story if you’re interested.

Six months sounds long. Why so long?

While we obviously look at technical skills we care more about your passion and learning skills than your current proficiency level. This means that we want to spend more time during internships to give you more chances to shine. After all, we hope everything will go well and we’d be able to convert you to a permanent Lunar folk.

You mentioned technical skills. What technologies I should focus on?

We expect a basic programming knowledge from the candidates. This time we explicitly look for people who want to work with Ruby/Android.

How does the internship look like?

You will team up with one or a couple of our experienced developer working on a project. You will get everyday support and mentoring from us. You will work on actual products but without pressure to deliver outcomes instantaneously. We aim to help you learn most.

Is the internship paid?

Yes, we always reward the good work. There is a monthly salary of 3000zł net.

How does the recruitment process look like?

We’ll pick the people who we like most, first organize a quick remote coding session with them and later invite them for what we call Happy Hours. During Happy Hours you'll spend a few hours (around 4 in total) with different Lunar folks doing different things with you: coding, chatting, brainstorming, joking, etc.

The application form seems to be pretty extensive. Why?

We want to get a feeling what kind of person you are, how you act in a team, and why you care about becoming a software developer. It is your chance to show as much of yourself as possible. So if you give a damn, show it when answering our questions.

What can I do to increase my chances of making it to the Happy Hours?

Get familiar with what Lunar is. Our blog is a good place to start, and the post about hiring may be specifically useful. Be open and personal. We seriously want to know more besides the fact that you want to learn to program and work in a cool company. Think of your superpowers. Everyone has them even if they don’t realize that. You do too. Tell us why Lunar would be a great place for you and why you would be a great addition to our team. It will work only if it’s a win-win. We won’t know whether it would be so unless you tell us about your aspirations and your perception of the company. Be honest and transparent. We simply like it. And remember, there are no wrong answers here.

Am I going to work from the office or remotely?

We believe that working from the office is a great start, especially for interns. There are more opportunities to interact with experienced developers, brainstorm the solutions, learn some of the Lunars' stories, and have fun! Of course, it doesn't mean you will need to be at the office everyday. If needs be, working remotely from time to time is also fine.

🦄 We welcome people with disabilities, people of any race, color, age, sex, origin, religion, sexual orientation, gender identity or expression. Let us know how we might make our environment more welcoming for you and we will help you thrive.

Apply

Registration closes on December 5th

Programming task

Description

This is a numpad that you will use to enter a PIN code:
1 2 3
4 5 6
7 8 9

At the very beginning you start with "5", afterwards you always start with a previous button and move your finger accordingly to the instructions. The instructions consist of letters that tell you how to move your finger: U (move up), D (move down), L (move left), R (move right). Instructions consist of multiple lines. At the end of every line (and only there) you actually need to press the button you're on. The pressed buttons are the PIN code.

Examplary solution

Given that instructions are: RUU
DDDL
URLLL
Starting with "5" you move right to "6", then you move up to "3", then you're supposed to move up again but you can't so you stay at "3". You reached the end of the line so "3" is the first digit of your pin code. Then you're on the second line of instructions. You start with the last digit ("3"). You move down to "6", then again down to "9", then down again but you can't move so you stay at "9" then you move left to "8". You reached the end of the line so "8" is the second digit of the pin code. The third line - you start with "8", move up to "5", move right to "6", move left to "5", move left to "4", you should move left again but can't so you stay at "4". "4" is the last digit of the pin code. So for these instructions the PIN code is 384.

Example to solve

Please solve the following exercise and find a PIN code for this set of instructions: RLRLLLULULULUUDUULULRDDLURURDDLDUUDDLRDDUUUDD
LDLRLDDDLUDRDRRUDUURLRULLUDDRLURLUULDLLRLLUDLRLRUDLULRLRRL
LLRRDURRDLDULRDUDLRDRDRURULDU
DULRRDRLRLUDLLURURLLRLRDLLDLLDRDUURL
DUULULUUDUDLLRLRURULLDLRRLURDLLDUDUDDRURRLUDULULD
Write a small application/function/class (depending on your technology), that accepts input instructions and returns the correct PIN code.