I’m a software engineer with a focus on data transactions in distributed systems
I usually have work at hand and thus require a minimum of a month before a project starts. This also gives us extra time to learn more about each other and the project, and set clear expectations for both of us. I am currently only available for workshop and training. It does not mean that I cannot help you in other ways, contact me for future availability and briefly describe what you would like to achieve. Or just to say “Hi”.
SRE is what happens when you ask a software engineer to design an operations team. I spend my days automating the flow information (data) at scale, automating the underlying infrastructure is a natural evolution for me. I’m a software engineer at heart, therefore I would prefer roles where coding and/or big data skills are required. I do not wish to be a manager but I’m comfortable in technically leading roles as I do a lot of presentations, giving lectures at conferences and universities, mentoring, architectural reviews and so on.
Workshop & training
Those courses assume a minimum knowledge of a programming language.
Prepared courses (ready to go, given before):
- Google Cloud (full day / half day)
- GitHub with Google Cloud - CI/CD (full day)
- Kubernetes (full day / half day)
- Serverless & Function-as-a-Service (full day / half day)
- Serverless Architecture on Google Cloud (full day)
- Chaos Engineering (full day / half day)
- Terraform with Google Cloud (full day / half day)
- Front-end crash course (full day)
Future courses (in the making):
- BigQuery & Data Studio
- Security on Google Cloud
What does scale mean to me
My personal definition of “at scale” means a service handles more than 10,000 RPS (ten thousands requests per second). The reason I came up with that number is when I learned that the C10K problem is a solved problem and hardware is not the bottleneck anymore. Meaning that a single machine can handle 10,000 connections at the same time.
If a single machine can handle that much, why build a distributed system ? Because the bottleneck now becomes the development teams which need to communicate and synchronize among themselves. However, building a distributed system is completely different than building a centralized system; the same way building a car factory is completely different than building a car.
When I talk about scale, I talked about the scale of the product, not the amount of people building it. There are value and tradeoffs in both.
I wrote more about it in an article.
I work remotely from my home office in Sweden, with teams located anywhere and everywhere across the world. Despite time zone differences, collaboration is usually seamless.
Teams I work with often use Slack to communicate or pair program, Trello or Notion for project management, Github for code hosting, Zoom or Google Meet calls are done as needed in order to synchronize and collaborate. Note that I have no problem using a new tool for each of these tasks but it might hinder productivity, therefore, communication as well.
In the interest of saving us both some time, here are a few reasons to not get in touch:
- You’re hunting around for the lowest price. I don’t compete on prices, I compete on quality. I only provide high quality work that is worth investing in. If you’re just looking for someone to get the work done and is not interested in how, I’m sure there are good people with less experience willing to do just that. Just remember that, most often than not, you get what you pay for.
- You need someone to start now. I usually have work at hand and thus require a minimum of a month before a project needs to start. This also gives us extra time to learn more about each other and the project, and set clear expectations for both of us.
- You need someone to join your operation team. While I have a soft spot for infrastructure, I am not a system administrator and therefore don’t do any administration work, I automate it and move on, as explained in the SRE book. I will not join a team where individuals are not able to write in a programming language as the learning curve for them would be too steep, unless they are researchers or C-level executives.
- You need someone to work on other cloud providers than GCP. I spent countless hours learning and keeping up to date information about Google Cloud, traveling and presenting at conferences on my own time and expenses. Therefore, I have to turn down any project that doesn’t rely on GCP, I can work with other cloud providers as long as GCP is involved. For instance, in a cloud migration, hybrid or multi cloud setup.
If you’re still with me, then I’d love to hear from you and learn more about what you’re working on!
Drop me a line at email@example.com or use the contact form. The more details about your project you include in your message, the faster I can get back to you. You’ll hear back from me within 1–3 business days.
I look forward to hearing from you.
Updated: 27 Jul, 2020
Created: 1 Jan, 0001