A couple of months back, I was introduced to Geektrust by a friend. I thought it was just another competitive programming website. Reluctantly, I opened it up in my browser. I looked around and went through all their offerings. They have coding challenges, and based on the results of these challenges, companies (registered with Geektrust) can shortlist you for interviews. This is all pretty standard to what a few other such services offer. But boy, was I wrong! Read on to know more.
The Coding Challenges
The very obvious place for me to start was the coding challenge. By this time, I had become a very passionate advocate for clean code. I needed practice. I had been aggressively refactoring the code of one of my products (shameless plug), and was happy to try out a new coding challenge. This sounded like a great opportunity. What I didn’t know till now was that the people over at Geektrust manually look through your code, analyse it, and award badges. There is obviously automated analysis as well, but the USP is definitely the human analysis and the comments.
There aren’t a lot of coding challenges to choose from. They just have four backend challenges, one frontend challenge, and one tech-architecture challenge. But if you take up all of the challenges, you’ll have become better in all these aspects of software engineering. I went with one of the backend challenges, called Family. This is about building a family tree and then adding new people to it or getting relationships based on the commands given in a file.
I was excited because I got a completely new project to apply all the new principles and techniques I have been learning. I wrote the test cases, wrote the code, made it working, and submitted the code. After a day or two of waiting, I got the email back from Geektrust, with review comments.
The level of detail in the review was amazing. This is when I got to know that this is a manual process. There is obviously a bit of automation because they give the input in a certain way and expect the output to be in a certain way. Also, they want the executables to be built a certain way. This is because they run through an automated process even before they take it up for manual analysis.
The silly mistakes I had made in the code shocked me. This, of course, was after I got the review comments from Geektrust. After this, I sat down with my code and made all the necessary changes. I made a few more changes of my own which I thought were necessary. I submitted the code for review a second time.
Again, after two days of waiting, I was excited to get the second email with review comments. This time, I was a bit more relieved to see the comments. My code, at least in my opinion, was close to their expectation than the first submission. And, by the way, I had accumulated quite a good number of badges on Geektrust with these two submissions. And my score was not all that bad, it was in the green zone right from the first submission. I was happy about that.
After I submitted the code, something nice started to happen. Companies on Geektrust started showing interest in me. This is because they had seen my code even before interviewing me. They had seen the badges, the score, and my profile. I’m pretty sure the recruitment teams at these companies are in constant conversation with the team over at Geektrust about potential hires. Anyway, I was amazed at how many companies were interested in me. I started getting more than one email every day about a new company showing interest in hiring me.
I was not looking for a change of job at that point, so I did not respond to any of these notifications. What I was expecting from Geektrust was to increase my programming skills with their reviews. But that is not the case for many people using Geektrust’s services.
In my circle of friends, I know more than a couple of people who took up these coding challenges, got connected to a few companies on Geektrust, attended interviews, and are now heading towards their dream jobs at some reputed companies.
What I like about Geektrust is that even before shortlisting a candidate for an interview, these companies can assess the coding capability of the candidate through these coding challenges. This good both for the companies wanting to hire, and for us as users of Geektrust. If you are looking for a job change, I highly recommend you give Geektrust a shot. You might end up getting an offer from one of the many companies on the platform.
I met the Geektrust team
One fine day, completely out of the blue, Geektrust contacts me and asks me if I’m up for a chat with them. This took me by surprise because, well, why would a company like Geektrust want to talk to just another user, like me? But as you can expect, I was super excited to meet these people. So I said yes.
The day finally came. I went to their HSR Layout office in Bangalore. As soon as I saw the office space, I was reminded of my old self a few years back. I started my career working at an early stage startup just like Geektrust. This is particularly important because apart from your primary skill, you learn a lot more at such places. That knowledge had helped me bootstrap my own startups, not just once, but twice.
Anyway, I was welcomed, very humbly, by the Geektrust team into their office. The first thing that surprised me was how humble, friendly, and welcoming these people were. These are some of the smartest software engineers I have ever met, much more experienced than me, have all the rights to look down on me. But nope, instead, they turned out to some of the most friendly, always smiling, people I have ever met.
Once I was in the office and was made comfortable, I got the opportunity to meet Sneha Jain, Clair Sebastian, Gaurav Aditya, and Krishnan Nair. It was a great pleasure to meet these people. Because not only did I have a great time talking to them, but I also learnt a lot from them. I never expected them to be so humble in their discussions.
I was there for probably a bit over an hour, and enjoyed each minute of the stay. And finally, I left after our little chat.
The Automated Review
I have already mentioned that there is a good amount of manual effort put into reviewing all the code that is submitted to Geektrust. But obviously, it’s not scalable (and maybe that’s why there’s a limit on the number of submissions you can do). And I always had this doubt. So when I got the chance to meet them, I asked them about their review process. They told me about their new automated review tool Codu. They are pretty vocal about the tool, and for good reason. If you’re interested, you can learn more about it here.
They did explain it to me at a high level. There is, quite obviously, a good amount artificial intelligence (and Natural Language Processing) involved here. And the tool is home grown, right inside Geektrust. According to what they told me, they have been training the tool with all the code submissions they have been getting till now. And it looks like they are finally confident that the tool can replace the human effort to a significant extent. So shortly, they are going to put Codu to action. I can’t wait to get feedback from the tool and see it for myself.
If you want to improve your coding ability, get reviews from some of the best in the industry, and want to get hired by a company which has similar philosophy about programming as you do, try Geektrust. You will not be disappointed.
Become a Patron!