From functional programming to managing large teams of famous companies
In the UK, often nobody cares exactly what you have studied or if you even have a degree. What you can do is much more important. There are also plenty of opportunities to jump into a field, even if you might have experience in a completely different one.
Author: Klára Petrovičová for fi.muni.cz
After his successful studies at the Faculty of Informatics of Masaryk University (FI MU), Shkodran Gerguri gained experience in several well-known IT companies such as GoodData and Elsevier. It was by working in several companies that he saw better the deficiencies in their organization, which he tried to improve and correct himself when managing larger teams. He has continued in management until now. Read more about his educational and career path in an interview with FI MU.
Why did you decide to study computer science at FI?
In high school, I really enjoyed mathematics. When it came time to decide which university to go to, I applied to FI, Faculty of Science and FIT VUT. In the end, I got into all 3, but decided on FI. FIT had an overlap with electronics, while FI had a more solid theoretical background. Or at least that's how I saw it at the time.
What field did you choose at FI?
I studied (general) computer science in undergrad because it had more theoretical and mathematical courses and because of that I had the chance to study things that taught me to think in a different way. For example, a subject like computability, which I often found counter-intuitive at first, but later on I kept encountering its ideas. Likewise functional programming, which I later worked with for several years.
At times I thought the concepts from such courses would be of no use to me, and while they didn't bring immediate benefit, there were situations and problems throughout my career that I found easy to grasp and solve because of having taken these courses. So I certainly don't regret my choice of field.
Did you continue with theoretical computer science in your master's degree?
No, I chose security, which is what I majored in during my undergraduate studies.
Why security?
I found it interesting, especially cryptography. I liked the creativity it takes to think like a malicious person and secure a system. You need a paranoid, almost twisted way of thinking to put yourself in the role of an attacker and think through where the weaknesses of the system are and where it is vulnerable to attack.
I was also intrigued by security protocols and their use in security, such as for key agreement, or basic things like https. The idea of an interaction that requires agreement, or encryption, and where the process can be broken, that's what I liked about it.
Did you join any labs as part of your security studies?
I was in Professor Matyáš's security lab. I was able to try experiments with generating random data and numbers from a fingerprint. Later I was able to get involved in other smaller projects that were worked on in the lab, which I am still grateful for.
Has your experience in the lab helped you in a career environment?
I think my experience made me more interesting to my future employer, GoodData, which was the second company I worked at and where I started my long technical career working with functional programming languages around distributed systems. It also helped me clarify whether I wanted to continue in science or go into industry. I didn't end up going to a PhD program, but I don't regret it, and I'm still grateful for my experience in the lab.
After your studies at FI, you tried your hand at working in several IT companies. Tell me a bit more about this career path of yours.
Right out of school, I started at Javlin, a company that developed ETL software (for data preparation, cleaning, transformation, and recording). I then moved to GoodData where I was for 3 years and worked on a team that developed a custom distributed task scheduler in Erlang, which is one of the functional programming languages. I think the few positions we had at GoodData were the only ones where you could work with functional programming in the Czech Republic.
At that time I was passionate about functional programming and distributed systems. I wanted to work on interesting problems and I got excited about Clojure – a practical, modern Lisp. Because I was also always drawn to the UK I found a job here (with Clojure and distributed systems) and I've lived here ever since. But I've been through a few companies here and gradually my priorities have shifted from interesting technical problems to organizational, corporate and people problems.
You can have interesting technical problems with a large number of users, but there are still big organizational problems in companies that are more important to solve. This is what started pulling me towards management and leadership. At Funding Circle UK, I fulfilled the role of Tech Lead in my team, which is someone who formally leads the team, attends various meetings and contributes to the team's strategic goals, including the roadmap. However, the responsibilities of a Tech Lead often vary between companies.
Did you also continue as a manager at Elsevier?
I joined Elsevier as a "Principal Engineer", where I solved technical problems across teams. But for every interesting technical problem, there was an even more interesting organizational/human problem to be found, and I began to address those as well, even though they were not formally my responsibility. Eventually, I decided to change roles and start leading and looking after one larger team, to which I gradually got responsibility for other people and teams. We were building the foundation of the company's data platform, and the whole initiative eventually got to the point where we had 15 teams working together and needed to ensure that everyone wasn't reinventing the wheel - for example, how to maintain and change the data schema contract between services, or how to test and deploy services to our Kubernetes cluster on AWS. But it wasn't just the technical stuff that was important, it was also the collaboration and organization across teams.
This left me less and less time for purely technical stuff until eventually, it got to the point where I was looking after two teams and not doing the technical stuff directly myself. I made sure that developers had the opportunity to work on interesting challenges, that they were developing their careers, and that the team was functioning well. After three years, I felt like I had learned all I could and that the only thing I had ahead of me was a large corporation. I wanted to go to a company that focused on the fundamental challenges of the 21st century - like companies focused on medical technology and systems, or companies around green energy.
And that's exactly the kind of company you work for now, right?
I'm now working at Bulb, which is a green energy provider that is trying to differentiate itself by focusing on renewable energy and keeping prices as low as possible. All of our energy is green - generated from renewable sources, and as far as gas goes, the maximum amount that we can get also comes from renewable sources.
I am continuing my managerial trajectory in the company. I have 4 teams under me at the moment, 21 developers and 2 managers, and we are building an energy delivery platform that we use internally for our business in France, Spain and Texas. Bulb is originally a UK supplier, where we have most of our customers, but we expanded internationally into these countries some time ago.
Did you lack any management knowledge when you started working in this area?
In the UK, often nobody cares exactly what you have studied or if you even have a degree. What you can do is much more important. There are also plenty of opportunities to jump into a field, even if you might have experience in a completely different one. Colleges very often don't have strictly follow-up master's degrees and allow people with a bachelor's degree to do a master's in something completely different - most people go on to work after their bachelor's. There are also lots of bootcamps and work placements for graduates and career changers, both with differently structured projects. We had one of these internships at Elsevier, where during the year you could go to different training sessions, for example on software, then have your own project, but also be assigned to a team from time to time.
The same goes for management. It is much more important what you have experienced and what situations you have had experience with than what you have learned theoretically.
Do you have any idea about your career in the next 5 years?
Senior management or owning your own company. I enjoy helping people to grow and develop, I try to make sure that once they leave the company, they leave for a better job and with more experience.
In conclusion, what advice would you give to our aspiring students?
Have a broad scope and don't get hung up on one specific thing. The basics are pretty important. If you skip them outright or study them at the last minute, there's not much to build on - so please don't leave it to the last minute.
These include math and theoretical and informational subjects. The insight and way of thinking that this gives you are much more valuable than any specific practical knowledge, because you will always learn these - even if many times you will wonder what the theory is really for in practice (personal experience). There are so many resources on the internet today that learning a particular technology is not a problem. But it's much better to pick up theoretical knowledge in school than to try to catch up between daily responsibilities afterwards.
So I would recommend everyone not to skip lectures, not to leave things to the last minute and to have the necessary overview. Profiling one way or the other won't be a problem then.