VP of Engineering working in HR?
Can VP of Engineering handle recruitment processes too?
An interview with Tomek Dziurko, SoftwareMill’s VP of Engineering
For some time now I have been dealing with communities created with knowledge exchange in mind. Groups centered around Open Source projects, Python, women in new technologies, or internal communities in medium-sized companies and corporations. From this perspective, SoftwareMill is, to my mind, a rather special place. It’s often the case that a team participates in knowledge exchange communities only once the company has already grown. In this case, it’s exactly the opposite. It’s programming communities such as JUG or SUG and the well-known Confitura as well as the drive of Tomek Szymański (CEO) and others that laid the foundations for the company.
How does SoftwareMill work today – after over a decade of remote work and more than 70 people aboard? Is the community mindset still alive? In this interview with Tomek Dziurko, VP of Engineering at SoftwareMill, you will read about the current methods of sharing knowledge within SoftwareMill, impostor syndrome, and why VP of Engineering deals with recruitment processes.
Kamila Stępniowska (KS): Tomek, your title on your LinkedIn profile is VP of Engineering, but you also scout for new talents and watch over the recruitment process, so what’s going on here? ;)
Tomek Dziurko (TD): Yes, that’s right. Choosing the right people to join SoftwareMill is one of my most important responsibilities. The IT market is very demanding, especially when it comes to experienced specialists, so the help of a programmer with 13 years of experience can only help, both when it comes to finding the right people and to convincing them that SoftwareMill is a good place for them to develop further.
Luckily that’s not the only thing I work on, although I admit that it’s quite important.
KS: What else does your job involve?
TD: In product companies that build an app, the role of the VP of Engineering is much more closely tied to technical aspects. Such a person really supports the technological direction, working together with the CTO on selecting tools, languages, architecture – that is elements with strategic importance for the product’s development, and so for the existence of the whole company. Since most programmers work on developing the same application, the VP of Engineering also focuses on improving communication and collaboration between teams. All this increases the chances of the app’s success and the financial success of the company. After all, at the end of the day, it’s the most mundane mission of each company: to make money that can then be spent on pay rises or a new Ferrari for the CEO. Exactly in that order, of course :)
In the case of a software house, my role is a little different, although of course our CEO probably wouldn’t mind having a Ferrari either :) My main task, other than coordinating the recruitment process for different technical positions, is supporting teams in effective work, by which I mean: supporting the development of technical knowledge, creating paths for development in different technical positions together with senior developers and architects, and taking care of the development of soft skills in the team as well as supporting the exchange of experiences and know-how between teams.
KS: What does that mean in practice? How do you encourage the exchange of knowledge at SoftwareMill?
TD: When it comes to learning, I either organize or help to get different groups of knowledge exchange going within the company. We make sure that people who want to learn or – what’s even more valuable – share their experiences have plenty of opportunities to do so here. We currently have two groups preparing for certifications (AWS and Apache Kafka), a Technical Reading Club (currently discussing “Design It” and previously went over “Designing Data-Intensive Applications” by Martin Kleppmann), and a Soft Skills Reading Club, where we read more about the human aspect of leading teams and companies. We started by going over the classic “Peopleware: Productive Projects and Teams”, and then we read “No Rules Rules: Netflix and the Culture of Reinvention.”
Every 2-3 weeks, we have internal technical presentations or training in some library (Cats, previously Event Sourcing Architecture) as part of SoftwareMill Academy. Additionally, we have an Architecture Kata group, where we design different systems or discuss various approaches to integration and communication in a distributed architecture. We have also started meetings of the Team Leader Workshop, where people who are already in this position or would like to start doing something of the sort soon meet up and discuss their experiences in this domain.
All this functions as a platform for the exchange of knowledge and experiences between teams in aspects that are transferable between projects. Because, let’s face it, every project is a bit of an information silo, and my role is to decrease these silos, mainly in the context of technology, architecture, and methods of effective work with the client. The point is for different teams to make the same mistakes as rarely as possible or not to come up with the solution to a problem again the second time if an approach that works has already been created or invented by a different team of programmers in the company.
photo: Confitura meetup, 2015
KS: To go back to the subject of hiring. People say SoftwareMill is hard to get into. What’s it like in practice?
TD: If we have this kind of reputation, it’s worth explaining where it could come from. I think there are two issues here.
The first thing is the omnipresent impostor syndrome, which is experienced by most programmers in our industry. There is so much to know that even if we know a lot, we are also aware of how many things we don’t know yet, how much we’re still lacking. If we have 100-200 friends in the industry and each one of them tweets once a year that they’ve written some blog post/book, became a committer to some library, then it turns out that every 2 or 3 days we see someone doing something extra, that they are always reading/developing. In reality, people do something extra only once in a while, but the informational storm makes us think that if we watch Netflix three evenings in a row, play a game, or read the third volume of “Dune”, we’ve basically lost our chance for a career in IT.
The fact that we feel weaker doesn’t mean that we actually are, so why not apply anyway? Even if we don’t get in, there’s a good chance we will learn a lot about the shortcomings we might have, which will give us a better chance of getting into a nice company next time. I myself am an example of how it’s worth trying despite fear. Before I found SoftwareMill, Paweł Szulc (a really good programmer from Wrocław) told me that if I’m looking for remote work (which was a poorly developed model in Poland at the time), then there’s this company from Warsaw that I should try applying to. I told him that I knew of the company, but only the top players work there, and there’s no way I’ll get in. To which he replied: “Shut up, send them your CV”. So I sent it, got in, and ended up here, first as a programmer, then as VP of Engineering.
The actual level of difficulty of the recruitment is another matter. We want to grow as a company, so the requirements can’t be too high so that we don’t end up hiring just one person a year. On the other hand, we care about people, good and very good programmers who our current crew can learn from. At the same time, we’re looking for people with potential who want to gain knowledge and can be sure that they won’t lack any opportunities to develop at SoftwareMill. We’re looking for people who have a spark in their eyes.
Read part 2 of the interview: A conversation with Tomasz Dziurko on the subject of Guilds, Netflix, keeping mids and seniors in a Software House – or on the modern incarnation of a company firmly grounded in the values of the community.
Kamila Stępniowska works with SoftwareMill as part of Ginger Tech.
Want to learn more about our company? Get our Handbook and check how SoftwareMill works :)