James Wilkinson

Year in Industry

A little about me

Hey! My name is James Wilkinson, I'm 23 years old and I'm enrolled on BSc/BEng Computer Science (with a year in industry).

I wasn't originally enrolled onto the year in industry course but couldn't recommend it more! I've loved it!

Prior to the placement I had limited experience, I had done some web development work but I had never had a proper tech job. I didn't feel entirely confident in my programming abilities but since completing the placement I've gained a huge breadth of knowledge and I'm very excited to continue in my career as a software engineer!

A little about Couchbase

Couchbase is a public NoSQL cloud database company based in Santa Clara, California, employing over 600 employees all over the world. Formed from a merger of Membase and CouchOne in 2011,

Couchbase has since focused on building a NoSQL database that can serve mission critical applications of the largest companies in the world such as LinkedIn and Tesco. Couchbase offers performance at scale, flexibility and familiarity - coming with its own SQL-like query language N1QL. Couchbase provides value to customers across cloud, hybrid and on-premise deployments.

Location

I was based in Couchbase's new Manchester Office found on Tariff Street in the Northern Quarter. The office was amazing and came with a kitchen, a fully loaded fridge and loads of space to work. We would have weekly community lunches in the office where we would order a takeaway for lunch!

I also lived in an apartment in the Northern Quarter just around the corner from the office - it took me not much more than a 45 second walk to get in! I shared the apartment with another placement student and we paid around £600 a month on rent/bills each.

My role in the team

After the first two months of working through enablement content and working in the support team, I joined the Shared Services team as an Industrial Placement Engineer.

The goal of the Shared Services team is to increase productivity in the Field Engineering team via maintaining and developing tooling/infrastructure. The team is also responsible for maintaining a catalogue of product demos and delivering workshops to customers.

I reported to Perry Krug, Director of Shared Services, and my key responsibilities included:

  • Maintaining, developing and documenting tools, such as Customer360 and the Sizing Calculator, used by the Field Engineering team in order to increase their productivity
  • Reviewing and preparing deployments into our staging and production Kubernetes environments
  • Developing a Terraform provider for Couchbase Capella, Couchbase’s Database as a Service offering
  • Extending the product demo catalogue with technical demos and delivering demos to internal and external teams

My fears and advice

Prior to the placement, I was not entirely confident in my abilities and felt that I was an imposter. I was anxious to reach out for help in fear of asking something that was a "stupid question". I found that everyone at the company was really supportive and was happy to help with whatever so don't be worried to ask for help!

I also had grown up in a small rural village so moving to a big Manchester was quite overwhelming. Make sure to get yourself exploring, take the opportunity to do things in the area and enjoy yourself!

Salary and Perks

My salary was £20,000 a year for a 39-hour week with a £2,000 completion bonus.

I was able to work remotely during the whole duration of my placement. I was also entitled to 2+ weeks of paid holiday.

Projects

During my time at Couchbase, I was fortunate to work on a range of projects. I worked in an agile team where we would plan the work in monthly sprints, we would participate in daily stand up meetings and have retrospectives at the end of the sprint to discuss what went well, what went wrong and what could be better. All the projects that I was working on, I was working on simultaneously which was a great experience in managing my workload! Below are details on the projects that I worked on:

CUSTOMER360

Customer360 is an internal tool collating data from all Couchbase customers, pulling in data from multiple sources and offering views to Couchbase employees to assist in their work. It was forked from an existing project and is with the Python Tornado framework in the backend and Vue.js JavaScript framework in the frontend. I was working on Customer360 the whole duration of my time in Shared Services and had the opportunity to work on both the frontend and backend. Later in the placement, I was responsible for deploying Customer360 to our staging and production Kubernetes environments. I was able to design, implement and also refactor large features of the application. The biggest challenge and learning experience from Customer360 was working with a legacy codebase. I was exposed to one of the biggest issues in software engineering, technical debt, and saw how the importance of writing clean code can prevent this.

SIZING CALCULATOR

Another greenfield project that I worked on alongside another intern was the Sizing Calculator. The calculator takes inputs determined by customer’s deployment logs and returns a sizing recommendation for the cluster. The Sizing Calculator already existed as a very complicated spreadsheet, but it was our task to design and build the calculator as a web application that could be deployed into our existing Kubernetes environment. We were given the freedom to use any technology to develop the application. We used Flask for the backend and Vue.js for the frontend. This was a great experience in software design and the design patterns used helped me in later projects.

TERRAFORM PROVIDER

A colleague and I were tasked with developing a Terraform provider, from scratch, for Couchbase's Database-as-a-service offering, Couchbase Capella. Terraform is an Infrastructure-as- code tool which allows you to write what you want to deploy as code allowing for deployments to be automated and version controlled. A Terraform provider is a plugin that can be called in the Terraform config file that will deploy resources from the service’s API. This would mean that users would be able to deploy their Couchbase clusters in Capella with code. The Terraform Provider is public, open source and written in Golang. We had to make sure that the code we wrote would be up to industry standard. Writing the provider came with a lot of challenges, ranging from communicating with multiple internal/external teams, estimating completion of the project and considering software licenses. The provider has since been published on the Terraform registry, has been verified by HashiCorp and is being used by members of the terraform community.

CLOUD AND EDGE DEPLOYMENT DEMO

I created a demo for deploying Couchbase Server in Cloud and Edge environments, replicating data between them using Couchbase’s Sync Gateway. This involved building a Java REST API for a sample dataset and deploying it onto resources I created in Microsoft Azure. This demo was my first experience of deploying architecture into the cloud that the application I built would rely on and helped me to understand other deployment environments I would come across. I had to provision the architecture outlined on an architectural diagram and write a deployment guide for the demo. Parts of this demo later featured in a video at Couchbase’s booth at the Mobile World conference.

Other Projects and Experiences

I prepared several other technical demos using multiple technologies, including a live demo at the university. I was also invited to be involved in the interview process for the next wave of intern hires which was strange and exciting to be on the other side of the desk!

In Summary

The year I have had at Couchbase has been amazing and I don’t think I could’ve asked for much more from a placement. I came into the placement feeling like an imposter, feeling like I was behind before I had started and that I had limited experience. Over the course of this year I’ve learned so much! I have become more confident in both my technical and soft skills and have worked with some great people who have mentored me throughout the year and I hope to keep in contact with them. I strongly recommend the year in industry - especially at Couchbase!

Follow your favourite employers
Save jobs to your shortlist
Receive personalised alerts
Access our live webinars
Register now
On the move? Download The App
Gradcracker Logo
Gradcracker Limited, October House, Long Street, Easingwold, York, YO61 3HX
01347 823822 | info@gradcracker.com | Company registration number: 6370348
© 2007 - 2024 Gradcracker Limited
Gradcracker and Cookies
We use cookies to ensure that we give you the best experience on our website.
If you continue we'll assume that you are happy to receive all cookies from Gradcracker.
Continue
Learn more