Hi! I'm Jacob Schatz, Principal Front End Engineer at GitLab. When I started here at GitLab in December 2015, I felt like I’d joined the cool-kids club. I’d heard about the job on HackerNews, and thought, “I’ll apply for it and it would be awesome if I got it.” And I got the job!
It’s been a fantastic experience, and I’m glad to say we’re hiring more front end developers. We have a unique challenge here at GitLab, working in an “open kitchen” together. We must serve both a great front end user experience and a great developer experience.
If you’re curious about working at GitLab, read on.
What’s so different here
The big shocker for me coming to GitLab was that everybody is involved in the plan to move things forward. That’s unusual. Even in small companies there’s usually an “upper management divide.” They’re making decisions you’re not aware of. Things will change in just one day, and you don’t know why.
The team here at GitLab is very transparent and everyone is working for the betterment of the product. Because it’s a small team, this means we pitch in on all kinds of tasks. It also means your skills improve.
In the beginning I had a lot of questions, and people were really good about answering them. I'm a JavaScript developer, so working with this amazing team of Ruby developer has made my Ruby knowledge skyrocket. When you submit a merge request, you are submitting it to the public; it must be top-notch.
The Open Kitchen of Open Source
It’s great to work in a company where it looks good on the inside of the product as well as the outside.
It’s like a kitchen. There are some restaurants where, the front of house might be nice, but you don’t want to see that kitchen. All too often the quality of the code will lose out to the need for speed, to get it done quickly. Clients traditionally can’t see the elegance of the code. Some don’t care. Make it work!
Whereas at GitLab, where we are developing open source software, we’re working in an open kitchen. It has to look as nice as the front of house.
Open source front end developers must serve two user experiences.
- UX - the front end user experience for the users who interact with the UI of the application.
- DX - the developer experience for the contributor who needs comprehensible code.
You’re dealing with stuff that is on the bleeding edge, and you’re doing it in a way that people can contribute. I want to make a way of coding and working with GitLab that will allow ease for end users, and more accessibility for contributors. We have quite a challenge ahead, and we need your help.
Want to join us?
I’m the first front end developer here at GitLab. I was most recently working for a digital agency developing applications and sites for large retail clients like Panera Bread. These sites have tons of visitors and they have to work really well. They have to be fast and extremely reliable. That is what I want to bring to GitLab.
We’re hiring two more front end developers. Our Ruby architecture is rock-solid, and now we need to bring out front end architecture up to that level. If you’re curious, you can see open issues and activity related to front end development at GitLab, right on the job description. In my interview with Job Van der Voort, VP of Product, we worked through a current frontend issue. Our current frontend is written in jQuery and CoffeeScript. Our code should be timeless in a way. We need people who are really good at pure JavaScript, and don’t really care what framework we use.
We need people who are JavaScript veterans.
I’m still a bit traumatized by the browser wars.
I used to write CSS and JavaScript hacks for IE6.
If you were there, you’ll know what I mean.
Even now when I see opacity
I think “Oh no, it's only partially supported in IE8!”
Having that depth of experience is important at GitLab.
You know why code should be well-written and DRY as much it should be a great interactive experience.
Some people are really dead-set on particular frameworks. We can’t come in and rewrite everything. GitLab is released monthly. We move at pace. We need to work on the many small issues and at the same time think on a bigger scale: what we can do to reduce the code complexity.
We need to take it one step at a time.
If you’re curious about working in an open kitchen with us, please check out the job description: Front End Engineer.