Creating a maker culture in government



I’m an employee of a US state department of transportation and am pretty well-versed in FOSS (or is it FLOSS now?), Linux, software dev, 3D, data science, etc… I’m also a licensed professional engineer in transportation (civil) engineering, for whatever that means to anyone here.

So I have a rather involved issue I’m trying to work out. I apologize for the length of the post, but it’s necessary for the back story.

Specifically,where I work, we’re slowly moving into developing 3D models for highway construction projects, because contractors can now program their earthmoving equipment to function on GPS coordinates and digital terrain models (DTMs). The general contractors lobbied the US Federal Highway Administration (FHWA) to force the state DOTs to start producing their highway plans as 3D models instead of the 2D paper plans we currently use. That’s not bad, because that means we now do engineering in 3D. No one likes change, but I see it as a really good thing.

Anyway, because of my tech-saviness (relative to those I work with, anyway), I was given some responsibility to figure out how to do 3D transportation modeling. It’s been a lot of fun, but things got really interesting for me just in the last few days.

I was asked by the head-honcho of our district (you can think of him as maybe almost a CEO) to come up with a series of job descriptions and staff requirements necessary to do 3D modeling and visualization where we work - like a crack team that strictly focuses on that alone. Right now, that looks like maybe a team of two people, of which I plan to be one.

But I’m interested in doing more than just that. Really, the 3D thing is cool, but I’m more of a maker mentality. I’d like to create a work unit that’s more of a technology / innovation unit than one that just focus on CAD-related stuff. I’ve done this sort of thing before, for example, by providing wireless internet access to traffic signal controllers and interacting with them through a legacy, DOS / serial-based control software, back when I was the District’s traffic signal systems engineer.

So I’d like to foster that sort of culture where I work - thinking outside the box to come up with ways to solve problems using cool technology (open source, where possible, of course). I don’t mean that everyone needs to think that way - government engineers like their boxes, to be sure. But I’d like to at least create a pocket of culture where it’s ok to do that and where we have the opportunity and freedom to experiment.

I really wish I could be more specific, but I don’t know what, exactly, I would get specific about at this point. Really, I’m trying to flesh out ideas of how I might pitch this new work unit to encompass more than just 3D visualization. It may seem a bit beyond the scope of what’s been proposed thus far, but this is a really key moment in our history as an organization to really move into a more innovative / exploratory role in technology and I’d like to capitalize on that. I just need to know how to make a good pitch to our upper management.

Anyway, I apologize again for the length and general vagueness of the question, but being a Bad Voltage listener, it seemed like this might be as good a place as any to post a question like this.


I know you’re short of the ability to demonstrate ideas, here, but… can you demonstrate some ideas? In particular, I don’t understand you want to achieve, and what prevents you from doing so. Maybe you can explain in more detail?


TLDR - I’m interested in determining how to foster a culture that wants to solve the problems around them, rather than just wait for someone else to come along and fix it… What’s preventing that? My own lack of understanding, I suppose, and the need to articulate it clearly.

I’ve really done a lot of things that demonstrates what I mean. A few quick examples might demonstrate where I’m coming from:

  • Using ODF over OOXML (a suggestion the lawyers loved, but not the computing guys)
  • Making a 1980’s dos-based control software talk to a remote location over TCPIP using a CDMA modem (without FreeDOS).
  • Using voice recognition to automate Excel spreadsheet data entry where i needed to be hands-free
  • Coding an algorithm to send messages to overhead message signs selected for traffic affected by an accident

More recently, it occurred to me that, as a DOT, we collect a ton of data (metric, imperial or otherwise). But we don’t really use it. Wouldn’t it be neat to be able to analyze intersection crash data to determine what sorts of improvements would reduce fatalities? That’s a machine learning problem that I know something about. So I told our computing guys that maybe we should start a data science program… so they are… sort of.

So my experience has consistently been the same: identify a problem, think about what you could do to solve it, then take whatever steps you can to solve it. It works. Maybe not well, but that’s usually because I’m one guy awash in a sea of apathy… Except for a rare occasion, no one else really cares that much.

So where I’m at is, how can I use this opportunity to possibly develop a “maker” culture (if I’m using the term correctly) - not just to create a one-stop workshop for developing niche solutions (I keep conjuring images of The Wizard - for an obscure 80’s American TV reference), but to encourage people to really think through unique ways of solving common problems? Maybe one problem requires a policy change. Maybe another just needs a raspberry pi, a soldering iron, and a pair of wire strippers. I’m not interested in coding Access databases or VBA macros (which is about as “maker” as anyone typically gets where I’m at). I want to use this position to facilitate looking for real solutions to problems and doing what it takes to solve them. Just because it makes work interesting.

