Perspectives From A Fresh Hire at Government Digital Services

Yes, I know, ‘Government’; That word doesn’t seem to get along with terms like ‘cutting edge’ technologies and processes like responsive design, agile, scrum, kanban, or anything else that you might associate with startups and industry thought leadership. It sounds more like 7 or XP than OS X, Office Messenger than Slack, MS-SQL than PostgreSQL, COBOL/FORTRAN than JavaScript/Ruby; I could go on forever, and frankly, that’s what I thought as well.

Then I came onboard this place called GDS.

It’s been slightly over a month since I joined the Agile Consulting & Engineering (ACE) team at Government Digital Services (GDS), GovTech, and it’s been nothing but an exciting journey with an even more exciting road ahead, with a bunch of awesome people in tow.

If you’re like me, your impression of engineering and technology implementation within the public sector is anything but awesome — but that’s changing with the breaking down of the recently defunct Infocomm Development Authority (IDA) into the Infocomm & Media Development Authority (IMDA) and Government Technology Agency (GovTech), of which GDS is part of. So here I am, part of a public sector software development team that has one of the most solid implementations of the Agile process and development methodologies I have witnessed amongst other startups I have had the chance to visit, and I’m developing (surprise surprise!) web applications using technologies like Ruby on Rails for our back-end and React for the front, with the potential to impact millions of citizens. Sounds awesome? Totally.

From what I’ve seen and experienced so far, from the perspective of someone who’s passionate about technology, software development, growth hacking and startups, here are some reasons why you should totally ditch that Google or Facebook or [insert-trendy-startup-name-here] application form for us:

For Engineers By Engineers

At GDS, everyone on the development side of ‘things’ are engineers themselves, from your immediate seniors to the managers and even the directors.

Taking stuff apart in unconventional ways is the norm here, and even encouraged to a large extent. Unlike other software engineering teams where developers get their backs breathed down by non-technical managers with schedules dictated by non-engineering directors, at GDS, everyone understands each others pain (or pleasure, depending on your point of view). If you’re the kind who loves exploring and hacking apart stuff just to see their insides, you’ll love this aspect of GDS.

“Let’s see what this button does…”

A Culture of Engineering Excellence

Monkey see, monkey do. Having ‘been-there-done-that’ engineers work alongside fresh engineers inevitably results in a culture of excellence. Anyone passionate enough about technology can hack together a system for doing things, but at GDS, we don’t create things to break.

“I swear the server was here!” — Nope, that’s not stuff we build.

From a solid software development lifecycle to seriously automated testing workflows with 7 major code checkpoints that catch bad/error-prone code, to proper software release pipelines, to developer-centric management procedures, to being ready for both deprecation and scaling by constantly exploring new technologies (we are implementing yarn over npm just a few days after it’s ‘press release’ of sorts); We implement quality workflows that target both the product, and its creators (read: us, designers and engineers).

An Outcome-based Environment of Trust and Self-Management

Wish to work at your desk? Obviously you’re free to do so. Wish to work in a comfy chair at some obscure part of your office? Not so easy with a good majority of companies out there without being a known deliverer. Work from home? Practically impossible at MNCs.

At GDS, you’re pretty much free to do your thang wherever you want, heck, you even have the option to work from home occasionally if it helps with your output - but why would you when you’ve got good company at work when the coding gets lonely?

Learning and Lifelong Education

Being a a software engineer is tough. Last year’s technology can be totally different from this year’s, and you can expect technologies you’re currently utilising to be frowned upon by the tech evangelist sorts in a year’s time.

You mean you’re still on ES7?

At GDS, because we’re all from engineering backgrounds, the education game is strong. From attending technical courses and conferences, we’re free to specify our wishes to improve our engineering capabilities and have them granted most of the time.

Role Flexibility

Ever felt burnt out after writing your (n = n+1 : n ∈ Z, n→ ∞)th line of code? We all do. Something we practice at GDS is voluntary involvement in areas other than your primary, so we have this thing called secondary roles. Our primary roles indicate what we live and breathe, and our secondary roles indicate where our seemingly greener pastures might lie. Myself I’m primarily doing development work, and secondarily, devops.

So what happens if the seemingly greener pastures are really greener? Well, you stay there of course (provided you can convince a poor soul to take your place). Well, more seriously, we’re free to indicate our desire to switch roles, and if the organisational integrity can be maintained, we’re free to explore and grow in whatever area we wish to. I know, I find it awesome, too.

With all that goodness, you must be wondering what a typical day is like in our life. Here’s what I can tell you from my one month of existence in GDS:

9:30–10 : Daily Stand-Up

Stand-up is when everyone in your team gets together for a short 15 minute meeting to catch up on what others are doing. At stand-up, we answer questions like: 1) What have you done yesterday? 2) What will you likely be doing today? 3) Do you have any blocks?

In a self-managed and outcome-based environment, these questions facilitate a culture of accountability and collaboration. Telling each other what we have done makes us think of what we are doing in terms of outcomes, telling each other what we are going to do lets us gain insights into a potential problem if someone else on the team has experience in a task we are about to undertake, and finally, asking if each other has any blocks allows us to understand difficulties our team mates may be facing, allowing us to solve problems together if needed so we can move on with life.

10–12 : Crunch-time

Wiser people than us have determined that 80% of our output can be accomplished with 20% of our efforts (otherwise known as the Pareto principle). 10am to 12pm usually sees meetings that determine the future of products, or otherwise it’s work of the focused, independent development nature.

12–1 : Lunch-time

No one likes a workplace with only MacDonalds in the vicinity. Or maybe you do. Anyway, our humble abode at Hive is surrounded by food. Literally. There’s Timbre+, a basement foodcourt, another on the second level, and rows of eateries at the nearby Fusionopolis. There’s also a free shuttle bus to Star Vista or Ghim Moh food market if we get bored of the usual haunts. Catch us around if you’re in the area (hint: we don’t look the part of working adults)!

Oh, and on the occasion, there might be a lunchtime talk/meeting that we can attend with confidence we won’t go hungry. Take that however you wish (:

1–5 : Munch-time

Like Crunch-time, but at a slower pace — the food coma is real even for the most productive of individuals. During this time, you’ll see normal tables getting higher (yes, we have those fancy standing tables!), a different type of table getting crowded (the ping-pong or foosball kind), more collaboration in the form of pair programming (possibly to kill the innate desire for siesta) and generally more conversation. And munching on snacks. No, resist it, it really isn’t good especially for people who sit and look at a screen the whole day, but then again, we have a pull-up bar and a weekly insanity workout session so pick your poison wisely.

5–6 : 404 (Get it?)

Done with your day’s work? Be a busybody and check out what others are working on, learn something, explore a new technology, break something, talk to someone about something, or, you could just have dinner with your family. 5–6 is typically winding down for the day and preparing for life after work, sometimes we stay later than that when the going gets tough, but believe it or not, it’s mostly because we ‘want to’ instead of we ‘have to’.

To end off, it’s been a really positive experience so far for someone that digs software engineering and who was looking for a place to both grow as an engineer as well as be able to contribute to the implementation of systems that scale. GDS is still somewhat small and quiet, but we’ve been getting some limelight because of our products (check out GovBuy (for developers), MyResponder and BeeLine) and we’re not stopping anytime soon. SO, if you’re in Singapore and love what we’re doing and how we do things, give us a ping and we’ll see if we can work something out(;

--

--

Joseph Matthias Goh
Government Digital Services, Singapore

I write about my learnings in technology, software engineering, DevOoops [sic], growing people, and more recently Web3/DeFi