Cover Story: How Stack Overflow, GitHub are changing the programming world

This article first appeared in Digital Edge, The Edge Malaysia Weekly, on April 26, 2021 - May 02, 2021.
Cover Story: How Stack Overflow, GitHub are changing the programming world
-A +A

It was the late 1990s, and dial-up internet in Malaysia was the norm. The household landline doubled as a dial-up connection to the World Wide Web, and family members had to be careful to not pick up the phone while Mom or Dad were downloading important work files from their Hotmail and Jaring email accounts.

It was in this environment, rife with fear of a global superbug called Y2K, that one Arzumy Md was studying computer science at university. Just out of high school, and blessed with a knack for programming, it turned out he also had a talent for co-opting university landlines to surf the internet. 

As it happened, someone on campus found out and deemed the entire incident “theft”, resulting in Arzumy being hit with a six-month academic suspension. And just like that, he was done with higher education. 

Not one to sit on his hands for six months, Arzumy applied for and won an internship with a tech company that developed a unique, gamified text messaging service. Within a year, he had been promoted and put in charge of 15 other software engineers. 

“My boss at the time was a Dutch gentleman who noticed my skills as an intern, and within the span of a year, promoted me to chief technology officer (CTO).”

It went about as well as one might imagine. “At that stage in my life, being chief technology officer proved to be a bit of a management disaster, because I had no idea how to lead anyone, much less a team of 15 software engineers. I was promoted specifically because of my programming skill set, and I did my best in that regard.” 

As it turns out, all those hours spent in dingy cybercafés and “stealing” bandwidth from university landlines did not go to waste. Indeed, growing up in the days of dial-up, Arzumy had taught himself to code on any number of early technology forums on the internet. 

A little over 14 years later, he is CTO of local fintech company Fave, which was recently acquired in a US$45 million (RM185.8 mllion) deal by Indian digital merchant commerce firm Pine Labs. 

Arzumy is one of a small but growing cohort of Malaysian technology specialists who mastered their craft not in lecture halls, but on online forums. To put it simply, technology is giving education institutions a run for their money and, increasingly, this trend is reshaping how businesses find, hire and train technology recruits. 

Technology, the great equaliser 

Those early internet forums were the precursors of platforms such as Stack Overflow (SO) and GitHub. There are many others like them, but these two are by far the most popular. 

Today, these platforms are not only legitimate and sought-after sources of tech knowledge, but they are also reorganising hiring priorities for almost any business with a technology footprint. 

Think of SO as a highly curated, technology-centric, question-and-answer forum, not unlike Reddit. It has been a focal point for both professional and hobbyist programmers since it was created in 2008. 

GitHub, meanwhile, provides hosting services for software developers to view, work and manage their source codes online, and collaborate with other developers. 

Like SO, it is a fundamentally open-source platform, which allows users to pick up and use publicly available source codes made by other developers, free of charge. There is a premium component to both platforms, of course, but the platforms’ long-standing claims to fame lie in their free, open source nature.

These platforms are quite curious in that they regularly facilitate complex programming-based problem solving, the solutions of which are provided by highly accomplished subject-matter experts, all for the benefit of complete strangers. 

Though many of the questions, problems or source code contributions may well have been posted by enthusiasts, it is just as likely that those posing the questions have a real economic incentive to find the answers. 

This means the contributors who provide the answers, for free, have little reason to give out their knowledge without pay. And yet they do. 

According to Innergia Labs CTO Wayne Ch’ng, the dynamics that play out on SO and GitHub make a lot of sense when one views the broad software engineering ecosystem as a creative endeavour. 

“When I see someone provide a particularly elegant solution on SO, I tend to draw comparisons to an artist sharing a stunning bit of artwork on DeviantArt,” Ch’ng says. DeviantArt is arguably the largest and most popular online art community in the world right now. 

“I used to work in the US, and I had a lot of friends in the ecosystem, and one would be surprised at the number of programmers who come from an art history background, or the creative arts more generally. 

“These people see software and coding as just another medium in which to express themselves. And I’ve seen them come up with some of the most interesting and brilliant programs.” 

It would appear that on some level, these platforms have effectively tapped into some ingrained need for validation that we all have as individuals. 

SO, GitHub and their more generalist counterpart, Reddit, achieve this by creating a simple but powerful Pavlovian link to the act of problem solving: the community “rewards” the contributors with the best solution by assigning virtual points, or “badges”. 

The more problems a contributor solves, the more reputation points earned, and the more accomplished he or she is perceived to be within the community. 

