Hire motivated talented Ruby/Rails engineers from an educational program today!

So if you are here, you are probably looking for some Ruby/Rails engineers. Many companies (and therefore recruiters) are but they are hard to find. Luckily we have programs in place to get more people, especially woman, into coding, such as Rails Girls (and our local Berlin group) and Open Tech School. With the current shortage of programmers I want to urge you to give alumni of these programs a chance. The programs go far in their support, it ranges from workshops, to weekly meetups and even a full 3 month hands on learning program with good coaching/mentoring like Rails Girls Summer of Code (I wrote about ways to continue to learn here). But the last step of success is mostly out of the hands of those programs. It’s in the hands of companies to give the alumni a chance and hire them as an intern, trainee or junior developer (yes I believe some are ready to be a junior developer).

Why should I hire alumni?

I believe there is one thing you need to especially consider when thinking about alumni from such a program: those people made a deliberate choice to quit whatever their former career was and get into programming. You know it can be hard and rough – especially when you are starting and you are mostly on your own. It takes a lot of determination to go through with it. Determination to sit at home and figure out that one bug in your sample application instead of watching TV or whatever. And a lot of passion.

Also they bring in all their rich experiences from their former careers which can help in a number of ways that none of us can predict. They’ve got ideas that I couldn’t even dream off.

Moreover programming and technology is full of self-taught individuals, so it should be second nature for us to give them a chance. At a recent Berlin JavaScript user group I asked how many attendees had undergone formal computer science education – just ~60% of them raised their hands. Which means ~40% didn’t – quite impressive!

These are not your common graduate students

When you assess these programmers for a position please keep in mind that they haven’t undergone any formal education. They know about Ruby and Rails but they might not know about Java or the lambda calculus or the inner architecture of a CPU or whatever they teach you at a university… (note: I’m studying and am at the end of my Master studies).

The question is: is all that knowledge really important? In my opinion: No it mostly is not! I believe that a lot of this knowledge is not necessary for a specific job and that you can pick up what you need when you face a problem. Example: UTF-8. It’s really great to know how UTF-8, Unicode etc. work but what are the practical implications? For me it mostly boils down to: “Oh look some character is not displaying correctly. Okay let’s change the encoding to UTF-8. Works.”

There also are a lot of things that you rarely ever touch again like Turing machine, formal grammar, details of how the Windows Kernel works, higher math, TCP/IP stack… I could go on. Of course this all depends on your field of work: If you do 3D computation you probably need higher math. If you do network security or some optimizations you need good TCP knowledge (which is totally interesting by the way). But most of the time you don’t and then when you get to it you will have to refresh your knowledge again either way.

Also alumni sometimes might not know what a specific term means (e.g. polymorphism) but chances are they already use the concept – they just don’t know the name.

Meet some Rails Girls Summer of Code alumni

As you might know I’m from Berlin and so I know some of the local teams. A lot of them are looking for jobs right now and I asked them if I could include them in this blog post and here are the people that I know, asked and said yes. I want to highlight that I know all of them as extremely motivated and capable learners and programmers. All of them were coached during the summer by coaches I know and highly respect 🙂

I might not be up to date with their current job status, so some of them might already have a position. In that case, keep them in mind for the future 😉

So without further ado, let me introduce:

Susanne and Tam from Team Highway to Rails

I’ve known Susanne and Tam for some time – they are among the founding members of the rubycorns, a weekly study group that Til and I coach. The two of them have always shown a great interest, motivation and effort (especially when working on homework) in the study group. So it was no surprise to me when they applied for Rails Girls Summer of Code. Unfortunately they were rejected. But here comes the real surprise and what really impressed me: they didn’t even think of giving up. Nor for a second. They buckled up, put in the extra effort and looked for an opportunity how they could make it happen for them either way. That’s some real motivation right there. And they found Absolventa where they did their voluntary Summer of Code as Team Highway to Rails. They worked on event_girl an “open event-logging system with triggers/hooks to run arbitrary tasks when an event is matched or not matched.”.

Want to get in touch with them? Great!

Carla Drago from Team Inchworms

