Roads are particular engineering feat that deeply affect our regular lives yet pass by largely unnoticed. So effectively designed and implemented, we typically only notice them through relative minor, but annoying, failures such as potholes or flooding. Periodically, a major catastrophe reminds us the nature and importance of these infrastructure components and the imperative to design well, maintain regularly, and replace when necessary.
There are extremely well established practices for the design of roads, bridges, and nearly all physical infrastructure that compose our built environments in cities and communities. Centuries of practice, wisdom and science have been boiled down to codes and standards that prescribe the design of a road. Civil engineers rarely have the opportunity to truly design a road; more often they receive guidelines to be accomplished based on traffic volumes, load limits, environmental conditions, and available materials. Using processes of checklists, tables, and formulas, they crank through these to determine the basic characteristics of bed depth, width, rebar size and density, curb heights, etc.
At the beginning of the 20th Century as expansion thrived across the western United States, government agencies were dealing with a multitude of varied permits, maps and engineering plans for new infrastructure. A land surveyor, having just started as a state engineer of Wyoming in 1903 'was immediately confronted by the unruly nature of engineering and land surveying in this vast, largely undeveloped state where hungry prospectors and developers were rushing to gain access to state water for irrigation purposes.'
To address this issue, they developed the National Society of Professional Engineers and the Licensed Professional Engineer.
A century ago, anyone could work as an engineer without proof of competency. In order to protect the public health, safety, and welfare, the first engineering licensure law was enacted in 1907 in Wyoming. Now every state regulates the practice of engineering to ensure public safety by granting only Professional Engineers (PEs) the authority to sign and seal engineering plans and offer their services to the public.
Qualities of a Professional Engineer
The Professional Engineer, or PE, is a certification that requires practitioners to prove their capabilities to design within standards, abide by a code of ethics, and have the experience and mentorship of another PE. After at least four years as an active engineer working on projects and passing a rigorous proficiency test, people are then qualified to approve engineering projects.
Today there isn't a road, building, bridge, or airplane built that has not met with the approval and stamp of a PE. As such, the engineer is putting their name and qualifications on the line that the design and construction meet industry standards and is reliable enough for the public to safely use. This responsibility is important to ensure that our local and national infrastructure incorporate the long history of engineering wisdom to protect safety and ensure operation.
- Only a licensed engineer may prepare, sign and seal, and submit engineering plans and drawings to a public authority for approval, or seal engineering work for public and private clients.
- PEs shoulder the responsibility for not only their work, but also for the lives affected by that work and must hold themselves to high ethical standards of practice.
Open Civic Engineering
As I mentioned in my previous post, the government information architecture is a new type of civic infrastructure that citizens and communities increasingly rely upon. Through web and mobile applications, news feeds, and online forms we use the internet as a primary tool for engaging with city services. Fortunately API's and other open information architecture developers can create unique and novel applications to improve community livelihood, visiting tourists, and growing business opportunities.
However, beyond novel applications, as a civic technology community we are now building new tools that support basic services such as 311, housing, emergency response and safety. If these services are an integral part of our society, should we now expect the same level of quality and stability we do of our roads and buildings?
Recent history is replete with application contests, prototype apps, local civic hacks, and even startup or large-scale companies that built technology that did not sustainably scale to the region it was meant to serve. Is this something to be expected or should we be developing a code of conduct and patterns by which we guide and even enforce quality and long-term maintenance of this new class of infrastructure?
"The Street finds its own uses for things - uses the manufacturers never imagined." - William Gibson
This is not meant to curb the surge of energy and innovation that has also entered government through the rapid pace of technology development. The potential for new ideas to quickly emerge and evolve can dramatically improve civil society across every level of government. If government is the platform, then it is imperative to leverage this platform to build applications into the hands of real users. Government serves the long-term requirements of citizens but technology has the capability to address emergent needs and interfaces. By contrast we've likely all experienced attempting to use a government website that states our browser is 'too new' and may not work with the application.
So we need to balance this unmitigated rush with consideration for the impact and expectations it will have from these very real people with real expectations. What is a good balance between 'cowboy coding' and 'stagnant kludge'.
Towards a code of conduct
Fortunately, I believe that the field of open citizen development is maturing. Organizations such as Code for America, Sunlight Foundation, OKFN, and agencies like the new 18F and UK GDS provide the forms to professionalize 'civic hacking' and develop codes of conduct for volunteers and companies that can address the issues noted above.
(All the jokes aside) using standards is the first necessary step to an operational and sustainable civil application. This means more than just JSON (which is an encoding) and more about the actual schema and structure. There are numerous existing standards, and increasing a set of commonly used and understood standards. Civic organizations should develop guidance on the baseline required standards and the optional additional standards to use.
In some case it makes sense to develop or evolve standards - but consider how this impacts existing tools and how to build community and adoption with new and existing applications.
Few things are better than real experience. The wisdom gained from successes and failures provide the best guidance for building reliable applications. Each day a new developer joins the community, excited to build tools for themselves and their neighbor. Beyond simple 'how to program' we should be providing the mentorship on technology architecture, testing, usability, government processes and accessibility. The Professional Engineer requires at least four years of mentorship and their approval for your acceptance of the license. What is the equivalent 'merit badge' to demonstrate the acquired skills to appropriately design, develop and operate these technologies?
We build applications with the awareness that they have a lifespan. We will conceive, launch, grow and finally retire everything that we build. Nothing is eternal. At the beginning we should design into our applications the long-term maintenance and final transition plan. What is the plan to scale or grow to meet new requirements? How does data gathered be preserved and migrate to the next generation application so that we don't lose years of valuable information and history. These don't need to be the ultimate plan, but should include the consideration and plan that will evolve as much as the application does itself. But it is a maturity to plan for that final obsolesce on day one and as part of the entire engineering design.
TechCamp Ramallah - mentoring the next generation of Civic Engineers
Today, anyone with a computer and a bright idea can build an application to improve the lives of citizens. As a community, we should work together to ensure their idea meets the needs of those citizens and can grow to become part of the broader civic technical platform. If you're at this week's Code for America Summit I would love to chat about this topic - or feel free to reach me directly here, on Twitter or via email.