From GoDaddy to Brave

I joined GoDaddy in March 2008 and it was the first job that I truly loved. I worked as a developer in the hosting department for all 8 years and got a chance to work on most of the products (dedicated hosting, VPS, shared hosting, and their user interfaces) using a variety of technologies (C++, PHP, Perl, .NET, JavaScript, Ruby, Python). The work itself, pay, and benefits were great. Besides being constantly challenged and getting to work on a lot of code (as opposed to being in meetings all the time), the folks I worked with made it a fulfilling job. I consider myself pretty good and it was rewarding to work with people that I could learn so much from. Why would I leave?

As an engineer, something that’s always in the back of my mind is my professional development plan. “How do you plan to grow?”, “What technologies do you want to get involved with or focus on?”, “Great- you’re in the ‘Senior Software Engineer’ club… but now what?” These are seriously some tough questions to ask yourself and honestly, the industry is so young that there aren’t clear processes yet to guide these discussions. My answer when I asked myself these questions was that I wanted to become more involved with and known within the open source community.

Open source technology is very important to me and I make an active effort to use it wherever I can. I find open source to be empowering for several reasons. When you run into an issue, you not only have the ability to fix it yourself… but you can share your patch on a mailing list or in the form of a pull request, making the project even more robust (for everybody). You also have the opportunity to shape the project and its vision by giving input and creating new features. Lastly, and most importantly, you get a chance to rub elbows with everybody in the community. These people have a vested interest and are in this together with you; they want everyone using the project to succeed. What a great chance to meet some new people and learn a ton.

The first project I got involved with and cut my teeth on was Ember.js. This was a framework we had been using in our hosting UI at GoDaddy and it wasn’t the easiest to learn at the time. The documentation could be better and none of it mentioned Ember CLI, a command line interface similar to the generators available in Ruby on Rails. I got my feet wet by helping with documentation. Even though my contributions were small, it was an extremely rewarding experience for me personally. I got to meet a lot of folks in the community, including some of the core team members, I learned some best practices with GitHub (maintaining a fork, rebasing to squash / get rid of merge commits), and people recognized me and my contributions publicly on places like Twitter and at EmberConf.

Brave was my next project. I started getting involved in early April 2016 after trying the browser out. While I love the project and its vision, it felt very rough around the edges at the time and I wanted to help do my part. I started off by contributing small fixes: adding favicons to the bookmarks toolbar, fixing rendering issues on Windows, fixing bugs, and reworking the context menus. I moved onto larger scope issues like making sure the window state is saved (window position / full screen status / maximized status), adding a really nice live tile for Brave on Windows 10, and fixing the way the session is stored to disk. I did this all in my free time at night or on weekends when I was at GoDaddy as my professional growth goal. Along the way, I got a chance to meet the team and learned more about modern JavaScript and React. My favorite technology to learn about was/is Electron, an open source project maintained by GitHub. Electron is basically a web browser that is hardcoded to only load your application. You do your UI in HTML / CSS / JavaScript and unlike typical web development, you don’t have to worry about “How does this look in ?”. When you package your app, Electron includes (and wraps with a JavaScript API) components from the Chromium browser. There are several cool projects using electron, like Slack, Visual Studio Code, and of course, Atom.

Every aspect of Brave is personally appealing to me. True to its name, this small company is taking parts of Chromium (specifically libchromiumcontent), a project that advertising giant Google has put a lot of blood, sweat, and tears into, and using it to make a new browser which stands up against their core business. Brave offers end-users like you and me a compromise when it comes to advertising. As a consumer, you can either block all advertisements OR you can choose to allow them and in return, get paid. Advertising is never going to go away and nobody today is offering a solution. Brave not only gives folks a reason to opt-in but it also opens a revenue channel between the customer and the sites they visit. On top of all of this, the browser and their development team are advocates for you- helping ensure you have a secure solution that protects your privacy and protects your data usage. This is huge, especially since most of the world is accessing content via mobile devices and data isn’t cheap.

After being an active part of the community for several months, I was approached with an opportunity to join Brave Software. I proudly accepted and I’m happy to report that I just finished my week on the job.