Our Meet the Hiring Manager series allows you to get to know the people who grow teams at VMware. You’ll learn about our hiring managers’ career paths and what they look for in candidates during the interview process. This week we’d like you to meet Konstantin Mihaylov, Sr. R&D Manager.
What’s unique about the team you’re leading?
The team that I’m working with is amazing. They are self-driven, always willing to learn and assist if needed. They give and accept constructive feedback and are actively looking to always improve the projects and themselves. They are always flexible and adapting to the different challenges that we have in the Cloud world.
What is your team’s tech stack?
For programming most commonly used are Java with Spring Boot. Infrastructure-wise we prefer to work with Kubernetes, Docker and Concourse CI/CD. Prefered monitoring tools are Logz and Wavefront. On the database side we often use AWS RDS and MariaDB. Depending on the project needs we also use Gitlab, Bash, Python and sometimes Go. In the teams that I’m responsible for – it’s pure backend development and there is no frontend related work.
If you can use one to three words to describe your team, what would they be?
Professionals, team Spirit, proactive.
Share some interesting details about your colleagues?
- Recently we had the Talent Boost initiative – it’s a program that gives students the chance to develop the skills needed for becoming a successful engineer. Successful students are considered for our intern positions. It was an amazing and fun event with lots of positive feedback from mentors and students. I want to use this opportunity to personally thank my teammates who were involved as mentors and speakers: Martin Paunov, Silviya Brayanova, Filip Teoharov, Stanislav Blagoev, Stanislav Paskalev, Stanimir Valchev and Ivaylo Pankov.
- One of my favorite things in VMware is the Take3 internal program – it lets you spend 3 months working in a different team in the company. You can use it to better understand how other teams in the company operate and it’s probably the best way to get an “inside view” and to share (or get) ideas to improve the work processes and to improve the cross team collaboration.
- We have multiple initiatives to share ideas, presentations and latest technology trends between the engineers – some of them are not organized by the company or the management – they were suggested and organized internally by my team members. It’s a great way to be inspired to research new technologies and to keep yourself up to date with the latest trends. We always try to stay on top of the latest technologies while maintaining the balance between the new and the well established trends .
- The engineers in the team have different personalities and background united by common values. We are looking to expand our team with likeminded individuals who share our values and passion for technology.
Tell us about your career journey to date?
I’m a passionate gamer since I remember. My passion for programming started as a teenager when I wanted to create my own “hack” for Counter-Strike.
I did download some “code” from the internet and I learned to do simple code changes and to compile my code to see if it works, but I was not able to produce code on my own – and this was bothering me alot. So I started learning about OOP and general programming concepts – at this point I didn’t had any specific programming language identified as a personal preference.
I literally was walking around my neighborhood and I saw an advertisement from a small company that they are looking for programmers. I decided to check it out and knocked on the door where I was greeted by the only employee that the company had. My interview process was one simple question “Can you tell me what does this code do?” and he showed me some code that I had no idea what it was. I just saw something called “scandir” and “*.mp3” … and I was like “you are scanning a directory to find all the mp3 files ?” he did smile and said “correct!”.
We did talk a bit more I told him how passionate I am to learn programming and I guess he decided to give me a chance – 1h later I had my first job as “Junior PHP developer” and I met my first mentor. I focused on the programming language itself and I was reading a lot of materials online, always looking for best practices. With my knowledge of PHP I manged to do some minor “Bash scripting” and a friend of mine wanted some help with starting his own Internet Service Provider, so I decided to go work for him (pretty much for free). I spend 1 year learning about Linux / Debian / RedHat and system administration, monitoring tools … at some point I was recompiling Kernels to better optimize system performance. It was wild and I had a lot of fun. Back in the days we didn’t had everything online … if you had a compile error – it was quite possible to have 0 information online … and we had something like local programming communities where we tried to help each other – that’s where I did find new friends, I built professional connections and I got the proposal for my next job.
I have a long career path but I wanted to tell you about my start – because “starting” is the most difficult part. After that everything comes naturally.
Junior PHP dev > Senior PHP Dev > Team lead (3 ppl) > Team lead (6 ppl) > Team lead (10 ppl)
I picked up JavaScript because my latest project required it (that’s how I pickup most of the new technologies – I adapt to the needs of the projects). Later I did a lot of Frontend work where I picked up most of the recent FE frameworks like jQuery, AngularJS, Angular, Vue.JS and many of the more commonly used JS libraries.
I picked up C# > .NET > Azure Cloud and I switched to the Microsoft stack. At this point I already had about 40 technologies in my CV. Learning a new programming language became a matter of syntax and it was very fast for me.
Since I was senior with a lot of experience – it was expected from me to produce and document software architecture and to be able to mentor some less experienced collegues.
Somewhere along the way I learned that it’s not enough to be a technical person – you also need to work on your social skills. So … I started actively looking for that type of work and my responsibilities went like:
80% technical duties / 20% management > 50/50 > Full time management position
I’m often asked “How did you do that? How did you change your technology ? How did you get more management work and less technical work ? How did you convince your boss to make you an architect ?”. And … it’s a simple answer – I never asked for specific permission. When something is interesting for you – just go for it – get better at it, build trust in your colleagues that you can do it on a professional level and just keep your eyes open for opportunities or actively create them (for example, if you have a new project – recommend the new technology that you want to try for it. If you have already built a professional trust in you – people will let you do whatever you say it’s the best way to go. That’s how you actively create opportunities for yourself).
In the recent years I’m in a Sr. R&D Manager position where I have found that it’s the best split between management and technical work. This is a position where I can zoom out to get a perspective on the bigger picture (company targets, supporting projects, cross team collaboration, team and employee development) and also zoom in into specific technical problems and challenges.
How is VMware different from any other tech company you have worked for in the past?
VMware has really a lot of strengths. Pretty much if there is a best practice – the teams try to adopt it. At this point there are so many “best practices” that some of them are even conflicting and this is where the “experience” becomes a leading factor. For me – this is the uniqueness of VMware – it gives you exposure to so many professionals with tons of experience in their own fields. We often hire people that have worked for Apple, Google, IBM, Dell, Azure, Amazon and many others industry giants. I think it’s pretty unique to have this kind of exposure in Bulgaria. The opportunities to learn and grow in the company are exceptional.
What has been the biggest lesson you have learned as you moved upwards in your career?
Don’t bother executive/non technical people with technical details – it was very difficult for me to learn this.
If someone reading this was coming to interview with you tomorrow, what interview tips would you give them?
Be ready to explain a challenging project that you have worked on. You need to be able to zoom out and do requirements gathering + being able to identify your stakeholders and their roles. You need to be able to zoom in on the major architecture points and your specific task.
Be ready to give an example of a conflicting situation and how you have handled it.
Be ready to demonstrate your proactiveness. I will definitely ask for things that you have improved in your current line of work that are outside of your current responsibilities.
Be adaptive and willing to share, learn and improve.
If you can see yourself working at Konstantin’s team check out the open positions:
Staff 2 Software Engineer, VMware Cloud on AWS
Senior Software Engineer, VMware Cloud on AWS