GitLab - Last round interview Questions For your interviewer at GitLab to be able to be fully immersed in the conversation instead of distracted by taking notes, please fill out these interview questions ahead of time. These questions are also listed on https://about.gitlab.com/handbook/hiring/#interview-questions
Your full name
Thad Chapman Brown
Your email address
Do you have any questions about the job, our organization, our strategy, or Sid personally?
Most of my questions have been answered in the other interviews, but I would like to hear Sid's opinion about the two main ones I have asked.
-
With the company growing so fast, are there questions or concerns about scaling up at this pace?
-
I feel pretty good about the quality of the software and that the people I have met have in the interview process have all been top notch. But is GitLab a place to work that Sid would call fun?
Why did you apply to GitLab?
While working at a (fairly) short term job during 2016, I discovered that their sysadmin/dba group had no version control to speak of. I wanted to have something for myself for tracking my own documentation, code, and scripts. Since there was nothing in place, I looked for an option that would include a client/server workflow for version control, and found GitLab.
Very quickly I was impressed by the quality of the software, the feature set, the commitment to the CE version, and the smoothness of the upgrades. GitLab is the first application I used where I would routinely update as soon as new versions were released. The upgrade and backup process was rock solid and the logs so good I had real confidence in doing live, in place upgrades with GitLab.
When I started looking for my next job, I decided to see if any of the companies that had written truly impressive software were hiring, and found that GitLab was looking for support engineers.
For each significant study and job: why did you select this one and why did you move on? Please give a short answer in 1 or 2 sentences. I will ask if I want to know more. You don't have to say what you did during the job, you already passed your technical interview.
With a long and varied resume, I'll mention only a few. Since 2015 I have spent a good amount of time working on new skills, mostly with online coursework and local meetups. This includes document stores (MongoDB), NodeJS, basic R language skills, and cloud computing. This is ongoing, as I believe that in this line of work one must always continue learning new things. The six years at Yale began as a part time job to help out with a necessary upgrade, and only ended many years later when I wanted to take on a new challenge. The second trip to South America was an attempt to work with a few locals to put together a co-working space with an eye to local individuals and small companies. When that didn't work out, and my visa was up, that was the end of that project.
What were you most satisfied with in your recent/current position?
Great users, top quality faculty and students, they really needed some help and I could do that for them. Staff and users were responsive to questions and appreciated when problems were solved.
What did you like least about your recent/current position?
The technology group was stretched a little thin, which meant some tools necessary to do the job had to be built from scratch. Relationships with vendors were sub-optimal. The time frame to finish an upgrade was prohibitively short, which put a limit on what could be accomplished.
Take each skill required for the job and do a STAR (https://en.wikipedia.org/wiki/Situation, Task, Action,Result) for a couple of situations.
-
A customer opens a ticket stating that some developers are being forced to authenticate every time they push to their GitLab server, while other devs do not. To help resolve the issue, email the customer explaining in quick terms the difference between htts and git access to repos. Also explain that there are options to store credentials, but that generally there is an inverse relationship between convenience and security. Ask the customer to get back with more information about the clients and follow up with additional suggestions if needed. Include links to both git and GitLab documenation.
-
A customer calls stating that their team would like to have video presentation files under version control, but the unedited files can run over a gigabyte. Tell the customer that large files can be used with GitLab and include the documentation. Ask the customer either to check the config file in /etc/gitlab or email it in to be sure that lfs support is set to true in their config. Arrange for a call or conference to go over the lfs client with the people managing the instance and/or some of the users. Check for any possible problems with the rest of the support team, since lfs support is a comparatively new feature in the application. Follow up after the call to be sure the customer is working well with the new config and client.
What professional achievements are you most proud of?
Two jump to the front. First, publishing two books about audio software with Peach Pit Press. Second, six years with the Yale Investments Office, being sure a world-class asset management group could do their jobs to the best of their ability, while not thinking about the technology involved.
Whose careers have you made better?
I hope I made the careers of everyone at Yale Investments better. The tech director and I took them from when technology was important to when technology was an existential need. In South America I hope I convinced some people that technology is an endeavor where anyone, anywhere who has a great idea can succeed. The jury remains out on the success of that project, but I still hope for the best. I hope by participating in local open source communities, wherever I was living, I helped others on their way.
How do you keep up to date with developments in your profession?
I attend many meetups with technology groups, especially in data visualization, data science, and front end development. I'm subscribed to mailing lists and google news alerts about linux, free software, and web technologies. I try not to read too many blogs, but many of them are tech related.
If you don't get this job what will you do?
Continue to look for a group I can work with for the long term, that believes in open source software and has an international footprint.
Are you interviewing anywhere else?
Yes.
How can we change GitLab, the software product, to make it better?
I cannot think of anything I have used yet that came up short. Longer term, I think adding the ability to spin up docker containers for testing and deployment, from within GitLab, would be a great idea. I am not at all a designer, but even very good design can almost always be improved. It might be possible to improve the perceived snappiness of the web front end. On a longer horizon, I would bet that at least basic mssql support will be requested frequently.
My experience as a user of GitLab has not taxed the application and has been quite pleasant, so most of these suggestions are a bit vague and forward looking. I'm sure I would have a better idea after some time spent listening to what customers think.
What can we change in GitLab, the organization, to make it better? (for example the hiring process or the handbook)
The handbook is detailed and clear, which I appreciate. I think the degree of openness from an engineering perspective, where so many issues are discussed publicly, is absolutely the best way to do things. So on those core issues I would suggest more of the same.
Since I opened an account on gitlab.com I have received only a few update emails. I think it difficult to have too many explanations, tutorials, and use cases to spotlight how individuals and organizations use software.
What do you expect to achieve in your first month at GitLab?
- The first priority will be getting familiar with how the team works, obviously the support team specifically, but also how devs, infrastructure, people, and sales/marketing interact with the rest of the team.
- Listen in on as many support calls as I can while not annoying anyone or leaving other things undone.
- Get much deeper into the application itself, especially learning how the GitLab team and users/customers implement the CI tools.
- Improve my knowledge of Nginx, with the goal of getting my knowledge of it close to my knowledge of node and apache, in short order.
- Have a solid, informed understanding of where I can expect to be three months and six months in.
This last one, to me, is critical. A month at a new job can go awfully fast, so if the first three on that list are in good shape, then it will be possible to map out a plan for where I can learn the most to help the rest of the team.
Where do you want to be in three years from now?
Professionally I hope to be working with a great group of people on software I like, with an emphasis on open sorce. Also I would like to have a better handle on front end tools and development. Personally I hope to have found some time to write, publish, and make music, those things being parts of my live I have neglected lately. Also in the personal realm, I hope to be involved in the open source community where I am living, and helping non-profits and artists find ways to use technology. Both of those groups often need help but lack funds to purchase that help.
How do you feel about working remote?
I enjoy working with people who come from other cultural and geographic backgrounds. I believe async communication and work will only become more common in the future. So I am happy to work in a distrubuted organization, where I can choose where to live and still work with a great team no matter where that is.
If you get hired when can you start?
As soon as possible.
What compensation would you feel comfortable with?
The mean for service engineer compensation, according to what I read, seems to be between 60k-65k. With my experience I think I should be at or above the mean. I assume that as I prove myself valuable and add skills, there will be opportunities for promotion and increased compensation in the future.