Carla has been one the first students we ever had at Rails Girls Berlin and went on to be one of the founding members our famous first study group the Ruby Monsters. After finishing their initial project the group went on to their next project: the speakerinnen liste. The “monsters”, as we call them, now help on multiple workshops as coaches teaching new attendees Ruby on Rails, which is awesome. As a little fun memory from myself: I once went to their project group meetup several months ago eager to help them with problems. Many didn’t need any help at all and when they did it was a hard problem, that took me quite some time to figure out. During this summer of code Carla worked as a member of team inchworms on sinatra and farmsubsidy. Here is Carla’s LinkedIn.

Laura Wadden from Team Railsgrrls

I met Laura for the first time when she was in my group at our Rails Girls Berlin anniversary workshop. Right from the start I noticed that she had an extraordinary fascination for programming. Laura has a strong background in working with nonprofit organizations, fundraising and event organization as this is what she mainly did before her journey into coding. During this summer she worked on the learners directory and a new programming language on top of Rubinius called lani. I’ve been the mentor for the learners directory, but her deep interest into how programming languages work really impresses me. During the summer of code this team had their own table at the Soundcloud offices – giving them one of the best learning environments one can think of with lots of awesome people around to help. Oh and here is her LinkedIn profile.

Nina Breznik of Team Spree Girls

Nina also had the luck of being able to work from the SoundCloud offices, that’s where I met her. Her team is working on the spree commerce project an online web shop written in Rails. It’s quite the challenge to understand a system as complex as spree, even more so as a beginner. As far as I can tell they are doing well and making progress – also thanks to the supporting environment. You can find her on LinkedIn.

A few words of thank you

Last but not least I want to thank everyone who was ever involved in a free educational program. Be it sponsor, organizer, coach or mentor. You are awesome! Without you all of this would not have been possible. I especially want to highlight Sven Fuchs and TravisCI without whom Rails Girls Summer of Code would not have happened. Period. Also github for their gracious donation (and for being super supportive and awesome in general). And to SoundCloud once again not only for their donation, but for offering work spaces and coaches  to 5 students (did I forget anyone?) and the possibility of an internship for two students afterwards.

I’d really like to thank each individual but this blog post is too long already. So this heart will have to do: But really, thank you so much!

And as for the purpose of this blog post: If you want to hire or just talk to any of the programmers listed here please do so. This of course not only goes for them (those are just the ones that I happen to know pretty well and got permission to “advertise” them). This goes for everyone. There are lots of people out there who want to make a career change and lots of companies in need of good, passionate developers. Get together, together you can reach your goals. Help them make the next step and I’m sure you won’t regret it.

ThoughtWorks Boot Camp

I just spent the weekend in Hamburg at a ThoughtWorks boot camp. So this blog post is for people who want to know what a boot camp at ThoughtWorks is like. Also there is information about ThoughtWorks in this post but if you don’t already know them you should check out their homepage.
Oh on a little side note, since I don’t know whether or not everybody would agree to this I won’t mention names in this post, although this post is solely positive.

Personally it will still take me some time (~ 2 years) to finish my studies, but I’d love an internship at ThoughtWorks and wanted to get into touch with them as soon as possible, that’s why I took the voyage from Sweden to Hamburg.

ThoughtWorks is not your average company. So the hiring process is not average as well, at least not what I’d expect as average – it was my first “real” job interview. And I felt really comfortable but continue reading if you want to know more…

Day 1

The boot camp started off at 8:30 on Saturday with a nice breakfast and a “meet and greet” with some ThoughtWorkers and fellow applicans. The dress code was casual, no one wore a suit. Most people were wearing jeans and a t-shirt or/and a pullover. Everybody was really nice and open. There were ThoughtWorkers present you could just go ahead and talk to them.

One of the key moments for me on the first day was when one of the ThoughtWorkers wanted to tell something about the company in general and suggested that we all just sit down on the floor. I guess this wouldn’t happy in many companies, everybody would sit down in a big meeting room which would give it a real formal flair. It was a cool informal session, we could ask whatever question we wanted and it had a real friendly atmosphere. The atmosphere of a company I want to work in. Some of the key takeaways were that ThoughtWorks has a really flat hierarchy and that you can go to almost everybody and talk to him/her. Moreover ThoughtWorkers travel a lot, to wherever the client is. Therefore it was the first time for many of them that they saw the German office, despite working in the German office for quite some time. Also ThoughtWorkers seem to meet up quite friendly, when they are in the same town in order to have a beer (or 2).

