News for hackers. Stuff that matters.
Re:How Go helped save HealthCare.gov by paulsmith on Monday November 09, 2020 @04:04PM (#25039877)
Greetings, folks: as we know, headlines don't tell the full story, and no, spoiler alert, Go alone did not save HealthCare.gov. A lot of people pulling together and working very hard over many months did. There are very many stories about the rescue. This is but one part about how indeed, a modest but important service written in Go, yes, did help, a lot.

It is worth noting that, 7 years later, almost all of HealthCare.gov has been rebuilt, and substantial parts of it are in Go. This is in part what the company I co-founded after the rescue has been up to. (If this kind of thing -- building modern, reliable digital infrastructure for government -- seems appealing to you, [we are hiring][1].) This is a pretty interesting story in its own right.

[1]: https://adhoc.team/join/

Re:How Go helped save HealthCare.gov by leafmeal on Monday November 09, 2020 @06:42PM (#25041332)
I was checking out the application for one of your positions and found this required question:

> Please provide your salary requirements or range.

I feel frustrated when I see that you haven't listed a salary range for your open positions, yet expect applicants to provide this information. I think it puts prospective employees at a disadvantage. Also it can waste applicants' time if you'll never pay as much as they need or expect.

I think your mission is valuable. I want public services to serve the public well. I hope you consider being more open about potential salary ranges because people like me would feel more comfortable applying.

Re:How Go helped save HealthCare.gov by westDev12 on Monday November 09, 2020 @10:38PM (#25042609)
They (adhoc) pay scale for everyone ... as they are focused on pay parity. Everyone starts at the same equal level pay per job title and you can not negotiate your worth. Also, you have to take a lot of tests and go through a gauntlet of interviews. Personally I was exhausted after the first one in which they detailed their long drawn out process and dropped out. So, I'm gonna go through all that and I cant negotiate my worth/years of experience?

I will say its a good place/company for starting your dev/design/tech career.

Re:How Go helped save HealthCare.gov by waheoo on Tuesday November 10, 2020 @12:01AM (#25042949)
Starting out your career with an inflated salary is better than anything they can offer.
Re:How Go helped save HealthCare.gov by yeswecatan on Thursday November 12, 2020 @01:34AM (#25067092)
What do they offer?
Re:How Go helped save HealthCare.gov by paulryanrogers on Monday November 09, 2020 @06:45PM (#25041345)
This may be illegal in California where employers must share their range and cannot ask candidates their salary history.
Re:How Go helped save HealthCare.gov by mmcclure on Monday November 09, 2020 @07:11PM (#25041504)
No, I don't see anything here that would be illegal in California. There's no requirement to include the salary range in a job posting or anything upfront, the obligation is to disclose the pay scale for a position "upon reasonable request." In fact, this is specifically called out as being after an initial interview.[1]

Employers can't ask candidates their salary history, but they can definitely ask the candidate for salary expectations.

[1] CA Labor Code Section 432.3 (c) An employer, upon reasonable request, shall provide the pay scale for a position to an applicant applying for employment. For purposes of this section, “pay scale” means a salary or hourly wage range. For purposes of this section “reasonable request” means a request made after an applicant has completed an initial interview with the employer.

Re:How Go helped save HealthCare.gov by dialamac on Monday November 09, 2020 @09:54PM (#25042418)
Like many CA laws I don’t see how this is practical. Unless there is some reference to market ranges or something might as well say range starts at minimum and up to whatever made up budgeted amount, depending on experience.
Re:How Go helped save HealthCare.gov by rovr138 on Monday November 09, 2020 @11:41PM (#25042849)
And one is free to skip those companies. If those are the practices to entice you before you start, imagine how they would be when you’re working there.
Re:How Go helped save HealthCare.gov by dannyw on Tuesday November 10, 2020 @02:29AM (#25043561)
You could say that for any labour regulation though. Like, how about skipping companies with non-competes? Or how about skipping companies paying below the min wage?

The reality is many people aren’t at the liberty of strictly choosing employers; and labor laws help raise pay for everyone at the detriment of corporations and investors b

Re:How Go helped save HealthCare.gov by ineedasername on Monday November 09, 2020 @07:09PM (#25041489)
Yes, assuming it will depend on the quality of the candidate, much better to publish a range and say "based on experience" Especially because salary requirements may be soft, and also dependent on a benefits package. I'd take a lower salary if there was, for example, an excellent 401k matching program, flextime, etc.
Re:How Go helped save HealthCare.gov by cutler on Monday November 09, 2020 @09:28PM (#25042291)
Agreed. I would not consider applying for a role like this where there is no clear commitment to salary or day rate, especially where there is a lengthy 3-step application process involved.
Re:How Go helped save HealthCare.gov by jwmoz on Tuesday November 10, 2020 @03:08AM (#25043729)
Agree. In the UK most salaries are stated upfront, especially contract work.

Personally I do not even bother looking at a job unless there is a salary/day rate stated.

Or you could just apply and say "1 Billion dollars".

Re:How Go helped save HealthCare.gov by user5994461 on Tuesday November 10, 2020 @06:58AM (#25044979)
In the UK it's only contract work that states a pay upfront. Usually a daily rate for tech work.

Permanent roles don't state salary. Exception being a few companies like government that have a fixed band (way below market).

Re:How Go helped save HealthCare.gov by jeffrallen on Tuesday November 10, 2020 @05:08AM (#25044306)
...in your best Dr. Evil voice.
Re:How Go helped save HealthCare.gov by durpkingOP on Tuesday November 10, 2020 @12:26AM (#25043040)
entitled much?
Re:How Go helped save HealthCare.gov by worldsayshi on Monday November 09, 2020 @08:28PM (#25041967)
I think it would be very important to spread the word about how healthcare.gov was saved. Are there any good sources on this?

It's not just US that fails with these kind of projects. In Sweden we have seen many expensive government IT infrastructure projects that effectively flush tax money down the drain. The users find them horrible to work with and they are riddled with security issues.

As a developer in Sweden I feel very frustrated about this. If I knew of a similar company in Sweden I would seriously consider joining it.

It could be done so much better. But how did you do it?

Edit: And I'm thinking not so much about the technology part of the problem but everything else, since finding competent developers that can solve the problem once you have a clear direction and decent financing seems like the easier part?

Edit 2: It feels like one of those things that could make a really eye opening documentary given the right direction.

Re:How Go helped save HealthCare.gov by tgsovlerkhgsel on Tuesday November 10, 2020 @02:51AM (#25043679)
Having seen such failures in Germany, I think the key reason is that government IT contracting requires two very different skills: Government contracting, and IT. And "contracting" skills are much more important than the latter: It doesn't matter how good your IT skills are, if you aren't good at contracting, you aren't getting the job, but if you're good at contracting, you can get the job, deliver a shitty product, and still make money.

Good IT firms are busy working on free-market projects where they have to deal with 10% of the bureaucracy. It's not worth competing against established players who know how to play the government contractor game much better than you, especially if bidding rules may force the government to pick a contractor that they know will deliver a subpar product because it's cheaper/because their bid is written by someone who knows exactly how to write them.

I suspect that if you want to compete in the market, you need to have a "bureaucracy" team that's at least as big, if not significantly bigger than, your actual software development team. Even in an ideal market that's going to drive prices up.

Edit: It seems like in this case, this quagmire was avoided by having the government build a skilled team in-house, avoiding all the overhead of an army of government bureaucrats interfacing with an army of contractor bureaucrats (which is necessary due to the processes that ensure fair contract awards).

Re:How Go helped save HealthCare.gov by worldsayshi on Tuesday November 10, 2020 @06:15PM (#25053386)
> this quagmire was avoided by having the government build a skilled team in-house

Oh, this has been my feeling of how to solve the issue as well. Government in-house projects seems to have better quality overall in Sweden too.

Re:How Go helped save HealthCare.gov by RangerScience on Monday November 09, 2020 @04:06PM (#25039891)
Neat. Curious: What's your stance on open-sourcing all civic infrastructure, like Healthcare.gov?
Re:How Go helped save HealthCare.gov by gunsch on Monday November 09, 2020 @04:17PM (#25040032)
VA has attempted a lot of open-sourcing as well, including most of VA.gov [1], including the project management of it, mostly as an ideological stance from the VA product owners we work with.

Open-sourcing hasn't cultivated much in the way of public engagement with the projects, but it's done a lot in terms of making development easier for the range of contractors + VA employees we have, and (IMO) nudged toward better decision-making with the underlying knowledge that everything we do is publicly viewable.

Other federal agencies routinely come to VA asking to learn from their digital modernization efforts, and I suspect the open-source stance has been a big part of that.

(I also work at Ad Hoc. It's great!)

[1] https://department-of-veterans-affairs.github.io/va.gov-team..., repository links at the bottom

Re:How Go helped save HealthCare.gov by trimbo on Monday November 09, 2020 @08:58PM (#25042125)
It's worth noting that the VA's most critical software -- its EHR system, VistA -- is public domain with the source code available.

However, despite being a critical, successful piece of open source software that had massive investment over decades, it's being abandoned for a commercial system, Cerner, in a $16bn project.

https://ehrintelligence.com/news/va-cerner-implementation-co...

Re:How Go helped save HealthCare.gov by rjzzleep on Tuesday November 10, 2020 @01:05AM (#25043201)
That thing is actually mostly designed by HP and RedHat, had really weird design choices and wasn't cheap either.

In my opinion none of them were capable of designing a user facing application. It was also built as a client/server desktop application. Not really a good choice in my opinion. Sure there were no offline PWA at the time, but by contrast if your SAP backend dies all the local applications in a hospital e.g. writing the release report also dies.

Needless to say given it's immense complexity it was also impossible to use this monstrosity elsewhere.

But replacing it with Cerner in a $16bn project is just sad.

Re:How Go helped save HealthCare.gov by rattray on Monday November 09, 2020 @10:42PM (#25042622)
Why is that happening? How successful was the open source software?
Re:How Go helped save HealthCare.gov by dmm10 on Saturday November 14, 2020 @03:14AM (#25090979)
VistA has been a very successful open source project and is being continued in OpenVistA [1]. Originating as a software project in the Veterans Administration (named VA MUMPS) in 1977 it only took on the name VistA in 1994[2]. Internationally it has been used freely in hospitals in the U.S., Mexico, India, various countries in Africa, ...[3].

It was a truly open source project within the VA with programmers customizing this national patient record software in cooperation with doctors (to meet their needs) locally and sharing the modifications nationally. Perhaps its greatest technical challenge (besides complexity arising from decades of evolution) was finding programmers to work with the MUMPS language that it was written in. FYI MUMPS is a language with an integral db -a concept which was out of vogue for some time.

Political challenges are another story[4].

[1] https://sourceforge.net/projects/worldvista/ [2] https://www.hardhats.org/history/hardhats.html [3] https://worldvista.org/AboutVistA [4] https://www.politico.com/agenda/story/2017/03/vista-computer...

Re:How Go helped save HealthCare.gov by trimbo on Tuesday November 10, 2020 @01:07AM (#25043207)
As far as software success goes, all healthcare providers at the VA have used VistA daily for a couple of decades (actually CPRS -- it's like an MFC app or something on top of VistA). A relative who works at the VA likes it, and is not excited about moving to Cerner.

Why Cerner? I don't know.

Re:How Go helped save HealthCare.gov by pnut on Tuesday November 10, 2020 @07:57AM (#25045427)
Re:How Go helped save HealthCare.gov by ElijahLynn on Monday November 09, 2020 @04:26PM (#25040132)
Nicely stated gunsch:

> Open-sourcing hasn't cultivated much in the way of public engagement with the projects, but it's done a lot in terms of making development easier for the range of contractors + VA employees we have, and (IMO) nudged toward better decision-making with the underlying knowledge that everything we do is publicly viewable.

Re:How Go helped save HealthCare.gov by TOGoS on Monday November 09, 2020 @07:13PM (#25041524)
Care to define "gunsch"? Other than the expected gross definitions from Urban Dictionary I'm coming up empty-handed.
Re:How Go helped save HealthCare.gov by jonchang on Monday November 09, 2020 @07:17PM (#25041553)
That is the handle of the person who wrote the comment.
Re:How Go helped save HealthCare.gov by dboreham on Monday November 09, 2020 @09:33PM (#25042317)
But now it's a word, meaning: to mistake someone's username for an unfamiliar natural language word.

To gunsch v.

Re:How Go helped save HealthCare.gov by lazyasciiart on Monday November 09, 2020 @07:19PM (#25041570)
The name of the commenter they replied to.
Re:How Go helped save HealthCare.gov by ElijahLynn on Monday November 09, 2020 @04:21PM (#25040076)
There is a start on VA.gov already happening in this direction. The front-end codebase and backend (Drupal 8) CMS are both fully opensource for VA.gov.

* Frontend - https://github.com/department-of-veterans-affairs/vets-websi...

* Backend - https://github.com/department-of-veterans-affairs/va.gov-cms...

Paul's company is working on this project too (whom I work alongside with but with a different company)!

The U.S. Digital Service is really a big factor in this, see the playbook, specifically play 13:

> If the codebase has not been released under an open source license, explain why.

source: https://playbook.cio.gov/#play13.

So, see how this is now flipped. It is now "hey, you need to open source this by default, and if not, you need to explain why you didn't." and not the other way around!

Update: See Andrew Gunsch's comment in this thread too!

Re:How Go helped save HealthCare.gov by paulsmith on Monday November 09, 2020 @04:08PM (#25039924)
I think it's a good idea (not a magic silver bullet, but considering tradeoffs, on balance better than proprietary platforms), but it's entirely up to the government folks in charge of particular projects.
Re:How Go helped save HealthCare.gov by gpm on Monday November 09, 2020 @04:15PM (#25040003)
I'm curious what you think the greatest downsides would be? It seems the typical ones (you can't sell open source stuff) don't really apply.
Re:How Go helped save HealthCare.gov by dheera on Monday November 09, 2020 @04:54PM (#25040416)
It would only make sense to open source something like that if people would actually go work on it. There may be lots of security flaws in the system but it's not guaranteed that open sourcing it will result in a fast fix from the community. This isn't OpenSSL.

A better approach might be to just budget for and pay a team of good developers a market wage to make it better.

Re:How Go helped save HealthCare.gov by ClumsyPilot on Monday November 09, 2020 @08:36PM (#25042007)
The logic is different: if public money paid for the code, the code shoupd be public.

So paid developers work on, but the end result is publically avaliable.

Re:How Go helped save HealthCare.gov by dheera on Monday November 09, 2020 @08:46PM (#25042050)
I see, that's fair.
Re:How Go helped save HealthCare.gov by RangerScience on Monday November 09, 2020 @09:03PM (#25042150)
That's exactly my thinking.
Re:How Go helped save HealthCare.gov by randmeerkat on Monday November 09, 2020 @05:22PM (#25040663)
To be fair OpenSSL was mostly ignored by industry and the community until heartbleed.

“At the time of the Heartbleed attack, the OpenSSL website listed just 15 active developers, most of whom contributed to the project on a volunteer basis. But not all changes to the OpenSSL software are written by these 15 people. Rather, these developers help to filter and organize suggested changes from a larger community of people who make occasional contributions.”

https://www.vox.com/2014/6/19/18076318/heartbleed

If you want the government to have more competitive Federal salaries for developers then write your Senators.

As a note, I’ve seen some truly awful software written by highly paid devs, so, just paying more won’t necessarily fix the problem.

Re:How Go helped save HealthCare.gov by WesolyKubeczek on Tuesday November 10, 2020 @03:35AM (#25043877)
> As a note, I’ve seen some truly awful software written by highly paid devs, so, just paying more won’t necessarily fix the problem.

High pay is necessary, but not sufficient.

With high pay, you MAY get a good product — if you attract competent people on all levels.

With low pay, the mind-numbing godawfulness of the end result, if it's ever delivered, is practically guaranteed.

Re:How Go helped save HealthCare.gov by Chris2048 on Friday November 13, 2020 @12:46PM (#25085081)
Sometimes, the high pay is to offset the terrible nature of the work, not to attract better developers, e.g. having to work on the terrible ad-hoc, micro-managed code of many previous devs.
Re:How Go helped save HealthCare.gov by PaulDavisThe1st on Monday November 09, 2020 @05:45PM (#25040878)
https://www.gov.uk/ is substantially if not entirely open-source, and this appears to have had benefits above and beyond "community contributions".

[ EDIT ] And, contra to your apparent contrasting of "open source" and "paid developers", gov.uk is both.

Re:How Go helped save HealthCare.gov by Quekid5 on Monday November 09, 2020 @07:02PM (#25041442)
Re: your edit, I am also baffled by this idea that open source and paid developers cannot exist.

In this case it's the government which technically doesn't have to actually make money (budgets, tho), but it can work in non-governmental situations too. Maybe via consulting/support on the technology, grants/donations (OpenSSL, now), maybe just making it open to foster contributions and long-term maintenance[0]. Maybe the actual software isn't the company's main focus and open-sourcing the code is just a way of ensuring accountability and quality. IME, people are actually far more conscientious when they know they code/docs could be read by anyone for all time... even if it probably won't.

[0] I'll grant that this is probably quite rare. That's not the point... the point is that there are many potential reasons for open-sourcing.

Re:How Go helped save HealthCare.gov by pabs3 on Tuesday November 10, 2020 @01:28AM (#25043311)
While it is true that there are more developers paid to work on proprietary software than on open source, there are lots of open source paid jobs out there. Some are listed on the FOSSjobs site and resources wiki. There are also a number of them in the monthly "Who is hiring?" threads here on HN.

https://www.fossjobs.net/ https://github.com/fossjobs/fossjobs/wiki/Resources

Re:How Go helped save HealthCare.gov by mbesto on Monday November 09, 2020 @04:42PM (#25040310)
> building modern, reliable digital infrastructure for government

And how about well supported? How resilient is the technology going to be in 15 years and how easy will it be to find developers? How much are those resources going to cost versus say .NET, PHP, Java, etc.?

Re:How Go helped save HealthCare.gov by casept on Monday November 09, 2020 @04:47PM (#25040360)
Go is sufficiently trivial that anyone who dares call themselves a programmer can learn it in two weeks if they already have experience in some even remotely-related language.
Re:How Go helped save HealthCare.gov by meddlepal on Monday November 09, 2020 @09:49PM (#25042395)
As others have noted, this is one of the areas Go really shines at (and I am not a Go fan). The lack of language features really forces most code into a limited form of TOOWTDI and because it has pretty opinionated choices about loops, conditionals, errors etc... you really don't see much Go code that makes you scratch your head.
Re:How Go helped save HealthCare.gov by Cthulhu_ on Tuesday November 10, 2020 @04:15AM (#25044058)
Plus - at least so far - it hasn't aged; they are reluctant to make backwards-incompatible changes, and right now they're really humming and harring about whether or not to add generics. The biggest changes you'll see in Go codebases from 10 years ago vs modern will be Go's module system / dependency management and the `context` package sprinkled as an argument to some of the API methods.

Compare that to other languages (from the top of my head, don't pin me down on details or inaccuracies please):

- Java: Added generics, annotations, lambda expressions and streams, new date/time libraries, modules, switch expressions and multiline strings.

- PHP: Added classes, types, null coalescing operator, etc

- Javascript: Classes, ES6 features (arrow functions), imports, and offshoots like Flow, Typescript.

- Obj-C / Swift; ARC, Swift itself (4 versions), I haven't been up to date with this much.

TL;DR, most languages really shift over time, often 'borrowing' features from other languages, but Go resists these changes because it's intended to still be read and compile in ten, twenty years' time.

Personally, I'm working on a management interface for a network application; the existing UI has been around since 2012, I'm trying to build this to last at least as long, probably longer, and I think Go is a great choice for it. The old application was built in PHP 5.2, which is vastly outdated now (and updating is challenging because on the one hand, the versions of RHEL used in production don't supply newer packages, and on the other there's 65K lines of badly written PHP that would likely need to be updated).

Conversely, the new Go back-end is standalone and self-contained, I try and maintain the habit of updating the Go version and all dependencies monthly; so far I've never had to make any code changes or had to rethink my architecture because of Go adding a new (architectural) feature. (I probably have the benefit that it started after `context` and the module system were in place though). I feel a lot more confident in its future proof-ness. And I feel confident that anyone looking at the code can maintain it, although that said I'm cautious about the more magic parts like GORM, which I should probably swap out with lower-level SQL at some point but I don't really want to.

Re:How Go helped save HealthCare.gov by porknubbins on Monday November 09, 2020 @08:35PM (#25042003)
I did just this, learning Go to do MITs Distributed Systems course. It has the speed and easy of dynamic scripting language plus a ton of sane defaults where JS and Python have quirks, and is compiled. My understanding is the major downside is the performance has stalled at 2-5x C++ which is not enough for systems infrastructure projects.
Re:How Go helped save HealthCare.gov by chinhodado on Tuesday November 10, 2020 @12:27AM (#25043047)
What do you mean 2-5x C++ performance?
Re:How Go helped save HealthCare.gov by barell on Tuesday November 10, 2020 @01:05AM (#25043200)
I think he means C++ is 2x to 5x faster to run than Go. I saw many benchmarks and not sure if that is true though. Go is still one of the fastest out there.
Re:How Go helped save HealthCare.gov by cryptos on Tuesday November 10, 2020 @06:05AM (#25044635)
According to micro benchmarks C is about twice as fast as Go.

https://benchmarksgame-team.pages.debian.net/benchmarksgame/...

That is already pretty fast, and I guess the difference in practical scenarios would be even smaller since external systems like DB's won't change their speed if you call them with another programming language and because production code is not always as optimized as benchmark code.

Re:How Go helped save HealthCare.gov by porknubbins on Tuesday November 10, 2020 @08:18PM (#25054457)
Sorry, I mean in benchmarks Go took 2-5 times what C++ did to complete.
Re:How Go helped save HealthCare.gov by aeyes on Monday November 09, 2020 @07:31PM (#25041657)
This project might not have a million lines of code but how maintainable is the codebase going to be in a few years once the original authors have moved on to other projects? Is the code organized to be easily readable? Java is very expressive but that's a good thing from a maintainance standpoint.

Also, the ecosystem is very young so you don't know which libraries will still be around in 3 or 5 years. You might find yourself reworking large parts of the code for betting on the wrong horse.

Re:How Go helped save HealthCare.gov by jshen on Monday November 09, 2020 @08:06PM (#25041854)
I've been coding for decades and Go is the best language I've used in terms of being able to easily read and understand other peoples code. It also "feels" very maintainable to me, but it's hard to speak empirically about that.

I've also found that most libraries in go hold up well over time. In fact, I just recently needed to write a go program that could use some code i wrote many years ago and haven't touched in nearly as many years which used a few external libraries. I literally copy and pasted my old code into my new project and it just worked.

Re:How Go helped save HealthCare.gov by Cthulhu_ on Tuesday November 10, 2020 @04:18AM (#25044065)
One part of the ecosystem and community is that they tend to pull up their nose at using too many libraries, especially if they're too different from the standard library. A lot of people come into e.g. the Go slack channel and ask "What is the best web application framework?", because that's the go-to thing when you do e.g. Java; the common answer is "YAGNI", because the standard library is good enough. If not, there are some really lightweight libraries on top of the stdlib that do things like adding route matching, or slight conveniences to do SQL.
Re:How Go helped save HealthCare.gov by mbesto on Monday November 09, 2020 @07:38PM (#25041691)
> Also, the ecosystem is very young so you don't know which libraries will still be around in 3 or 5 years.

This is precisely my concern. It's all good and well that we have these "Google level engineers" taking over government projects. But when the boredom runs out (or they go back to the private sector), who takes over?

I suspect the first people who wrote gov't applications in COBOL felt the same way...and you know how that story ends.

Re:How Go helped save HealthCare.gov by nrr on Monday November 09, 2020 @08:07PM (#25041859)
I think the obvious answer is to make it compelling for those kinds of engineers to consider civil service as a long-term option. Right now, 18F positions on the general schedule, which is probably where ICs would land, are time-limited up to, I think, four years.

That said, we should perhaps not have Google engineers live the meme of bringing their flavor of complexity everywhere they go, but I feel that having permanent FTE positions within government agencies specifically for bolstering up the competency and cost-effectiveness of information technology projects is overall a good thing.

My suspicion is that the majority of the projects that agencies like the GSA undertake (through its TTS arm, of which 18F is a constituent part) are ho-hum boring business IT projects, where most of the complexity comes not from the technology itself but from having to deal with getting a handle on the meandering specifications laid down by stakeholders (read: the plebiscite via representation in Congress).

I further suspect that the engineers that are recruited by 18F and the USDS tend not to go into the weeds on immediately building out, e.g., systems like Chubby and Stubby and D/GFS and Bigtable for the sake of it but rather tend to focus on trying to solve the problem at hand. I feel that the requirement to submit timesheets (and, hence, justify time spent) every week tempers that "every problem is tempting" feeling. Anecdotally, it did for me when I worked at a similar three-letter organization, albeit in the private sector, for the better part of half a decade.

Re:How Go helped save HealthCare.gov by quotemstr on Monday November 09, 2020 @04:56PM (#25040445)
You could have said the same about pre-generics Java. The problem is that when the language is simple and minimalist, people do things with the language that are byzantine and arcane, and you can't learn those in two weeks. Example: classic Spring's XML configuration inner platform.
Re:How Go helped save HealthCare.gov by socialdemocrat on Monday November 09, 2020 @05:38PM (#25040816)
No you couldn’t. I watched both Java and Go since they got released and Java really quickly went into the over-engineering and complexity camp long before generics. I worked as a consultant doing Java long before generics and the culture of over-engineering was already there. The language also really encourage it.

Go is an entirely different beast. The language, libraries and whole community is really worshipping simplicity in a way Java never did.

Just look around a bit at the standard library. There are pretty much no setters and getters. No inheritance hierarchy to speak of. Not even constructors most of the time.

It is not without reason that Go angers a lot of people that think they know how to do software. It breaks all the rules they have kept sacred, that they think all “real” programmers should follow.

Think about it this way. If Java is SLS assembled in a clean room never getting done, then Go is more like SpaceX assembling a rocket in open space with guy who normally weld water towers. It isn’t how it is supposed to be done but it works and they get shit done 20x faster.

Re:How Go helped save HealthCare.gov by mbesto on Monday November 09, 2020 @07:39PM (#25041705)
> The language, libraries and whole community is really worshipping simplicity in a way Java never did.

Isn't that because it's essentially "new"?

Re:How Go helped save HealthCare.gov by Cthulhu_ on Tuesday November 10, 2020 @05:26AM (#25044402)
It's been released (or gotten a 1.0 release) in 2012 but in development since 2007, so relatively as old as Java 5 since Java's inception; compare the features added to Java with those to Go: https://en.wikipedia.org/wiki/Java_version_history vs https://en.wikipedia.org/wiki/Go_(programming_language)
Re:How Go helped save HealthCare.gov by nrr on Monday November 09, 2020 @08:43PM (#25042038)
I don't think so. Go looks to be focusing mostly on systems-level problems and the kinds of applications that orbit that concern.

Java, on the other hand--at least when you control for the confusion around whether "Java" referred to the JVM, the language, the base class library, or the security model--was looking to take on C++ and the kinds of software people were looking to write in 1996 in C++.

You can write line of business software in Go, but that doesn't really feel like its purpose in life. The language fights you a little bit when you try to do that.

Re:How Go helped save HealthCare.gov by yesdocs on Monday November 09, 2020 @06:11PM (#25041109)
News flash: this is what they said about COBOL, C, C++, JavaScript, closure, etc. as well as architectural patterns such as OOD or functional programming. Every language, and every platform has it’s nuances. You can do silly, non performing things in any language or platform. To assume a particular language will solve all your woes is outright naive and exhibits no memory of past software engineering concepts.
Re:How Go helped save HealthCare.gov by ineedasername on Monday November 09, 2020 @07:16PM (#25041544)
You are basically saying that no language is a silver bullet and any of them can go badly wrong, which is trivially obvious and not a productive addition to the discussion. If you have specific criticisms of this approach, that would be much more constructive.
Re:How Go helped save HealthCare.gov by yesdocs on Tuesday November 10, 2020 @10:06AM (#25046748)
When you claim history is ‘not productive’, you have taken the fool’s path.
Re:How Go helped save HealthCare.gov by geodel on Monday November 09, 2020 @06:17PM (#25041156)
Nope. Java complexity came straight from Sun and friends. J2EE / EJBs (came in 2000) did not come from some randos, it was official Sun specification and supposedly standard way to develop any enterprise application.
Re:How Go helped save HealthCare.gov by jshen on Monday November 09, 2020 @08:08PM (#25041865)
I think Go has held up pretty well on this front, and I've also found a good heuristic to detect if libraries aren't doing this well. Check and see if they use the empty interface type a lot (this is the All or Any type in go). It's a code smell for me if I see a library using it a lot.
Re:How Go helped save HealthCare.gov by paulsmith on Monday November 09, 2020 @08:10PM (#25041876)
This is something we think about and discuss a lot. We take the implications of using the word "infrastructure" seriously. There is a healthy scepticism among the team about new & shiny. We try to be conservative in our technology choices, recognizing that the externalities of those decisions will be borne by others, including the taxpayer. That said, we also have to be mindful that users' expectations about technology change over time, based on their experiences with the consumer world, so we also have a pressure to at least be conversant with new stuff and evaluate it regularly.

I think this is a rich space for practitioners to comment on. We are in the midst of a mass conversion of the delivery of government services into digital channels. It's important that we approach it as if it were physical infrastructure, for a host of reasons.

Re:How Go helped save HealthCare.gov by ineedasername on Monday November 09, 2020 @07:11PM (#25041515)
why wouldn't it be comparable to any other modern, reliable digital infrastructure? Those are not terms I would use to describe something that was going to become a horror show to deal with in a few years.
Re:How Go helped save HealthCare.gov by 7thaccount on Monday November 09, 2020 @06:31PM (#25041261)
My understanding was healthcare.gov was a failure until a small team took over and redid the full thing in ruby on rails just to get it all working, and then later it was ported to something more performant. Is that true?
Re:How Go helped save HealthCare.gov by paulsmith on Monday November 09, 2020 @07:53PM (#25041781)
No. The original site was a Java/J2EE application, and that's what the small team you refer to helped to stabilize on the rescue. We got it working well enough to make it through that first enrollment year. There was no rewrite into Ruby on Rails.

Later, and over time, key components of HealthCare.gov were redesigned and rebuilt. Rails was used for some, Go for others, and there is still some Java from the original design.

Re:How Go helped save HealthCare.gov by zacharycohn on Monday November 09, 2020 @06:36PM (#25041296)
There are many gross oversimplifications of the healthcare.gov rescue experience.
Re:How Go helped save HealthCare.gov by MengerSponge on Monday November 09, 2020 @06:41PM (#25041325)
It was a long ago, but here's hoping someone from 18F can chime in: https://18f.gsa.gov/
Re:How Go helped save HealthCare.gov by lazyasciiart on Monday November 09, 2020 @07:24PM (#25041607)
FYI, looking at your job descriptions as a non-citizen, this line is pretty cryptic: "Some federal contracts require U.S. citizenship to be eligible for employment." Is this a really vague way of saying that only US citizens should apply?
Re:How Go helped save HealthCare.gov by kfrzcode on Monday November 09, 2020 @08:05PM (#25041845)
Not likely. It's actually quite literal: Some federal contracts do require U.S. citizenship to be eligible for employment.

Government contractors often have postings for multiple contracts or positions and not all may have this requirement.

Re:How Go helped save HealthCare.gov by unishark on Monday November 09, 2020 @11:43PM (#25042860)
I think the point of the question is not what are the literal facts, but rather what do they mean in practical terms for applicants.
Re:How Go helped save HealthCare.gov by sethetter on Monday November 09, 2020 @08:14PM (#25041895)
Ad Hoc employee here -- this is spot on.
Re:How Go helped save HealthCare.gov by lazyasciiart on Tuesday November 10, 2020 @07:58PM (#25054319)
This abysmal response suggests that there are no non-US citizens currently employed there and nobody knows how it would work if one was hired. Good to know! I’ll be interested to hear when someone finally guinea pigs it.
Re:How Go helped save HealthCare.gov by lazyasciiart on Monday November 09, 2020 @08:56PM (#25042108)
Yea, I do know that. What I don't know is whether that makes up 95% of their work and the other 5% is maintaining a COBOL app? Yea no thanks.

edit: "quite literal" is absolutely worthless. It would be "quite literal" to post a job saying "You will definitely be paid", and it would convey no information at all.

Re:How Go helped save HealthCare.gov by deepakhj on Monday November 09, 2020 @08:34PM (#25041994)
Paul, I love the Ad Hoc Homework resource. Thanks to your team for sharing it!
Re:How Go helped save HealthCare.gov by peterwwillis on Tuesday November 10, 2020 @12:08AM (#25042975)
Holy crap dude. It looks like a sea of white faces. (it's partly the glare, but still) Are you facing any challenges in finding more diverse candidates?