Users unlock new privileges as their reputations grow, including the ability to vote, comment and even edit other people’s posts, according to the SO Wikipedia page.

A small number of these users are widely feted as masters in their field, particularly on SO, with their reputations running into millions of points. They are the tech world’s equivalent of social media super influencers.

It is not so difficult to imagine at this point, that these contributors would be highly valued within a company setting. And true enough, the highest-rated community contributor on SO is an individual who goes by the username Jon Skeet. He is a UK-based Google engineer. 

Curiosity builds good code 

For their part, Fave engineers tend to use SO primarily to problem-solve, as opposed to actively contributing to solving problems presented by the wider community. 

In fact, this is how most users tend to utilise SO, says Arzumy, adding that most of the solutions and problem-solving on SO come from a relatively small pool of regular contributors. 

This is not necessarily a bad thing, he says, so long as local users use the information they receive in the proper manner. That means understanding the solutions they pick up, rather than just plagiarising and deploying, with little regard for fine-tuning. 

Seeing as most members on SO are more likely to be the ones asking questions than providing solutions, it should not be surprising to see a similar situation among local users. 

As for GitHub, Fave uses the platform to manage its source code and collaborate with one another, make changes on the fly, and seek internal reviews of the changes before the new lines are integrated into the main body of code. 

“GitHub was really envisioned as a place for programmers to contribute their own code to a central repository, which others could then use for themselves. This makes programming so much easier because if you know what you’re looking for, you can just pick it right up from GitHub without having to write the code from scratch. 

“For us, in the event we pick up code from GitHub and use it for ourselves, we would then contribute those improvements right back to the community, so hopefully, others on the platform would get some use out of our work.”

Arzumy does not expect engineers that he hires to have accumulated huge reputations on SO, because if that were the standard, software engineers in Malaysia would be even more difficult to find. 

Instead, it is helpful for a candidate to have solved a few community problems on SO, or contributed to one of the countless open source programming projects on GitHub. This would arguably be enough to get you noticed by employers. 

“Some of the people we hire already have a consistent track record of active contribution to SO, and it would certainly make them stand out among all the CVs that we see.

“For example, it’s very helpful for us when a person who claims to be an iOS specialist on their CV also has a consistent body of work related to iOS on SO, or has contributed to one or two related projects on GitHub,” says Arzumy.

The immediate validation of a candidate’s ability via these platforms means Arzumy is able to hire good-quality engineers without having to place much emphasis on their paper qualifications. 

“The way I see it, I never completed my university degree, so it would not be fair for me to exclude others who may have taken a more unorthodox route to end up in the tech sector. 

“In fact, we have a separate hiring manager at Fave, with whom I work very closely, who has been trained to spot the tell-tale signs of a talented, if somewhat fresh, programmer.” 

With a discipline like programming, Arzumy says, it is not so much about what the candidate knows, but rather, his or her natural curiosity, and the extent to which he or she is willing to go to satisfy that curiosity. 

“There are two types of engineers that we screen for, with an obvious preference for one type over the other. The first type of engineer is one who wants to solve the problem. The second type of engineer is one who wants to solve the problem, understand and implement the best possible solution, and where possible, improve and iterate on the solution. 

“Suppose an engineer is tasked with developing a simple login page for a website. The first type of engineer would simply write the code to set up the login instructions, and be done with it. 

“The second engineer, on the other hand, would realise that if the page experiences an unexpected swell in traffic, the login functionality would fail. And so, he builds the login page with scalability in mind, so it would be able to handle large volumes.

“The second engineer would also have the presence of mind to know that maybe six months or one year down the line, once he’s moved away from the project, someone else is going to have to take his place to maintain the page. 

“He would therefore be concerned with writing the most efficient and cleanest code possible, in order to make maintenance and iterative work easier further down the line.” 

People who demonstrate this sort of mindset come from all sorts of professional backgrounds, Arzumy adds, pointing to his own team as an example. Fave has hired quite a number of software engineers who started out in fields such as microbiology, chemical engineering and financial services. 

Rather than paper qualifications, he looks for signs that the candidate has an interest in programming and software engineering that extends outside his or her body of professional work. 

“It could be that the candidate has picked up some simple freelance work during his or her university years, or perhaps they’ve contributed to one or two open source programming projects on GitHub over the last few years. That’s why it’s so helpful when candidates give us their public SO and GitHub handles to look up. 

“It’s not an overarching consideration of course (to have conducted programming work outside of the workplace), but it is a helpful gauge of the candidate’s natural curiosity, a desire to improve, and his or her ability to grasp new concepts quickly.”