Tiffany: I am a software engineer from Boston, USA. I studied computer science at a university an hour west of the city. Embarrassingly in my first year, I failed one of the introduction courses to computer science. I love to travel all around the world to experience new cultures and meet people, which is why I decided to move to Australia.
Tiffany: Actually, I had never heard of Thoughtworks before I applied but as soon as I saw the mission statement on the website I was really hooked onto this company. I have always wanted to do something that had a larger impact than making money for the company, but I knew that a lot of other companies didn’t have those opportunities. When I saw that Thoughtworks strives to operate in a social and economic just manner, I had a feeling that this may be the place for me.
Also, I have never officially worked as a consultant before but I did something similar in my previous company where I worked on various teams, helping them with some of their biggest problems when they needed someone the most. I loved the idea of consulting. There are always new challenges and people. It’s fast-paced and there is some level of pressure with deadlines. The people also seemed passionate and dedicated. It basically sounded like my ideal work environment. Lastly, I had a dream to move to Australia so the only jobs I applied for were in Australia, which I am really glad about because otherwise I might have never found Thoughtworks.
Tiffany: It went so smoothly and that is largely thanks to my recruiter Anita. She was always so responsive and really made the 14 hour time zone seem nonexistent. I think a huge aspect in making a remote interview process successful is scheduling. Anita and Patricia made it so easy and I was always able to specify my time preferences. A lot can go wrong when interviewing remotely but all the interviewers were on time and the wireless connection was never an issue. Everyone was super active during the interviews so you barely noticed there was a screen between us. They adapted two of the rounds slightly to better accommodate me and I really appreciated that. Both of these steps I'll talk more about in the following questions.
Tiffany: My absolute favorite step was the round where the interviewers ask you behavioral and cultural fit questions. Typically this is done with two people outside the field you are interviewing for so you can meet people from different domains. I really loved this because you get a broader sense of what the people in the company are like, which is really important when you're interviewing completely remote and you don't get a chance to walk in the office and get a feel for the office dynamics. The actual interview was so much fun. On a table are a number of cards grouped by colour. Each colour corresponds to a category, and each card you draw has a question on it. We had so much talking about the answers and it was so casual. They even let me "draw" a card by holding up the pile and letting me tell them which card to read. By the end I really felt like we were old coworkers catching up.
Tiffany: I would say the most challenging step was the pair programming technical interview. This is typically the interview that follows the technical chat. They modified this step for me as well by having me do the assignment beforehand and present my code to the interviewers. In that regard, there was not much pair programming in the typical sense but it was still really good because we were discussing the tradeoffs of the different ways I could have approached the problem. At the very end I wrote a test for them quickly using TDD, so if there is one thing I learned from that round was that I needed to brush up a bit on proper TDD techniques.
Tiffany: I presented my design and explained the thinking behind my solution. Both interviewers provided feedback and we had really good discussions about tradeoffs. When I was coding the solution, the top priority for me was to be able to unit test everything and use proper dependency injection, which heavily influences testing. TDD really pushes for independent feature implementation, which means that the test you are writing is for a very specific piece of functionality. Because of this, my code abstracted a lot using interfaces in order to make the solution very adaptable for when new features would be added or existing features were removed.
Tiffany: Honestly, the people played a huge part in my decision. Everyone had high energy and the conversations seemed so genuine. I could see myself on the other side one day doing interviews for Thoughtworks and recruiting the same kind of enthusiastic and driven people. I felt at home with this company. I could envision the opportunities that I would have and the work that I would do and it made me really excited. I loved my previous job and company. Everyday I was excited to go to work and when work ended, I was always like “oh work is over now”. I absolutely had to be certain that the next company was going to do the same thing and I believed that Thoughtworks would.
Tiffany: DO IT. If you are doubtful or scared about making that big commitment, don’t be. I’m the kind of person that lives in the moment and truly believes that everything happens for a reason and always works out for the best. If this is something you want then believe that you can do it and the rest will follow. You will not have regrets.
For advice on remote interviewing, I would say be on top of your communication especially with your recruiter and even following up with your interviewers afterwards via LinkedIn. You definitely want to be very present since there is a screen between you and them. Make sure you have a strong internet connection because the last thing you want is your screen freezing up and no one can understand anyone. Lastly, have fun with it because it should be an enjoyable experience and that is when you can really let your true self shine.
Disclaimer: The statements and opinions expressed in this article are those of the author(s) and do not necessarily reflect the positions of Thoughtworks.