Why I decided to learn the Browser internals

Agnaldo Junior
3 min readSep 18, 2019
Mountain as a Challenge
Photo by Neil Rosenstech on Unsplash

Hello, my name is Agnaldo, and this is the first article I ever write.

I’m starting a series of articles describing my trajectory as humble Software Engineer from Brazil in a journey to become a contributor of Open Source browser projects.

In this article, I’ll try to explain the motivation to start this journey.

Brief History

I have been working with Web applications for over a decade. I started in 2009, working for a R&D institute created by Nokia. At that time, I was really excited because I could create an HTML+CSS+JS/JQuery application and run it on my S60 device! From there I went though many projects, and learned the entire web stack. But the browser internals were always a mystery for me.

While working there I met some guys who shared the same interests in Open Source. I worked into some interesting projects using Qt/C++ for the Maemo platform.

Than Nokia switched to Windows Phone. The application development for it was, most of the time, smooth. But when I couldn’t get past the “proprietary wall”, I had to stick to workarounds and hacks for simple things. I felt bad as a developer…

After leaving this institute, I worked as a Full-Stack Web Developer for many other companies in my town, while I grew interested in Linux and it’s internals. I never used it before, and suddenly my first official distro was Arch Linux.

At the occasion, I was working with Web Frameworks and I was using AngularJS. I noticed that one of the components I was using didn’t have a feature. I forked that repo, implemented it and submitted to the upstream. For the first time, I felt that I wasn’t bound by the “proprietary wall”. If you want something, you implement it. Same thing for Arch’s AUR. It was really nice!

Now I try to give back as much as I can, contributing to projects as I use them in my daily work. But browsers have a special place in my heart. And I will explain later why.

Why Open Source?

Well, if there aren’t enough reasons to contribute to open source out there, I will describe some of my personal reasons why I want to contribute:

  • When I was a kid, I hated the fact that I had to use proprietary software illegally because there were no other good options.
  • Working for corporations is really nice to make a living, but I want to give a legacy that is more than simply doing what my boss asks.
  • It’s a great way to improve my skills because anyone can take a look on what I’m coding and give feedback, so I NEED to care more about good code!
  • Open Source communities tend to be very receptive. People are trying their best to give everyone a good piece of software.
  • Nothing feels better in a bar table than telling your dev friends you have a contribution in a project that everyone uses. :)

Why browsers?

While I want to contribute to many Open Source projects as I can, browsers are the base for the modern ecosystem of Web applications, and users/companies from all around the globe use it daily. They are surely a big asset for humanity.

I am also convinced that there is a great opportunity to understand what’s behind the scenes of all the applications I developed over the years. Not only this will help me create better software, but will also open my mind for new ideas and improvements for the next generation of browsers that people will use.

So, what next?

Well, from now on, I will start writing about the things I’m studying. My first study will cover the basics of the overall architecture of Chromium. I’ve also done some practical stuff, like environment setup, which I might write about.

See you around in the next articles!

--

--

Agnaldo Junior
0 Followers

Veteran Software Engineer with an appetite for Open Source and Innovation.