What is Xconf?
Xconf is an event that is hosted by ThoughtWorks, a consultancy agency with a global presence in place such as in the EU and the Americas. It is basically a space for developers to mingle with each other talking about the latest in coding and (enterprise) technology. But more than that, they have also invited keynote speakers from different companies to come to speak of their experience in the industry in the event.
This year, the event is held at The Capitol Theatre near City Hall.
Who are the speakers?
Namely for the inaugural event this year, the first in Singapore, they have managed to get Ajey Gore, GoJek’s current CTO to talk about his vision in development and the thought process in developing the current ride-share app and the payment system that is associated with it. Another notable speaker is Sau Sheong Chang, a senior developer, author and technical lead at Singapore Power that was hired to lead the company through it’s “digital transformation” journey; He shared with us his almost 3 years journey through a subsidiary company of SP, named Singapore Power Digital, as CEO in creating a platform for both customers and other businesses to use.
Of course, many of their own employees have also given their own speeches in the conference regarding things like data analysis and DataOps, the know-how of putting data sets through a machine-learning algorithm.
You can say that for the most part, it’s sort of like a ‘tips and tricks’ knowledge sharing session where speakers share their know-how of tackling a complex situation or common problem that one may face during development.
Before sitting for the talks, the event also had 2 small booths set up at the event entrances as a way to engage developers to talk about the current trending technologies used by companies and developers, a nice touch I might add. One includes a “Tech Radar” where attendees can pin their thoughts on the kind of software/tools/platforms that they should look out for in the industry. They’ve also included a handy booklet that details the kind of things you should look out for in each quadrant (presumably with data pulled from their own research).
The other booth is simply a place where you could sign up for their newsletter by scanning a particular QR code provided. They were also giving out novelty mini-stickers for the attendees to take home which is interesting.
Of course, due to the fact that all the talks are lengthy dives into the development processes/results, I’m just going to try my best in providing an excerpt of the things that they talked about during the event.
Software Design in the 21st Century by Martin Fowler
“In the last decade or so we’ve seen a number of new ideas added to the mix to help us effectively design our software. Patterns help us capture the solutions and rationale for using them. Refactoring allows us to alter the design of a system after the code is written. Agile methods, in particular Extreme Programming, give us a highly iterative and evolutionary approach which is particularly well suited to changing requirements and environments. Martin Fowler has been a leading voice in these techniques and will give a suite of short talks featuring various aspects of how these and other developments affect our software development.”Keynote
Martin Fowler’s talk tries to encourage developers to adopt the Agile methodology in programming. That is to say, develop the habit of doing continuous integration of the code into the product and cultivate a habit of doing test-driven design through continuous testing of the code before it goes into production.
On the business end, this means delivering working code as cost efficiently as possible. The only way to be able to do that, he argues, is through writing clean code that does not impede the development of future code in the software.
Simply put, the act of planning ahead for future features and not rushing things, has been statistically proven to reduce the time it takes (and hence reduce its cost) to deliver a finished product as they wouldn’t incur a “Technical debt” in which one must go back to fix previously deployed code.
Stop Asking your Customers what they want (Observe, Measure and have the Courage to Experiment) by Naren Katakam and Thao Dang
“Customers are not going to lead you to the utopia of product innovation but you do need to know what to focus on to learn from your customers. This talk will focus on how to enable organisations to run thousands of experiments per year and create a culture that allows for constant failure, learning and iteration. We will take you through the principles, processes, and practices on how to use hypothesis-driven experimentation for the specific purpose of accelerating decision velocity to push you forward and give you a leg up on your competitors.”Keynote
In the talk by Thoughtworks employees Naren Katakam and Thao Dang, they go on the process of talking about the ways that one would be able to extract useful data through user testing with the help of both quantitative data and qualitative data. They also talk about the method of refining this data through a feedback loop that takes this new set of data gathered from the current metrics and inputting it back into the testing system again.
They also went through briefly about the two main areas that one should look out for to increase the speed of delivering a feature from code commit to implementation on the production server.
Fireside Chat with Ram Narayanan and Ajey Gore, Group CTO, Go-Jek
“The more you share your work, the more you de-emphasise yourself when it comes to a bottleneck situation.”Audio Excerpt, Ajey Gore, on the culture of working in the company
“When a developer joins Jo-Jek, […] we want [their code] to go into production within 7 days. First, we have to see their code goes through. Second thing is that […] there is no check and balance [when pushing the code] […] Once we do that, we see them unleash themselves.”Audio excerpt, Ajey Gore, on moving to new technologies
In the 30 to 40 minute fireside talk presented to us by Ram Narayanan, Ajey goes on to speak about the kind of culture their company is trying to create. An important part of it is building trust with teammates that could be in another country; this allows you to de-emphasise yourself in a bottleneck situation as many people are working on the same feature at once.
Rapid testing and prototyping are also emphasized in the company to allow developers to push their code without another person checking, letting them make mistakes and learn from it (Or being ‘courageous’, in his words).
“Sometimes, people don’t actually realize the ‘time-slice’ to change into new technologies. […] we adopted Kubernetes and gPRC when their development was still in [the] beta stage”Audio excerpt, Ajey Gore, on moving to new technologies
“Asking for help does not make you smaller, you [learn more] by asking every time”Audio excerpt, Ajey Gore, on seeking his ex-colleagues for advice on the Go-Pay payment system
He goes on to say that one has to let the technology evolve in order to meet the demand of the product and that developers should keep an eye out for when a particular technology is no longer suitable for their work.
He encouraged people to not be afraid to seek help when in need, he mentioned an example when he had sought help from his ex-colleagues to build the payment system as he had no idea what to do.
Improving How we Deliver Machine Learning Models by David Tan and Jonathan Heng
“Despite the hype around machine learning and AI, the lifecycle of ML models often end in kaggle competitions, hackathons and proof of concepts. Very few make it to production because individuals and teams inevitably encounter impediments in data governance deployments, model management, and reproducibility, just to name a few.
To overcome these challenges, we need to put in place the right tools, processes and supporting infrastructure. In this talk, we will share principles and practices on how we can build end-to-end machine learning pipelines to enable teams to iteratively deliver value.”
Speakers David Tan and Jonathan Heng shared with us a full end-to-end solution demo as an example of deploying a data set through a machine-learning algorithm that returns a probability value. Their talk has an emphasis on the problems that one would encounter in a production environment and the things one can do to mitigate these factors.
You can check out the repositories of setting this up in a DIY format through the following GitHub links if you would like to try building an example model by yourself:
Digitizing Electrons — Transforming a Singaporean Utility Company by Sau Sheong Chang, CEO, Singapore Power Digital
Last but not least, we’ve had speaker Sau Sheong Chang on the stage to talk about the kinds of platforms that he has built for Singapore Power from a one-man team to a team of 140+ in the span of 1 ½ years in the new startup.
The highlights of his talk includes an IoT platform named SPUG (Singapore Power Universal Gateway) that is designed with cloud and repository integration in mind. It acts as an interface to digitize information from on-the-field equipment (such as meters).
Another platform includes collaborating with other energy providers to use Blockchain technology to keep track of renewable energy creation. These generate a “Green energy attribute” , represented by a Renewable Energy Certificate, that can be repacked and sold in the open market through a public exchange.
Please stay tuned for one more update to this article as we try to get an email interview with Ajey Gore himself.