In any case, what could a technology and innovation work group (not exactly an inspiring title, I know) do to encourage tinkering like that? It’s really not meant to be a theoretical question. I know it’s vague, but the fact of the matter is, tinkering is what got me into this position in the first place. Really doing screwy stuff that no one cared about eventually got my boss’s attention and now that he runs the whole show, he’s basically handing me the keys to a new workgroup and letting me run with it. So now’s the time to really explore something like this, in my mind. But what would I pitch to the upper management?

Anyway, apologies for the length of all of this. It’s something I’ve had in my head for a while, but lacked the ability (and reason) to articulate it…


if I understand you correctly, you gained your reputation with your boss by doing cool stuff noone else had the competence or drive to do, right?

And now, with the team you plan to build, you are considering to go beyond that by creating a culture or a sort of ecosystem that enables and motivates others to also do likewise.
So here we talk about community building, about finding and supporting contributors, afaiu.

If i got it wrong, you can basically skip the rest :wink:

So, to get there…

  • I think you should consider how to actually build that community…i think that’s the crucial and hard part…maybe have a forum, a facebook group, twitter-stuff, a slack channel, write posts, do meetups and events, win influential people’s support etc.

    • there is also this book written by a dubios guy whose name I don’t want to mention in here :slight_smile: which you might want to take a look at.
  • Imho you might want to also look out for other people (maybe in other states or countries etc) doing a similar thing and connect with them to share experiences and resources etc

  • More specificly, maybe you want to contact Jeff Meyerson who does the Software Engineering Daily podcast…maybe he’s interested in doing an episode with you, like…whatdoIknow “Software Innovation in Federal Administration with Joel Graff” you could talk about how you got to where you are, what intersting software problems you tackeld about how you plan to proceed and at the same time rally for the project.

Hope this kind of helps


There’s some good ideas.

I see there’s lots of problems that could be solved, but people either just don’t care (I get that not everyone’s like me), or really believe three things:

  1. It’s too big of a problem
  2. It requires too much technical knowledge
  3. They (whomever they are) won’t let me do it.

I assume all three as a default, but try to do it anyway, and I generally learn that none of those things were, in fact true.

So I think a community of sorts is possible. You have to understand, I function in a largely “user” environment with really locked-down tech. I geeked out one day when Python got installed on my machine as a part of a software package. :slight_smile:

In any case, I don’t think that I necessarily want to build a software dev team or anything like that in an environment that isn’t really suited to that sort of activity, but a community isn’t a bad idea. We’re engineers, but most of us still remember drawing plans by hand… not really, but the mentality is generally like that…

I have other ideas. For example, no one typically thinks of shooting videos for various purposes (a few have from time to time), but setting up a video studio to shoot decent quality video isn’t hard or expensive, and video editing is pretty easy to get the hang of. Seems like something that could be pretty valuable if we could get people to think a little more broadly about how they communicate, for example.

I suppose I’m more interested in facilitating than I am in providing specific services, but whatever it takes to get the job done, I suppose.

Anyway, I’m already talking with other state DOTs on the 3D modeling stuff. I have to invent job descriptions and a whole new work group, after all. So far as my higher purpose, I don’t know that I’ve ever seen anyone trying to do what I’m thinking of. Maybe I’ve just spent too much time in the open source community. :slight_smile:

Anyway, thanks for the suggestions. I’ll pursue them. Don’t know that I belong on a software dev podcast, but I’ll definitely look him up.

Developing community in a centralized culture


So this is a really large problem.

You need to tell us where you are on github / cheers ?

Also @readthedocs is the place to start with a — as a repository (or similar) , for ppl to work on.
(just fork it)

Also have you read superconnect ?

& wikinomics
(buy it 3rd party is fine)

There’s a good article of crowdsourcing ‘plant_industry’-ideas etc.

Note: If you have Adhd - don’t get triggered too much by these books, as they’re old projects that gather dusty stars.

Saying Floss is the right way - although you write it down f/oss
You can follow @openhatch philosophy

It just takes a dollar a day to keep the plates Rota-spinning.


… so then what happened ?

perhaps you had no frame-of-reference ?

Here-ya-go, then :selfie:

Please respect our code of conduct which is simple: don't be a dick.