November 20, 2019
What Our Engineering Team Wants You To Know
18 months ago, Digital Services Georgia (DSGa) started a rigorous procurement process to find vendor partners to team with us to build a new digital platform for state agencies.
Our diligence in developing a Drupal 8 vendor pool ensured we would be working with vendor partners that would understand our goals and align with our core principles of making people’s interaction with Georgia state government frictionless, empowering, and symbiotic.
Last April, we announced our development partners for our digital platform being built from the ground up. It is a scalable and versatile system, agile enough to acquiesce to the intricacies of a variety of different agencies and their specific requests.
Working with so many web developers, we asked them what they wish project stakeholders understood about what they do.
What's one thing you wish project stakeholders understood about web developers/development?
Joshua Boltz, Mediacurrent Senior Drupal Developer — We Are Always Learning from Others.
Drupal is a powerful, yet complex system. Even the most advanced developer can’t know it all.
Behind the scenes, a large amount of research and documentation review goes into building a fully functioning platform. A quick Google search can usually help us find someone who has encountered the problem before and gets us going in the right direction.
Jenna Tollerson, DSGa Engineering Lead
The functionality that seems the easiest to use is the most complex behind the scenes. The more magical a user experience seems, the more effort and careful thought that went into creating it.
Stakeholders often confuse ease of use with ease of implementation. Usually, the amount of developer effort that goes into coding an interface, and the amount of developer effort a user assumes it will take, are inverse values.
Edward Chan, Mediacurrent Senior Drupal Developer — Breaking From Routine Energizes Our Productivity.
We are developers, but we are also humans and concentrating 100 percent on a large task can be draining.
Balancing a mix of smaller, unrelated tasks helps us learn new skills — and refreshes our thinking for larger tasks.
Marcos Cano, Lullabot Developer
Web development isn't a linear effort that we have full control over, especially when it comes to open source software (OSS).
Applications, like the GovHub D8 platform, are complex combinations of hundreds of libraries and lower-level projects that interact with each other in multiple ways. This reduces our ability to assess the complexity of a given feature without diving into the implementation details.
In other words, an apparently “simple” modification request might involve a lot of custom work, while something else that seems “complex” on the surface might be quick and easy to accomplish.
That's actually part of the price of using OSS, we reduce our visibility on how the different moving parts will interact, until we don't “get our hands dirty” in the process. On the other hand, there are multiple benefits that hugely outweigh that, such as collaboration over competition, more robust and secure code, etc.
Rob Powell, Mediacurrent Drupal Developer — Early Decision Matter.
The decisions you make early on in the development cycle have long-term implications.
One of the obstacles to developing a feature or resolving a bug is the time it takes to find a solution that accounts for the known “gotchas” without adding fragility to the system. In other words, simple is not always easy. It is important to take in all the factors when solving for the long term.
In conclusion ...
DSGa’s top priority is to work with state agencies to provide constituents with information they need and access to services without much friction. But we should not lose sight of the fact that GovHub is not an individual website, but a statewide platform.
It’s easy to form a tunnel vision when we have a need. However, the solution you are asking us to develop might not be the answer to your problem. Our product team is happy to work with you and understand the problem you are trying to solve and see how it can be applied across the entire platform.