Life as a STEP Intern at ThoughtWorks is full of learning opportunities. STEP is a two-year intensive entry-level programme for polytechnic diploma holders(10+3) such as myself. We intern at ThoughtWorks, get a degree and then go on to be consultants at the company.
A few months ago, the administration team at the Pune Office faced a rather sticky problem. The Pune office has a juice counter which serves freshly squeezed juice for all ThoughtWorkers at no cost to the employee. To get a glass of juice, the ThoughtWorker needs to sign a paper register so that the vendor can be paid for the juice consumed. Often, people aren’t precise with the entries on the register - people write their name and add a “+1” for accompanying colleagues.
At the end of the month, the office administrator had a tough job while going through the entire list for every day of the month to manually count the total number of glasses of juice glasses consumed to be able to pay the vendor. In addtion to being frustrating, it also resulted in paper wastage.
So when I offered to develop an application for the Juice Counter for Pune Office, the administration team was thrilled. As it turned out, I learned a lot from my experience as well.
Here are some of my learnings, experiences and challenges as a rookie developer, building one of my first applications.
In true ThoughtWorks spirit, we decided to apply the same thinking that we use to solve problems for our clients, to arrive at a solution for us. After all, our STEP training has been all about short and quick feedback cycles, getting working software in front of customers and pivoting on ideas to refine them over time. We needed an initial approach to go with though. Working with my colleague Priyank Gupta, we decided to use QR codes to solve this problem.
The idea was quite simply to give out a QR code to each employee. This would be a very small sticker that every ThoughtWorker places at the back of a mobile cover or the back of an identity card. Our app, we called it Scrooge, would scan the QR code, make an entry and, voila, everything would be automated! No more paperwork, no more signatures, and no more manual calculations.
We also proposed that we run the project in an “Innovation Lab” or “Rapid prototyping” mode where we could get immediate feedback for our app and so we could improve it. Of course, we had the advantage of that our users - ThoughtWorkers - were easily available for us at the juice counter.
Getting to work
I had a hidden motive for undertaking up this project. Besides helping the administration team, I wanted to gain exposure with a new technology.
In a manner typical to our projects, I talked to the admin team to understand their requirements and generated user stories. I wrote an API which would send the updated count to the database after scanning a QR code. The admin team got me a scanning device and very soon I was ready to deploy a product and take it to ‘market’. It took a straightforward office email with simple instructions to get everyone started.
Over a period of multiple releases I went from a product that needed multiple steps, including other redundant information like a ThoughtWorker’s identity to record a count, to a simple, easy to use app that simplified data collection for both the administration team and the end users.
Since it was the first time I was working on an application all by myself the challenge was to play all the roles on the team. And while it was exciting, it was daunting to be a BA, QA and Developer all at the same time. Gathering requirements was a big context switch from learning new technologies and applying them. And to test the application with an eagle eye wasn’t easy, given I was the developer as well! To add to this, in a small way I was also the product owner and the onus was on me to get feedback from my users and thinking about different ways to market the product, fulfill client requirements and also keep the end-users happy.
Looking Back and Looking Ahead
Developing “Scrooge”, the app for our juice counter was a very fulfilling experience. By playing multiple roles, I was able to empathise with the demands on each member of a regular software development team. The experiment with QR codes has now given us an inexpensive strategy for any other office applications that we create. This experiment has spawned a multitude of ideas - from equipment allocation to room booking. At the end of it all, I’ve grown as a consultant in my very first year as an intern.