Hi! Welcome to my website! 👋🏽
I’m currently working as a full stack (let’s be completely honest, backend developer). I’m super passionate about everything that’s open source and messing with networks. I’m also super into hosting servers and overloading my home lab machinery with more docker containers than it can handle 😅
My Journey
My first taste of coding was back in the 8th grade (2013) where I first learned the basics of python programming and making a guess the number game. I can’t say I fully grasped the concepts of programming until the summer of 2016 where I got my certificates of profficiency for Python and Java. That was incidentally where I also discovered Android programming. This was my gateway to discovering the magic that is programming for devices that I use everyday. The possibilities of solving any softare need I could ever have was absolutely intoxicating. After my experiments with Android, I transitioned towards Windows programming via WPF and UWP. The .NET framework and C# was the first time I learnt to love the structure and design of functional and heirarchical programming. It was well after that that I discovered the magic that was backend programming and making backend servers for the applications I’d learned to write back in high school. From there, I quickly jumped between many frameworks that were beginner friendly like Express.js. But it was in college that I learnt the magic that was .NET Core and writing backends using C#. That was truly magic with EntityFramework being the way it is, it basically spoiled me to the rest of backend programming to the point where I never wanted to touch raw query code for a database. I really began chasing down the best ORMs for different languages. I currently work with Django Rest Framework and it’s definitely up there with .NET Core in terms of nice ORM mappings. But where DRF truly excels is the succinct and clean nature of doing everything. The boilerplate of working with DRF feels almost non existed and it feels like every bit of code I write is directly being used instead of a necessary abstraction I need to make. Of course abstractions are always necessary but anyone that’s worked with Java knows the pain that it can be. But after that, I really wanted to learn more so I’ve been toying about with Nest.js which is decent enough when it comes to how it’s designed and it gives me the same familiar feel as .NET Core without the bulk that is building .NET Core apps for production. I also mess around with Flutter but to a much less degree and it’s mostly to understand the core concepts of how it works. Hopefully this will change as time passes.
Why the blog?
As you can see I have a knack for waffling and I felt like a blog where I’m able to show/store problems that I dealt with and how I solved them combined with random things I learn would be a really good idea. So that’s what I’m doing! Hopefully this will help someone with a knack for doing needlessly complicated things as well. If you found yourself here because you’re looking into a super niche bug/ability for some kind of open source code… Welcome! This place is just for you!
More about me
When I’m not coding, you’re likely to find me setting up some random piece of open source software in attempts to improve my current workflow of my terminal, note taking app, browser or other random utility that will probably network between my devices. Of course I’m not all computers and niche pain. I also love playing video games. My current obsession is Rocket League but I’m also a big fan of FPS games with tactical aspects like Rainbow Six Siege etc or more mechanics like CS:GO (CS2 now but I can’t say I’m a huge fan).
Connect
If you’re here, I really appreciate your time and I hope we can connect and learn from each other! Please feel free to reach out
- GitHub: brukberhane
- LinkedIn: Bruk Berhane
- Telegram: brukberhane