Hello, I’m a technology professional from Colombo, Sri Lanka. Over the past fifteen years I’ve worked on a wide variety of things, from designing and developing high frequency trading (HFT) systems for financial markets in the United States, Europe and Hong Kong, to electronic regulatory compliance systems for the Philippines and the International Labour Organization, to large scale e-commerce systems for a Fortune 100 corporation. I’ve worked with C++ most of my career (ten years), effectively making it my mother tongue, but I’ve worked with Perl, Python, Java, PHP and Javascript (which is my new favorite language, thanks to HTML5, ECMA6 and Node.js).
I’m currently serving as Vice President of Engineering (in reality a glorified Software Architect) for Sysco LABS, a part of Sysco focused on engineering innovation and customer facing product development.
Before this, I served as Chief Software Architect for Infoshare Ltd., a company working for positive social change through technology, and as a Technology Consultant for thinkCube Systems Ltd., a digital services company specializing in cloud applications. Before that, I was a Software Architect at MillenniumIT, a member of the London Stock Exchange Group that builds financial trading software. I graduated from the University of Moratuwa with a Bachelor’s Degree in Computer Science and Engineering in 2003.
I’m a bit of an optimization and productivity nut: I like to automate everything that can be automated; chaos and wastage in process makes me itch intolerably; and I’m obsessed with eliminating boilerplate code, amongst other things.
In my spare time, I engage in science and technology education activities for young professionals and students, something I enjoy doing, me being a lifelong science buff and all. Even though I fancy myself an amateur science fiction writer, my novel is currently stuck in that horrible place between first publisher rejection and second draft.
Hasitha N. Liyanage
An Epidemic-based Reliable Multicast Protocol, University of Moratuwa, 2003
This was my final year project. Our four-member team developed a UDP-based reliable multicast proof of concept, based on Kenneth Birman’s work on gossip protocols.
Auction & Electronic Market Integration (AEMI), The American Stock Exchange, 2005 - 2007
I was involved in the development of the trading kernel, market data sub-system and automated quoting for the new hybrid trading system rolled out by AMEX in 2006.
Post-Trade Risk Management, ICX
I designed and developed the post-trade risk management system for the ICX commodity exchange, which went onto become a part of the technology platform used by the London Stock Exchange.
High Frequency Trading (HFT) System for U.S. Treasuries, NineAlpha Capital Management, New York, 2010-2011
I was the lead developer for MillenniumIT’s first algorithmic trading platform for fixed income securities.
The Hong Kong Stock Exchange Central Gateway, 2012-2013
I was the lead developer for for HKEx’s Central Gateway, and one of the architects of the 3rd generation of the ultra-low latency gateway platform on which this implementation was based.
Labour Law Compliance System - Management Information System (LLCS-MIS), 2015
I helped design and develop the electronic regulatory compliance system currently used nation-wide by the Philippines Department of Labour and Employment, with assistance from the International Labour Organization.
Why Software Projects Fail, 2013
My talk at the 2013 Google G-Day (Sri Lanka) event.
The Babel of Programming, 2013
My talk at the 2013 Google DevFest (Sri Lanka) event.
Hackathons and startup incubator programs I’ve judged, mentored or advised over the past few years include:
MIT Global Startup Labs Sri Lanka, 2014
Entrepreneur Challenge 2013, Royal College, Colombo
Courses and programs I’ve taught include:
An Introduction to C++ a programming course for the personnel of the Electronics & Telecommunications Wing, Ratmalana Air Force Base, Sri Lanka
Software Engineering, Bachelor of Information Technology (External), University of Colombo School of Computing