Each company has its own culture. So do we. Being a remote-friendly company without managers and keeping the quality bar very high at the same time can be challenging. If you wonder how we do it, here is a quick guide that can prepare you to join our crew and in a very condensed way show what are the core values we cultivate.
1. Be sure that your code is functional
Often our candidates are strong Java developers willing to switch to Scala. Their code is well structured, has all goodies of OOP, however, is not very functional nor reactive. This is such a common scenario that we coined a new saying for such code: “Java in Scala”. Too many variables, lack of proper usage of techniques available in Scala like Tail Recursion.
Don’t get me wrong, this doesn’t mean that we reject such great guys. We encourage them to work hard and change the way they code by providing a solid feedback.
It’s hard to explain this but there is a good method that works best: complete the “Functional Programming in Scala” book. It has several exercises that force you and your brain to switch. It’s a bit painful at first, but when you manage to break the wall, you will be enlightened and delighted.
2. Understand our values
Scalac at its core is a flat organisation. We have two strong values that are at the center of our culture. “Do the right thing” and “It’s better to beg for forgiveness than to ask for permission”.
The first value sounds very obvious but actually it’s the way our CEO answers to some of our questions. “Do the right thing” may sound like a rude answer but when you think a bit more about it, you realise that the answer to most of your questions is you.
You know what is right, you are just asking for permission or afraid of taking responsibility. This resonates directly to our second value. You are free to act. Permission is in most cases just a blocker. You know what is good. Just do it. If it doesn’t work – you can make mistakes, we all do them. That’s the way we learn.
3. Read Valve’s handbook
We love Valve company. We think that their approach is great and unique and so far it has worked very well for us, too. We don’t want to copy it but me and Lukasz (CEO) use it as reference in our brainstorming sessions with the rest of the Scalac crew. Maybe one day we will release our own handbook, but till that time, Valve’s handbook is the closest to it.
At Valve, people vote with their desks, while at Scalac, people vote with their activity on Slack channels (I will write more about it in a follow-up post). Even if we have 50 members on board we still have no managers and we want to keep it this way.
The main reason is that we strongly believe in another value: “People at Scalac are very smart and responsible”. When you are smart and responsible, you don’t need someone who puts tickets in Jira or prepares weekly reports. You do it because you know it’s needed. This goes back to our core value “Do the right thing”. All things around coding have to be done by someone and in most cases you are the one who decides what to focus on.
4. Be ready to work remotely
Scalac (contrary to Valve) is a remote-friendly company. This means that next to the values we have already outlined before, remote work is another core aspect of our company. How do we work remotely? Here is a great article wrote by Patryk on this subject. He lists there several challenges of remote work. Please read them and think for a second if it is for you.
5. Choose your own path
It’s important to know where you are heading. Of course your plans may change in a year from now but we look for people who know what they want to invest their time in. It’s hard to be a good backend/frontend developer in a particular technology/framework. There are cases when a person is a full-stack developer but being good on both ends of the software requires a tremendous amount of hard work. That’s why on our Join us page we ask you to choose your path.
We like to work with people who are aware of their choices and committed to reach their goals. We stimulate them to do so by sponsoring their trips to the best conferences around Europe, providing books, holding internal and (soon) external trainings.
So, are you ready to join Scalac? Do you agree on our core values? Is there anything that you would do differently? Tell us in the comment section!