Life at Calcey

Mohomed Thahsan: How I Got Into Code

We at Calcey consider ourselves to be different⁠—the square pegs in the round holes if you may. This is also reflected in our hiring practices. Most other software firms in the country choose to recruit only from the top universities, but not us . The way we see it, a talented problem solver is a much more valuable asset than an expensive degree.

Mohomed Thahsan is an Associate Tech lead at Calcey who joined us three and a half years ago. A proud self-taught coder, Thahsan is a living testament to how powerful a cocktail of passion and hard work can be. 

Thahsan, extreme left, with some of his mates at a coding competition in Sri Lanka

Q: What piqued your interest in coding?

Growing up, I was the less talented sibling in my family. In comparison, my brother was leagues ahead. In other words,a code-junkie through and through. Naturally, I didn’t want to be like him. In my mind, I crafted an imaginary future for myself away from brightly lit screens.

I grew up, did my Advanced Level exams, and just about managed to pass. As I sat at home, pondering my future–a fuzzy abstract I had no means of comprehending, a relative told me to give IT a shot. In the absence of any worthwhile alternatives, I decided to try my hand at coding. And so it all began.

Q: As with every story, did yours have an important turning point?

Of course, it did. I enrolled in a short course with the aim of learning Android app development. I don’t believe I gained much out of it, but it did give me the impetus to start experimenting on my own. I began trying to develop small apps. The breakthrough came when I managed to develop a basic calculator app and get it running. Observing my own creation come alive on the screen was all that it took to solidify my path as a coder.

As a coder, that first success is quite important. It is the fuel that keeps you going till you bag your next win.

Q: What brought you to Calcey?

While I was busy teaching myself Android app development, I obtained a job at a small-scale software development firm. There were only a handful of employees. Coupled with the flat structure, I was involved in all development efforts at the firm. As a result, I had the chance to frequently challenge my own capabilities. A seating position next to a colleague who was well-versed in Java proved to be advantageous. A client of that firm referred me to Calcey, and here I am.

Q: How has Calcey helped you grow?

Calcey is where I came into my own as a well-rounded developer. Of course, I had my fair share of struggles. The first few days at Calcey, I left work exhausted simply because I was learning so many new things in such a short timeframe. Fortunately Caley gave me a mentor, Pramuditha, who kindly showed me the ropes. Things were much better from thereon.

Q: Do you have any particular method you use to help you learn?

The most important thing is to break problems down into smaller pieces. Then I try to look for something I already understand very well, even a basic ‘Hello World’ function would do. Using that as a platform, I try to put the disparate pieces of the puzzle together, eventually solving whatever problem I originally faced.

Q: Did you ever think of giving up at any point?

I did, and most people will. That’s normal. But what I realised was that entertaining the notion of giving up, along with all the mental torment that comes with it, was part and parcel of every amateur coder’s journey towards becoming a professional. The ‘Learn-To-Code’ journey is perfectly illustrated by Thinkful’s blog post.

The journey to coding competence is full of valleys and peaks / Credits: Thinkful

In essence, the journey towards becoming an accomplished coder can be divided into four parts.

  1. The Hand-Holding Honeymoon: You get to make use of all the well-polished tutorials and learning material that is available to you. You will still be learning the basics, but you will feel good about your accomplishments.
  2. The Cliff of Confusion: Stuck in a constant loop of debugging, you realise that coding is a much harder affair than you initially thought.
  3. The Desert of Despair: A long and lonely journey through a pathless landscape where every new direction seems correct but you’re frequently going in circles and you’re starving for the resources to get you through it.
  4. The Upswing of Awesome: Once you reach this stage, you realise that you’ve finally found a path through the desert and pulled together an understanding of how to build applications. But your code is still siloed and brittle, much like a house of cards. Now comes your search for a job.

Q: Any words of advice to an aspiring coder?

The best advice I can give anyone is to keep learning and keep experimenting. Follow your curiosity and start learning to code in the direction that your curiosity guides you. There will be times when you will be tempted to tear out your hair in frustration, but don’t. Spend your energy working through things, one step at a time.

Second, keep an eye out for new trends. I’ve subscribed to the Medium Daily Digest so that I can keep up with everything going on in the world of tech. It’s quite helpful and saves me a lot of time, which I would otherwise spend on mindless browsing.

Third, find a good environment to help you grow. For me, Calcey was the place which helped me improve my skills and become the proficient coder I am today. It’s an opportunity that I’m very grateful for.

Life at Calcey

How I Work: Program Management at Calcey

Businesses in the service industry quite often depend on project managers to keep everything running smoothly. A project manager is often the face of the company to the client, as well as the troop leader of a platoon of developers. This applies at Calcey, too. 

Rajitha Egodaarachchi is one of Calcey’s senior most project managers. Having first joined us as a developer, Rajitha changed tracks to become a project manager. Today, he is one of two program managers at Calcey. In his role, he is essentially a project manager of project managers.

Meet Rajitha

Q: Can you tell us a little bit about your role as program manager at Calcey?

We created the program manager role at Calcey for one important reason, and that is to ensure that projects are kept on schedule—given the demanding nature of the clients we work with—and to help us initiate corrective actions as necessary, proactively.

As program manager, I have a team of project managers reporting to me. I mentor them and guide them as necessary so that they can do their job better. In a way, I’m here to help them help their clients. I also manage a couple of projects on a hands-on basis, which is another interesting part of my role.

Q: How did you get into project management? Is there a set path which others can follow?
As far as the path is concerned, a lot depends on the firm you work for. At some of the larger software engineering firms, project management is a dedicated career path. At boutique firms, such as Calcey, the role of a project manager is combined with that of a business analyst. I prefer the latter because for someone like me, the duality of the role is very stimulating.

As to how I got into project management, I was a developer when I first joined Calcey. Since Calcey has a relatively flat structure, it allowed me to try my hand at Project Management after spending a few years as a developer. There was no great epiphany or anything as such.

However, it does help to possess some personal attributes, like being methodical and organised. Not being in possession of such attributes may actually hurt your chances of becoming a project manager.

Q: What are the most challenging aspects of your job?

One of the biggest challenges is ensuring timely delivery of projects, while keeping what we call ‘scope creep’ at bay. We basically operate on an outsourced delivery model, and sometimes, clients try to squeeze in as many development needs as possible at every stage of the process. When this happens, there is a risk of the project exceeding its budget, cost, and time parameters. Obviously, that’s an undesirable outcome. So, it is my responsibility to prevent this from happening. 

In terms of everyday workload, it is the scrum planning day that is most hectic. Tools like Jira, Google Hangouts, Slack, and Evernote help me keep track of things, day in, day out.

In my opinion, what I would call the No. 1 challenge is managing people. Be it the developers or clients, I need to be empathetic, but also firm and decisive when necessary. It’s a balancing act, really. Being a program manager is no walk in the park, but it’s extremely rewarding when you see a project being executed on time, despite any challenges that come our way.