Why Me?
Let's cut to the chase. You're looking for a developer to join your team, and you've got questions. Been there, done that - on both sides of the table. Whether I'm the inteviewing candidates or the one sweating under the interview lights, there's one question that always comes up: "Why should we hire you?"
Here's the thing: I'm not going to sugarcoat it or try to sell you magic interview answers. But what I can offer is a glimpse into why I might be a perfect fit for your next project.
You know, everyone has a little bias, right? But hey, you can always see what others say about me in the testimonials section!
So, what makes me tick?
- Over 17 years of experience: That's 12+ years professionally, and let's not forget the 5+ years where code was my playground. You can even read about those early days in my blog post, 👋 Hello World. For a more detailed look at the skills I've honed over the years, please visit my skills page.
- Reliable, upfront and transparent: "Underpromise, overdeliver" is my motto. I take full ownership of my work, going the extra mile to ensure it meets expectations. I also keep you in the loop if anything seems off track. I believe that communication is key to building successful projects, and I'm always happy to provide updates and answer any questions.
- Passionate problem-solver: Building things and untangling challenges? That's my jam. My GitHub profile (here) showcases some of my side projects, libraries, and open-source contributions - but that's just the tip of the iceberg. There are tons of other projects I've poured my heart into behind the scenes. Check out my projects page to see some of the challenges I've tackled!
- Skilled improviser and architect: Whether a project is fully specified or just a rough concept, I excel at architecting, planning, and improvising to bring ideas to life. I have extensive experience in taking vague requirements and turning them into well-structured, scalable solutions. My ability to think on my feet and adapt to changing project needs ensures that I can navigate uncertainties and deliver results even when the path forward isn't always clear.
- Team player and mentor: In the past, I've worked in environments of all shapes and sizes - from being a solo developer on projects, to collaborating in teams of a dozen people and more! Additionally, I have also taken on leadership roles, where I not only led the development of specific areas in a project, but also onboarding and mentoring others.
- Technologically curious: I'm always on the lookout for new tools and ways to do things better. Altough I did not use every tool and technology out there, I do at least try to learn about them and see if they could be useful for me now or in the future.
What are some of the challenges I solved?
- Built platforms that scaled from tens of thousands to millions of users: During the years, I have worked on platforms that were originally designed for only a much smaller group of users, but over time, we've scaled it to serve millions. It is one thing to read about scale, but actually experiencing it is another - tens of thousands requests per second, 100+ VMs, 12TB+ database, tens of TB of data migrations and more.
- Migration from GCP to AWS: Containerizing, moving from VM instances to Kubernetes, moving TB of data from Google Buckets to S3, migrating from Google PubSub to RabbitMQ and much more! Those are just some of the challanges I've faced in the past.
- Large scale codebase refactorings and upgrades: Sooner or later every codebase needs a little bit of love! Be it a major framework version upgrade, splitting a monorepo into microservices, replacing jQuery with React, or changing the whole design system from Bootstrap to Material UI - I've done it all.
- Optimizing services: As before mentioned, the projects that I worked on started fairly small, with only a server, small database and a couple of requests per second. With years, as the number of users grew massively, we needed to optimize and parallelize the services as much as possible. Where as before everything ran just fine, we needed to think a lot of how to reduce the load on the services, as at a certain point, vertical scailing can only bring you so far. Things like caching, moving synchronous tasks into asynchronous queues, adding indexes where possible, partitioning tables so much more.
Intrigued? Great! I'm open to both project-based and full-time opportunities. Let's chat and see if we can build something incredible together! Just shoot me an email at info@bobalazek.com and I will get back to you within 24-hours, so we can get to know each other better!