Dhanushka Jayatilake is the Principal Software Architect at Calcey, and has been a very important part of the team for the last 10 years. We asked Dhanushka what advice he would give, if his present self was to meet his 22 year old self.

Here’s what Dhanushka had to say…

Dear Dhanushka,

You’ve put in a lot of work to get here. As you step out of the University of Peradeniya as a qualified software engineer, a world of opportunity awaits you. Those opportunities will only continue to grow, mark my words. But as your future self, I have a few words of advice for you. I hope they serve you well in time to come.

Dhanushka conducting a workshop
  1. Master the basics

    Four years from now, a Californian in blue jeans and a black turtleneck will introduce a new type of device to the world. It will be a small rectangular slab of a device. But it will change the way people interact with computers. People around the world will spend hours on this device launching cute little birds at castles built by a bunch of evil green pigs (Hard to believe, I know). A great new world of possibilities will open up, and your favourite programming language of C++ will give way to newer and better programming languages, just like how COBOL and Fortran gave way to Basic, which in turn gave way to C++. This cycle will continue.

    So make sure you learn your basics, and learn them well. Lots of programming languages may come and go, but the basic principles will always remain the same. That’s how it has always been, and that’s how it’s always going to be.

  2. Learn to learn

    This might confuse you, but hear me out. It is absolutely important that you continuously upgrade your skills. After all, you have chosen to work in a field where things change fast, very fast. That said, don’t rush to learn every new thing which sees the light of day.

    Whenever you come across something which piques your curiosity, take the time to understand it very well. See what it can do, and cannot do. Break it down into its essentials. Not only will this help you learn faster, but it will also help you appreciate the beauty of a new programming language for instance, while understanding its limitations. That is what wisdom is. In an era where knowledge is plentiful, wisdom is what will be in short supply, and thus, be valuable.

  3. Think through problems

    As you start working, you will find yourself wrestling with programming problems. Don’t worry. Take a deep breath, and step back for a moment. You may be tempted to have a go at the problem right away, but don’t.

    Instead, think very carefully about the problem you’re facing, the outcome you need to achieve, and the tools available at your disposal. It is essential that you at least draw up a mental blueprint for how you plan to go about solving the problem at hand. This willingness to plan is what separates the pros from the rookies. Abe Lincoln put it best when he said “Give me six hours to chop down a tree and I will spend the first four sharpening the axe”.
All smiles

As you think about your future while roaming the beautiful lush green gardens of the University of Peradeniya, you may be filled with fear. Don’t fret too much though, it will all work out well. I can guarantee that.

A few years from now, your CV will find its way into the hands of a gentleman running a small company called Calcey. It will be your second home for the next 10-plus years. You will rise up the ranks and eventually, find yourself managing 80 other young developers. Congratulations!

Oh, and one final word of advice. Try to find experienced mentors early on in your career. They will be able to show you the ropes and guide you, which will save you a lot of time, trouble, and late nights.

All the best!
Sincerely,
Dhanushka.