The opinions of this blog, but especially this post are mine and not my employers’.
I’m done with DC. I need to archive the reasons why for myself. I hope this serves as a free field trip to the DC area for anyone outside the beltway.
If you move to DC for the tech jobs, you are going to have to prune a lot of C-minus government work if you are good. All the while, you will be paying for local benefits you are not taking advantage of. This is the land of politics, military, intelligence, big government and lobbyists. I tried to influence from within but now it’s time for me to GTFO and move to Portland to try to find “actual reality” jobs.
I’ve Been Here Too Long
I’ve lived in the DC area for 30 years. I’ve been working for 14. You might as well say I’ve lived around DC my whole life. I went to School and College in Northern Virginia. Northern Virginia and Maryland are part of the DC metropolitan area or what we would call the “DC Metro”. This is a little bit confusing because if you say “The Metro” then you mean the subway. I’ve traveled around and lived other places but you could say I’ve been here for a long time. Recently, I’ve concluded that DC isn’t all bad but I’ve been here too long. Also I feel like a slow learner in that it has taken me so long to realize these things. I’m doing something about it and I’ll talk about that later.
I’ve done the DC government contracting circuit and I’ve concluded that I’ve seen enough. It doesn’t really matter what company you work for, it’s the same project with the same people and the same problems. However, a few years ago I found a small life raft. It’s a non-profit R&D shop and it’s the best big tech company I’ve found in DC. It’s not perfect but at the core of it is the non-profit bit. It’s not Beltway Bandit time.
Beltway bandit is a term for private companies located in or near Washington, D.C. whose major business is to provide consulting services to the US government.
At every company there’s been good and bad parts. I’ve been happier lately because of my move to something non-typical but I’m still done with the area. The problems are very complicated but at the core of it are a few common patterns which I’ll talk about later. It’s not the companies’ or the people’s fault, it’s the Beltway culture. It’s not micro, it’s macro. It’s not the individuals, it’s the whole. It’s This Town.
At the same time, there are some start-ups and smaller consulting shops that I’ve found very interesting. Viget Labs is outside DC a little bit and they do cool stuff like Rails consulting, UX, frontend stuff, iOS (iirc) and even have meetups in their corporate office space. But I think this is because they are bringing outside culture into DC not because they are native. Default DC tech doesn’t host meetups, have hack-a-thons or get valley culture right. It’s emulation. I look at the lame attempts to adopt agile in recent years and it’s just cargo culting.
Using Agile Effectively in a DoD Environment - Give me a break. It might as well say “doing fast things in a slow environment”. It’s a fight. You have to fight the default. If you listen to speakers at talks like this one, sometimes you will hear these exact words. “We had to fight … against the grain … it was a struggle to …“
No Good Advice Goes Unpunished
Of course, there’s no silver bullet. You can have a crappy job in a great company. You can have a terrible boss in a great town. You can have an awful commute in a great job with a great boss with awful pay. There are permutations on all these factors and more. Even more complicating is that one person’s experience, perspective and interaction with a position/job can be different from another person’s experience within the same situation. So, please treat all of the following as retrospective and a personal time capsule that, as a bonus, might be useful or cathartic for someone other there in The Ether.
It’s also particularly hard to give advice about such a large topic. I can’t tell you how your experience is going to be in your work life just like I can’t tell you how your experience is going to be in retirement or if you were going to college. College is like some things for all people and different things to each person.
I have a lot of horror stories, some are mostly funny, some are mostly sad and some are a mix of funny/sad. I’ll try to focus on the funny/sad ones in that they are the most telling about the culture in DC.
The No Clue About Webapps Project
There was this project I sat near (was not in) and I heard all kinds of C.S. sins going on. At some point I got the impression that they didn’t know what Subversion was (this was a while ago) or even CVS. I said the phrase “check in” and the senior developer didn’t know what I meant. I mean, from a conceptual standpoint. Jesus Christ, even Sharepoint uses this terminology.
Anyway, at some point I got roped into installing local Oracle dev databases for everyone on Windows. They didn’t know how. (it’s just next, next, finish but whatever). After that, I was asked to come to a big team meeting. In the meeting the project manager starts off by apologizing for not being around for the last two years. He’s been “on-site” (btw this is a typical problem with closed networks, you are completely cut-off from everyone and everything). He says the customer is really mad because nothing has been done in the last four years. He starts going around the room and asking his team what programming language everyone knows (what). People seem to know Java so the manager said, “ok we’ll do it in Java”.
So I’m just sitting in there as the outsider with a box of popcorn enjoying the show because (little do they know) I’ve already given my two weeks notice because this place isn’t even close to being functional. In this meeting they are trying to plan out the project in panic mode, so they review what needs to be done. They break out the old project and demo it. Basically, they need to port it from some old language like Cold Fusion to Java (which they just decided after 2-4 years, wow).
The demo is an interactive map of the U.S. To me it looks like you can click around the map like an HTML imagemap. But they start planning out the project like this:
- Ok, there’s 50 states.
- It looks like you can drill down into about 4-5 counties per state.
- That means we have 300-ish maps we need to port.
- Kevin, you take 80 maps. Stacey, you take 120 maps …
I’m sitting there looking at the URL and what’s actually happening is this:
So I say, “Um. It looks to me like you guys have one thing to port. The map.cfm page is just swapping IDs out. There’s probably some geometry file somewhere that you could reuse or some database data somewhere that swaps out the images or imagemaps or something.”
Suddenly the room goes quiet. No one knows who I am. I’m not on the team. I had never seen the legacy app before. Some of them hadn’t seen the app they were supposed to be working on either. They just stared at me while the project manager tried to get me to join the project to help. “(to me) Wait, what project are you on right now?”
As much as I would have liked to just say “I’m quitting, GG” in front of everyone, I didn’t really want to bring the team down. So I just told him in private I had already given my two weeks notice after everyone left. He said, “darn”. Because he wanted me to fix and advise on this crazy train. But I was already leaving (phew).
This was a 4 year web porting project where people didn’t know about URL parameters. Wow, just wow.
The Porn Guy
I was tasked with inventory of memory or something of desktops (this was a while ago when I did sysadmin stuff). I walked around cubes in Kentucky (I forget where) and bugged people while they were working, “Hi. Can I look at your computer for a second? Thanks.” etc.
This one guy sat in a cube (his back facing a common hallway) and he was surfing porn. I cleared my throat and waited for him to be embarrassed or shut down the windows or apologize. I don’t know what the hell I expected, “this is awful” was what I was thinking. He kind of was startled and said, “oh!” in a surprised voice and closed an IE window. But there were more IE windows of porn underneath. So he said, “oh!” in a surprised voice and closed an IE window. But there were more IE windows of porn underneath. This happened over and over and it was hilarious at the time.
Looking back, I probably should have reported him and I feel awful about this story since I’ve been reading #YesAllWomen hashtags. Sigh.
Ok, maybe that was in Kentucky. But I remember there was this guy downtown that built a cardboard screen so he could watch porn at work. Sad. Granted, I’ve been involved in firing someone for this behavior (and harassment) at a commercial company. It’s more an ick story I guess. Why in the ** do people do this at work anyway?
The Sleeping Boss
In a similar desktop inventory task, I went downtown one time. I walked up and down a long cube row. It kind of looked like a Viking ship. The boss was at the head of the office and all the workers were lined up on either side of a main isle. I remember coming to this one guy who was playing a Playstation (ps1) on a TV that he brought in. He had a VCR too. His cube shelves were stacked with VHS tapes. I asked him what his job title was. He didn’t know. I asked him what his job was. He didn’t know. I asked him where he got the TV and Playstation from and he said he brought it in from home.
Wow! So here’s a guy who is telling a stranger with a clipboard that he doesn’t know what his job is. I went to the boss at the head of the ship because I needed to inventory his PC (although I should have started yelling about tax payer money) and here’s this guy snoring away in his chair. Literally sleeping in his little private office. I knocked really loud and woke him up. I received no apology. He just said “what huh” and then answered my questions.
Unapologetic isn’t alarming in that I deserve and apology. It’s alarming because no one cares. Nothing’s going to happen to them. They don’t feel shame or embarrassment because there’s no force of fitness like natural selection that would enable evolution pruning.
There’s no black and white. I’m probably anti-DC right now because I’m trying to move. As painful as it is to admit, I’ve spent a lot of time here and haven’t died from emo so it can’t be that bad.
- I sat on Bush’s desk and set up Cheney’s Wife’s computer. That was nuts. My personal politics aside, it was cool to help people that were going to the White House.
- I got to travel and see the country including Alaska which was awesome.
- Social Justice. There’s a lot of work in DC that isn’t about catching terrorism and other infinite goals.
- Once, someone asked me if I wanted to work on a quantum computer project. They were serious.
- I’ve met some people that worked on The Internet. Like, the actual Internet. Everyday people have had historic roles. A lot of them are humble. I’m not sure the valley does that all the time. Who knows.
- Was able to guide some (not all) projects away from rocks. If my goal was to influence from within, I did.
- You can work on big systems. Clusters, huge storage, large concurrent queues, events, streams, billions of rows, zillions of things.
- I learned Unix, Java and had time to learn Rails/Ruby and play with Python, Node, Scala, Golang and countless libraries and databases. There’s time to breathe.
- #dctech is a good community. AgileTechDC is a good conference. But I think they are the outsiders to the default and that relationship should be flipped in a perfect world.
- I met chinese, spanish, korean and other native language speakers just because DC is so diverse. I’ve learned a lot about languages just by osmosis.
The Good Stuff about DC
- No burnout. If you work a normal DC job, you can go to work and not burn out. 9-5 is very, very normal. No one talks about Sustainability like they do in the valley, you don’t need to. Normal hours are the norm. This also means though that organizing hackathons are both unknown and foreign.
- There are lots of smart people in DC. DC has the highest literacy rate in the country. People want real answers for policy and practice that has real work to be done. If you are involved in practical problems, there’s a chance to work on national issues, crises and programs that make a difference without selling out. Sort of.
- DC has a lot of things to go see. I saw Stevie Wonder live with Michelle Obama in the audience at the Kennedy Center. Stuff like this is amazing.
- Seeing The Capitol when you go downtown never gets old.
- Schools are great. There’s this high school called Thomas Jefferson Science and Technology. I think they’re like #7 in the country. Amazing kids go there. In general almost everyone goes to college. I think my graduating class was like 98% went to college or something (maybe times have changed since the 90s, lol). Depends on your opinion of college and whether that matters. In-state universities (VA/MD) are as good as you need them to be, there are a ton to choose from.
- Crime is low in the ‘burbs. So many people have clearances around here and money is good so everyone’s a straight-edge (sort of).
- You can work on national problems. Sometimes a little flag waves in my head and I see a real democracy. Sometimes not so much.
- You can get a job anytime you want. A job. Maybe not a good job. Just a job.
- If you have a clearance, you can really, really, really get a job anytime you want.
- You will probably earn a lot of money. Two of the richest average income per household counties are in N.VA. I could care less at this point but this is true. Almost everyone is doing very well. Sometimes it’s sickening.
- Downtown is awesome. Arlington VA is full of life and young hip people. If you are in your early twenties (or feel like you are), live in Arlington (Clarendon/Ballston/Rosslyn). If you are rich, live in Georgetown or near Capitol Hill.
- Nats baseball, going to see a game. Fun times, nice park.
- The Washington Post is a good paper. Local Jazz radio is good.
- The formal arts scene (jazz, ballet, concerts, musicals, plays, displays, etc) is great. Big names come through because it’s a big town.
Peoples of the worlds, I can’t describe how bad the traffic is. Above is a picture of what you can expect on a Saturday (or maybe not, who knows!). My wife and I exclaim in horror at what we find when we go out. “Traffic on a Sunday. Wow.” The rush hour is insane. You will plan around the traffic. You will not take jobs because of the commute. You will find people who hate downtown. You will find recruiters who ask you where you live FIRST because they know you will never take a job where your commute is one hour if you are any good. And some people would kill for a 1 hour commute! I know people that commute from Leesburg downtown and it’s like 2 hours each way for them every day. What. How can people even.
Weird Cobweb Jobs
Infinite Sharepoint Administrator jobs. What. How can “Sharepoint Architect” even be a job title. Bad Government work is so hard to prune and avoid. There are really weird cobwebs out there. When you live here, you are competing with these salaries. They keep home prices up.
The Metro ride out to suburbia is pretty awful. You probably can’t afford to live downtown or close in. “Normal” houses cost $600-700k (there are places that are so much more) in the suburbs. It’s insanity.
You can spend one million dollars on a house anywhere. I think what is unique about DC is the average cost and wealth is very high compared to the rest of the country.
Redskins won’t change their name, that’s status-quo in full effect. If status-quo aggravates you, don’t come here. Being so close to B.S. politics and you still can’t change it. Most people are here for the jobs so they really don’t care about you. East coast hardness. Most people don’t say hi.
I could probably go on with The Good vs The Bad. It’s just too much to list. I’m trying to keep this readable but I wanted to list out some recurring themes I’ve seen specifically within the tech industry in DC. This is not company specific. I’ve seen it over and over again. Worse yet, if you talk about this to someone who’s near the Beltway, they will know what you are talking about. So please don’t associate my employer or my past employers with this.
Butts-in-seats contracting. People make money off other people working. You can make bank if you know the right people and get a fat contract. Hire bad people, doesn’t matter, a lot of government people won’t know the difference.
Take a core sample, government folks aren’t technical enough. Fine –> Hire tech. Except they don’t know what they hired. Whoops. This is subtle but it causes sort of a chain reaction of problems on a project. They don’t know enough to ask the right questions. What is really needed is what Google already does: only promote ex-technical people to managers and have very few managers.
Bureaucracies serve the needs of bureaucracies. The needs of an individual are not served. Case-in-point: The idea of a developer specifying and ordering his own workstation is comically alien. You might as well ask for your desk to be hung upside down.
Security issues. Even if you aren’t in the cloak-and-dagger space, chances are you will be near it and that means a truck-load of issues that will decay your soul. Imagine no Internet at work.
No designers. Designers and web developers live on their portfolio. No portfolio = no work history. Most government sponsors won’t let you take screenshots. So you have to design in your spare time? For the love of it? I’m not this type of person but I know a few people that have moved out of the area for this reason. What this means to me is that most UIs you work with are total pants. Total pants! UX? Ha. No one even knows what that means.
Politics matter. Congressional BS will impact you. I have friends who have lost “stable” jobs because of some really weird contract expiring or the “wrong type” of money being in the “wrong bucket”. This space is insane. I’ve worked on one proposal before and I never want to do it again. Politics also means word-smithing. People are super careful about saying the right thing using the right words. A lot of the time this means corporate speak.
Modified agile. Software craftsmanship people are moving on from the term agile because it’s been rendered meaningless. This decay is happening here.
So I’m Moving
I gave it 14 years but I’m moving to Portland. Hope springs eternal in the human breast. I understand that nothing is perfect. Things like the Calagator event calendar look absolutely amazing to me. Look at this schedule!
May 29 2014 PDX Weekly Hackathon May 29 2014 Bruce Schneier: "Internet, Security, and Power" May 30 2014 Ruby Programmers Informal Co-Working May 30 2014 Python Web Development with Flask ... May 31 2014 Scrum/Agile Workshop by Agile Coach/Trainer at Intel ... Jun 2 2014 Triage-a-Thon at Puppet Labs Jun 3 2014 Google Glass versus the COMPETITION Jun 5 2014 PDXNode presentation night ....
Yes, there are similar events in DC (Bruce is probably talking here). There’s a lot of cool stuff happening in an Open Government mailing list called Sunlight Labs. I wrote a blog post attempting to enumerate awesome shops in DC (I picked Rails as a starting point). It wasn’t as long as I had hoped. Peter Corbett is an awesome guy. I’d seriously suggest networking with him if you get the chance.
I hope in a year I’m blogging about myself in a startup, lean company or more forward-leaning shop. Or maybe I’ll have created an art installation with Golang or something. We’ll see! :)