It was emphasized, that we are not competing with each other for a job. ThoughtWorks is looking for talent and will hire the people that they feel fit the company. This philosophy was made apparent when one of the employees told his story: He is Canadian, but they didn’t have a job for him in Canada but wanted to hire him anyway. So they asked him if he would want to work in Australia and he agreed. Since then he has also worked in India and Germany (during the course of 2 years).
All of this resulted in a kind atmosphere in between us boot camp attendees, I got to know some pretty nice people.

After that a coding exercise started, it was a pretty basic task involving the modeling of some real world objects. It was said that we should especially pay attention to 4 things:

  • clean code
  •  good object oriented design
  •  best practices
  •  tests (preferably Test Driven Development)

We had 4 and a half hours time to develop the little application. Two of the developers were our customers we could ask whenever we had a question about the specification. Also we could just chat with each other or some ThoughtWorkers.
When I ran into Ruby problems I’ve never run into before (more on that in a later blog post) another boot camp attendee, that was also doing Ruby, came over and paired up with me to solve the problems since he already solved the problem. Thanks again!

In the end I wasn’t content with my code since so much time passed chasing those weird bugs. But it was still solid and the program did what it was supposed to do. And I learned a lot so those bugs won’t bug me again.

After that we had lunch – ThoughtWorks ordered some pretty tasty pizza. Oh speaking of food and drinks, we could just go to the fridge and grab whatever we wanted and during the coding exercise they would come around and hand us sweets.

After that big break with some good conversations it was time for logic tests. I don’t want to spoil it too much but the first test was difficult because there were 50 questions and just 12 minutes time. The second test was hard because it demanded high concentration and good analytical/algorithmic thinking. I liked the second test pretty much 🙂

After those tests it was again time for interesting conversations and a nice wrap up where everybody said one sentence about what the day was like for him/her. I stayed a little longer after everything was officially over (concerning day 1), since I enjoyed the conversations. And indeed I had a nice long conversation with a ThoughtWorker about… just about everything: what working at ThoughtWorks is like, what I do, what he does, code katas, TDD, whether Berlin or Hamburg is the better city and many more things.

Around 20:00 you’d get a call whether or not you made it to day 2 and luckily I made it.

Day 2

On day 2 the devs had 3 interviews. Well all the devs but me, since my studies still take me some time and therefore it wasn’t that urgent. I just had the cultural interview, which was basically about what I’m like as a person, what I do in my free time, what I’ve already done but also what it is like to work at ThoughtWorks and my expectations about a job at ThoughtWorks. So basically, nice chatting mixed with questions like “What would you do if…”.

The others had a management interview and a technical/pairing interview where they talked about technical things and played a bit with the code, that they wrote yesterday. Since I was especially interested in the latter (feedback on what I’ve done is always good) I approached the developers doing this and asked if they would be so kind and willing to give me a little review of my code since I didn’t get that interview. And luckily they agreed and we had a nice look at my code, making it a lot more beautiful, again after everything was officially over. But fortunately they seemed to like it overall 🙂 Thanks again at this point for taking their free time to give me feedback.

Wrap up

I liked it, especially the more or less little things. You could approach every ThoughtWorker there and have at least a little chat with them. I could call everyone by their first names (which is especially atypical in Germany). And they all seemed to be enjoying to be there, meeting potential new ThoughtWorkers. I think I have at least had a little chat with every ThoughtWorker present. One ThoughtWorker even paid for my lunch on Sunday (thanks!). We got thanked so many times for attending the boot camp. It felt great.
I’d describe the atmosphere as almost familial as I could always talk to everybody. When I had weird problems with my code I just asked a ThoughtWorker if he’d mind taking a look at it since my tests were behaving weird and I simply couldn’t find the reason. He came over and together we tried to figure out the problem, unluckily unsuccessfully on our first try but it was a good time anyway.

My wish to join ThoughtWorks grew during this weekend as I really felt comfortable there. I sure hope an internship works out, that I can work there when my studies are finished and that I get a T-Shirt*.

So all in all I can only recommend attending a ThoguhtWorks boot camp to everybody interested in Agile and Software Engineering. It’s a really cool atmosphere and I sure learned a lot. To me it felt more like a group of smart people that wanted to get to know people and choose whom they would want to work with in the future.

*I’m kind of a T-Shirt nerd. I got T-Shirts of nearly everything I like. Starting with bands, but also programming languages, operating systems and even my favorite browser.