How a team of young people helped rebuild healthcare.gov (2015)
theatlantic.com
theatlantic.com
Developement-wise, I can hang with the 20 something crowd, no problems. I just can't compete with the single/no kids thing.
I encounter people and teams that are just unwilling to adopt contemporary development and deployment practices. The article notes that Hipchat was a struggle to get approval for, yet I often run into people at CMS that never log in to it and prefer tons of emails. Deployments aren't automated and still happen for some teams on calls during maintenance periods once a week. I've had people in technical capacities ask what GitHub is.
The problem is institutional, it really has nothing to do with young people working 10 hour days. I care about my work-life balance -- I'm too old to crash on the couch at my startup's office like I did at past jobs in my 20s -- but I also keep up with contemporary development practices, make a point to study a new language every year, read academic papers, and care about my work. I don't think I can say the same about most devs I've encountered in government. The consulting firms are incentivized to build walls and protect the way they do business in order to keep getting that contract money.
If you're an older dev that is intellectually curious in the practice and art of software development I think you'll be fine.
the problem is that labor doesn't scale very well. 2 talented young programmers working all-out 12 hours a day on one project will generally be more productive than 3 talented folks with family working all-out 8 hours a day. (Agile, git, etc. all try to fix this to a degree... ) The current economic situation is that startups have very very deep pockets and will pay an insane premium to have stuff ASAP - which will mean very small, very overworked, very talented "rock stars".
If you want to fix healthcare.gov and the president's reputation is on the line, you'll get the rockstarest rockstars you can find and slave drive them till it's done
If you want a good work life balance I recommend the defense sector - but again - expect a pay cut. (like $120K end of career in SoCal vs. $250K in SF)
Another, more descriptive way to formulate this is: some startups are really fighting against time, because they are led by financials who only watch short-scale (10y) ROI, and those will pay a premium to have stuff ASAP, whatever that entails.
Of course, startups (or other orgs) that are not only driven by financials have to manage time and money as well. But they have other plans.
Look what/who you're working for. A sprint, a marathon and a trek are different journeys.
There's actually a lot of research that says it's the opposite.[1] The big difference, I think, is that young developers, like the previous poster mentioned, are up-to-date on the latest technology and are willing to change things to work faster.
I've been dealing with 'experienced' Ops trying to maintain control of everything, while slowing down development. The number of hours spent coding doesn't change much if the way development is done is incredibly slow.
1. https://cs.stanford.edu/people/eroberts/cs181/projects/crunc...
.. The link you put up is full of conjectures, but I didn't actually see any numbers... (it's a link to class? .. I don't even understand the website)
I'm thinking more in the vein of
https://en.wikipedia.org/wiki/Brooks%E2%80%99_law
"adding manpower to a late software project makes it later"
Driving young programmers through 12 hour days is just a recipe for burn out and technical debt that you'll have to pay back later. I've definitely been there.
I guess it all comes down to what you consider a good work-life balance. For me being able to work from wherever an Internet connection exists and the ability to make my own hours is it, and yeah sometimes that'll mean a few weeks of 10-12 hour days here and there. For some it means a strict 9-5 with an hour lunch at an office park off a highway, which I don't judge, but for me sounds like a nightmare.
Again, as long as you're keeping up with contemporary development practices and are pushing your knowledge I think you'll be able to choose whatever definition of work-life balance is for you and be fine.
Dividing them up like this the typical "just shows up" person is purely stimulus driven. Nothing happens if you don't tell them to do exactly something. They won't tell you they're blocked on Bob sending a purchase order for a month. They won't tell you because you didn't ask. You didn't ask so they just... they just do nothing.
Or you have contractors who really don't care[1]. They bill by the hour, and if you don't give them tasks then they can take a second contract and bill more.
Most companies I've seen are full of stimulus-response people.
You don't need to work more than 40 hour weeks to be productive. What you need is managers and coworkers who understand what your job kinda entails. People who when you say during the two week planning meeting that you'll fix a typo and that's it, will call you on it saying "that won't take two weeks, what else?".
I've seen competent people (with children) fall into a comfort zone where they can keep up and "perform well" working just an hour or two a week, because nobody else gets any work done so it's not like they're blocking people. These same people actually perform in better companies.
[1] I'm not saying no contractors care. But they have extra reason not to care if they happened to be paid and aren't "stimulated" (in the simulus-response sense).
Most companies I've seen turn perfectly good work-driven people into stimulus-driven wrecks.
I think it should be punishable, since it's very similar to a more labour-oriented employer creating circumstances where physical accidents happen.
I'm sorry but I'd argue that I cared more when I was younger (mostly because I was stupid). I've spent entire days in someone else's cubicle (not so much pair programming as me standing guard against distractions such as business analysts and quality assurance who apparently kept popping in) making sure they finish their part of work.
Actual code writing for me was fairly easy once the roadblocks got out of the way.
I've told people to shut up in meetings when they start going off in tangents. Clearly, it was not good for my career.
It's an awkward situation, I usually just ask "is this relevant to everyone in this room?"
Sometimes a manager says "yes" (it's not) and I just sit there and die quietly inside, otherwise they just say "yeah let's take this offline". Whatever that means. As long as it's not fucking with the meeting ¯\_(ツ)_/¯
I think this is one of the main points. Some managers literally abuse the commitment a good worker has toward the company - for any possible reason: first job, belief in career advancement (within the same company), pure love for work (workaholic), etc. However, once you change a couple of companies, and once you see what managers really value, you start to wonder: what am I doing here? who am I kidding here? Your priorities start to shift toward something that becomes more important for you (family, kids, your own person, friends, and so on). My 2 cents. I might be completely wrong, so ignore me :)
In general, I feel that the "proactive" or "reactive" mindset is not always the main reason of such issues occurring at work. Sometimes the environment is so literally fucked up, that you can't do anything, even if you are super proactive. Really, nothing, even when you try to find yourself a task, something to do; and this will kill you inside, until you change job. I believe that good managers make you productive, even when you "literally" work 50% of the time. After all, that's what they are also paid for, isn't it?
I also want to believe that a good manager doesn't let that happen (that you work like hell), for the simple reason he is aware of the consequences.
However, I find it's hard to generalize, it always depends on the case/company/team/person.
Most 20 somethings know a stack or two but don't have any domain knowledge to understand how to make it useful in the "real world".
Check out: https://hbr.org/2014/11/the-best-performing-ceos-in-the-worl...
Over a quarter of the top CEO's in the world have an engineering background and the median age is 59.
The world is becoming more and more flat with globalization. If you are limiting yourself to pushing code and not learning business skills you are probably replaceable.
I'm far better off in a senior/lead/architect developer role over being in any form of management. I provide better value in that space. What's disappointing to me is that you pretty much cap out and aren't likely to make more anywhere near in proportion to the value you provide.
From personal experience, it becomes very clear rather quickly who the top team contributor really is. But having those kinds of expectations from other people is rather toxic. You would either have to change your attitude or your job.
Really it should be age at which they started to dictate product direction.
That said, its up to people like me running teams and businesses to set the tone - encourage balance while not squandering inspired work.
Re inspired work: I once made the mistake of telling one of my employees "slow down a little, i don't want you to burn out and hate working here". He had an astute response: "Andy, I'm inspired I have to keep working on this until its done!" He worked weird hours - night and day for 2 or 3 days ..and when it was done I remember him needing some well deserved R&R.
The message from there on out to my teams is - if you're inspired, work. When you're done, rest. I'm not watching when you roll in in the morning, I'm watching the team's accomplishment and morale.
What worries me more is when I see colleagues who have children and are _still_ doing the chronic overtime thing. Missing out on getting drunk in the evenings just to make someone else rich is lame. Missing out on the early years of your kid's life just to make someone else rich is a tragedy.
I think it is a good trade off to have someone else shoulder all the business risk while I cap out at ~$330k at a reasonable senior level(Staff SE). IMO, $330k is "rich". Most people could retire from 5-10 years of working after reaching the senior level. Once someone reaches the senior level, I assume that the knowledge gained while hustling to achieve the senior level would let him/her dial down to the standard 40 hrs.
The prodigies in the documentary explained that the time when they were practicing all day was exciting and fun. They looked back on that time with nostalgia because after they got older they neither had the time nor the stamina to practice like that again.
"Nobody ever died wishing that they had spent more time in the office" is a popular quote, but I think it is false. I personally know of several people who after they were diagnosed with terminal diseases chose to spend their remaining time working as much as possible.
The key to what you are saying is the "just to make someone else rich". I think if you are looking at it as some kind of equation where "I have to do X in order to get Y", often you lose out because it turns out that Y was not worth it after all (especially if you are trading your life for money). However, if you are looking at it as "I can't believe I get to do this all day long!", then I don't think you will regret it.
This is not to say that those who prefer a "work-life balance" existence over "work is inseparable from life" existence are much different. It's just that you need to spend your time and energy doing what you love -- getting that balance right. Both groups suffer if they divert their attention away from what is important to them.
PG talked about it here - http://www.paulgraham.com/vb.html
Fun fact: My son's initials are QA. I made sure the paperwork was signed and out of the room before I pointed that out. ;)
I named my son Nand and my daughter Ada. ;)
On the other hand, I'm crafty, and experienced. Also, I think kids that age do respect the idea of a family life -- I just had a chat this morning and said "have to go, family event" -- it's okay.
While some 20 somethings are workaholics, a lot of them are not, they get their work life balance in at other times in other ways, more periodically. I don't think there needs to be a worry about stigma. Different strokes, and good communication are the most important.
I volunteer with the American Red Cross which needs volunteer personnel for all kinds of purposes ranging from two week deployments to disaster areas to occasional help at blood drives. You'd develop all kinds of new skills and meet a lot of great people, all while having a very tangible impact on the world. And that's just one random example from what I personally spend my time doing.
Look around your area, community, and industry, and find more things to do. If nothing else you'll get a lot of good stories to tell. You might just find your purpose on life.
He "worries about the software industry", but my point is that he is worried for the wrong reason.
The problem isn't that you can't do the job with a work life balance. It's that it's so full of incompetent people that someone competent can keep up with no effort at all. And they mask the incompetence. And eventually if you do that for 20 years, you too risk becoming incompetent. Or at least only have a tiny fraction of your potention competence.
I think it takes practice and discipline to really enjoy your life _outside_ of work. I take my kids to school, eat breakfast with my wife, handle my personal business in the morning. Then I go to work, WORK WHEN I AM AT WORK, and go pick up my kids from school and go home.
Working when I am at work being the key point. If I walk around the floor at my office half the people will be reading Facebook or whatever, which I completely understand and I myself do read Facebook from time to time but I don't understand why you'd want to do that while sitting at your desk at work.
Edited to add: and I never attend meetings.
It's clear that the earlier contractors didn't know enough about user-centered design, responsive sites, mobile design, online login systems, modern web scalability requirements, benefits of cloud hosting and much more; which is where the younger developers now start.
Also a minute to thank Stackoverflow, for the amazing work it has done in uplifting software development work.
or they just have a different view of it.
You have no need to be home at any particular hour, and your social life is more evening/night based then why not work 10 hours a day. It's dumb, since you risk burning out, but otherwise I'm not really missing out on anything.
She had a boss who met with developers and told them nobody cares about your opinions. You see million dollar mistakes being made and you either accept it or leave government which is what she did.
The sad truth is government bureaucracies spend all their budgets so they can ask for more. Limiting cost is the least of their concerns. I applaud 18F and the Digital Service for their efforts to advance and streamline IT and development costs. It’s an uphill battle. There is no reality check in the public sector as there is in the private sector, where inefficient behemoths eventually go bankrupt to more efficient companies.
Outsourcing is supposed to prevent this, but the big contractors just milk it for all it’s worth (Oracle failing to build Oregon’s healthcare website for $250 million is an example, HP and NMCI is another). I don’t believe it’s just the byzantine contract bidding process but the fact it is easier for leaders to say they chose a big “reputable” company so it’s not their fault it failed, whereas if they had chosen a small no-name company and it failed it would be their ass. So real competition and efficiency end up being non-existent in government, unless the president’s legacy initiative is in jeopardy and he throws his weight behind the fix. I don’t know of any way to fix this behavior except to limit the size of government and make it more local so accountability is easier to maintain by the electorate. I wish more good people in government could change things, but there are already a lot of good people trying their best in a top-down system where CYA and optics are more important than efficiency and results.
There's also a culture of not recognizing or admitting failure; they're spun into success stories. This means people don't learn from mistakes and keep repeating them.
Smaller teams are weeded out very early. The barriers to entry for working with government and non-profits are high, demanding all kind of certifications and processes to be implemented.
If you don't have teams to build excruciatingly detailed (and inaccurate) proposals (complete with 100 slides presentations), jump through the hoops of procurement and fill up the deluge of paper associated with tracking every single hour working on the contract, you won't land the big contracts.
Personally, I threw the towel in. Enterprise pays more, is more loyal and while procurement can still be a PITA, the overall organization is clearly aligned behind growth and revenue. If you help them do that, you can circumvent or negotiate things.
ref: https://bhc3.files.wordpress.com/2008/05/consumption-spreads...
Results are secondary. This is possible because there's no accountability for not getting results.
Essentially it came down to too many people in too many isolated teams who were led by people that would struggle to do IT for a small Windows-only business.
At the time I used to say that the people running the project would get nine women pregnant in the hope of having a baby in a month. I would hope the problem with that is obvious but you would be shocked at how many people thought it was actually a good idea!
Welp, you're signing my paychecks. I will do whatever you want me to do for 40 hours per week. If that's productive work that makes a difference, awesome. If that involves me wasting a gazillion dollars on something stupid, I'm not paid to think, man. I just work here. If you want me to think, then pay me to think.
On the bright side, I have absolutely zero stress when it comes to workplace drama because I couldn't care less to begin with.
For me, work is something that I neither dread nor enjoy. It simply is.
>Here is the tl;dr version of their story: Marketplace Lite, or “MPL” as they came to be known, devoted months to rewriting Healthcare.gov functions in full, working as a startup within the government and replacing contractor-made apps with ones costing one-fiftieth of the price. And when, nearly a year after the initial launch of Healthcare.gov, the website’s second open-enrollment proved much healthier than its first, it was the MPL team who celebrated.
> Instead, if the successes of the MPL team confirm any guiding principle for the future, it is this: Technical workers—not only engineers but designers—have to be involved with a process from the beginning. They will know that features must be described separately from needs, and that, when building software, smaller teams often perform better than larger teams.
here's the prior HN discussion: https://news.ycombinator.com/item?id=9857662
Many HN'ers suspected this was a "submarine" piece.
From what I saw, government contracting requires all requirements up front. It then floats a bid, and the cheapest bidder wins. Whether or not the contract has been met is determined by that list of requirements; even if you fail to deliver on a non-functional requirement that is obvious ("the system should be able to scale out and handle X simultaneous users"), you aren't penalized if it wasn't one of the requirements. In fact, delivering on obvious things that aren't part of the contract -hurts the contractor-; it requires development time and effort (and thus eats into profits), and the government is legally prevented from taking such things into account on future contracts (that is, they can't say "Well, company A is the cheapest, but the last contract they took was a broken piece of shit; company B is a little pricier, but they delivered quality, we'll go with company B". No, you go with the cheapest, period, because if they fail to deliver what you specify you can sue, and if they fail to deliver what you -wanted-, but failed to specify, too bad). It's possible to renegotiate the contract mid-stream, but it's expensive and time consuming.
So the contractor has every incentive to make sure that there is no time spent on quality, security, stability, scalability, etc, unless that's -explicitly- what was asked for. This article points out that having developers involved from the get go on the Healthare.gov rework led to it being successful, and that's very much true; you need technical people who care about more than just making bank to point out non-functional requirements that are missing. And, in general, trying to list all requirements up front is a fool's game, but such is the government's bidding process.
> the government is legally prevented from taking such things into account on future contracts (that is, they can't say "Well, company A is the cheapest, but the last contract they took was a broken piece of shit; company B is a little pricier, but they delivered quality, we'll go with company B". No, you go with the cheapest, period
This is absolutely wrong. There is no requirement that the federal government must go with the cheapest bidder or that they cannot take performance into account. The government can and does regularly reject bids because they are unrealistically low; in fact, I was on one DOD program where both bidders were told to go home and come back with something realistic. Past performance definitely factors in to what the government considers reasonable. It's one of the reasons the government requires labor tracking even in situations where the labor expended doesn't affect the final cost, such as fixed-price contracts and uncompensated overtime.
Also, while I've seen bid wins/losses talked about from the perspective of the quality of the solution, I've not seen them talked about having been won/loss due to past performance. I hope you're right that that's a consideration, but the lack of controls around quality, and the obvious apathy I saw, lends me to think that if that's a consideration, it's not one the government knows how to actually judge.
Strictly speaking the government has loads of flexibility at defining exactly what form contracts should take. It's just that in reality, most people who decide on the form of government contracts rarely have the skills required to imagine doing things better. Furthermore they have very little incentive to do so. So the least risky and the simplest option is to "do what didn't work last time". After all, everyone involved (on the government side) will continue receiving paychecks no matter what, so why bother?
Also, if you think about it - if you are a median government worker who lacks the skills required to actually perform the task for which you are writing/monitoring the contract - what is the probability that you will do a good job getting results on the taxpayer money you are spending?
In the big picture, the taxpayers must employ the most skilled and talented people available to imagine/design/oversee technical solutions acquired by the government if they want any to see value delivered for outgoing tax dollars. This constraint is completely incompatible with the existing civil service personnel policies.
They mitigated the effects for a while by running it on bigger computers - when we came in it was running on Oracle's BIGGEST computer, the Exadata. $6MM per environment. Terabytes of ram. But still just completely bogged down by a set of software not designed for its use case.
1. https://en.wikipedia.org/wiki/Cost-plus_contract
2. https://en.wikipedia.org/wiki/Iraq_for_Sale:_The_War_Profite...
Even then, though, launching our first product (App 2.0) to production was really uphill as we fought to earn the trust of CMS and the other contractors, who didn't really believe we could deliver.
But after we shipped, and people saw that we could deliver working software, things got way easier. Now we are consulted on major software architecture decisions and are a key part of the design process.
It goes the other way round though as well -- we have learned you have to respect your partners and champions on the inside, and conform a bit as well. When you are dealing with really sensitive personal info you can't play as fast and loose as you could in a brand new startup.
we are at a point now where we can often look at the underlying need and suggest alternate ways of approach. For instance after a big breach a few months ago security wanted us to use some VPN for all our prod systems- we managed to compromise on amazons MFA which is quite solid but gets us the enhanced security they were going for
Long term we want to help reform contracting so that requirements are not framed in this lots-of-boxes-to-check-none-having-to-do-with-serving-users mindset
[1]http://www.bloomberg.com/news/articles/2014-08-28/all-the-co...
https://www.eff.org/deeplinks/2015/01/healthcare.gov-sends-p...
How the hell was this published?
"AWS is a service by Amazon that runs software for you in computers connected to the internet" is still inaccurate, but has a meaning for the layperson other than "tech buzzwords with superlatives".
I'm missing a description of virtual machines / containers but that might be going into too much detail.
Wikipedia:
> A supercomputer is a computer with great speed and memory.
AWS's machines have more memory and CPUs that you would find in personal computers, with gigabit networking.
Granted, AWS does a lot of other things: split these machines into smaller VMs, allow users to bid on prices, offer higher-level services like queues and distributed storage.
If this is the greatest technical inaccuracy, they're doing pretty good.
"The MPL team was not the ideal workforce: They were (and remain) contractors to contractors. They were not protected by a union, nor did they enjoy the many benefits of working as public employees. They are coders-for-hire who could relocate across the country quickly, and they reflect the larger industry they work in: Mostly young, mostly male, and highly educated. It does not have to be this way. This kind of precarious employment—lucrative, quasi-nomadic—is as much the result of poor planning as a natural consequence of writing code for a living."
Why are any of those things not ideal? What's wrong with being contractors to contractors,non-unionized, young, male or educated? Or am I misunderstanding the author's point?
How much would they have made if they were unionized workers who got OT for the countless hours? Would they even have been asked to? Could they have gotten a proper office if they weren't non-union contractor to contractor workers?
What sort of benefits do they get? You're working yourself at an insane pace, do you get health benefits and some guarantee of time off at some point?
> young, male or educated
At the exclusion of older, female, and minority workers.
Todd reached out to the CEO of Civis Analytis (Dan Wagner I believe?), who had pitched in with the Obama campaign. Through him Todd reached Mikey Dickerson, who was at Google at the time (Mikey is now the head of USDS). Mikey looped in a few other googlers...and so it spread.
I found the MPL team through friends in the startup world, many of whom were ex YC founders
probably. Reasonably high chance of getting the smarts you need, plus you borrow a name.
But what about Amazon makes you not want healthcare organizations to use it?