LinkedIn Is Open Sourcing Their Testing Frameworks (github.io)
destinyland writes: LinkedIn is open sourcing their testing frameworks, and sharing details of their revamped development process after their latest app required a year and over 250 engineers. Their new paradigm? "Release three times per day, with no more than three hours between when code is committed and when that code is available to members," according to a senior engineer on LinkedIn's blog. This requires a three-hour pipeline where everything is automated, from committing code to releasing it into production, along with automated analyses and testing. "Holding ourselves to this constraint ensures we won't revert to using manual validation to certify our releases."
What is amazing is how many people do just that.
The shepherds did so well protecting the flock that the sheep no longer believed that wolves existed.
Their Spam framework.
Why 3 hours? Why not 2? or 4? Why not manual? Bugs are by their nature UNanticipated and automated testing tools only test anticipated bugs.
"Holding ourselves to this constraint ensures we won't revert to using manual validation to certify our releases."
Why? It seems to defy logic. The first time you do user testing is when real world users are using it. That's moronic.
I think that you lost the war for 'what engineer means' when 'train engineer' became common lexicon a long time ago. Perhaps you could take the better fight that 'Software Architects aren't really Architects'.
The force that blew the Big Bang continues to accelerate.
It doesn't matter. All your base are belong to us.
All this efficient check in and automated testing, just so they can send spam to every email they get their hands on.
My employer specifically marks linked in spam as "NOT SPAM". So custom filters it is.
My buzzspeak is a little rusty, but this sounds suspiciously like "Beat monkeys to code faster, send code out the door without testing, and just let the users figure it out". Did something get lost in translation?
Left MS Windows for Linux Mint and never looked back!
Vote for Bernie in 2016!
At least per wikipedia, US train engineers must renew certification every few years. So even they must be certified to obtain title of 'engineer'.
Oh my heavens, 3 hours is waaaay too long in this fast-paced, ever-changing world.
Why not just do an automatic commit with every keystroke, like the Windows 10 telemetry does?
Just cruising through this digital world at 33 1/3 rpm...
I would rather eat rats than join LinkedIn.
250 developers working a project for a year at any other company would cause me to be curious about what that project is. In this case I have no interest in ever knowing.
Releasing three times a day with three hour _ceiling_ to "ship it" is only possible while harboring extreme levels of disregard and contempt for your users. Refreshing to see LinkedIn's corporate philosophy so well represented in everything they do.
Does their latest app still take all my contacts? If so then LinkedIn can go fuck themselves.
Sounds more like they are "outsourcing QA to the end users".
Once my realtor endorsed me for embedded systems development I gave up and deleted my account (if that's even possible, who knows).
First of all, thank you Linkedin for open sourcing this! Always good to share.
First, three hours is not enough time to conduct any manual testing steps, so holding ourselves to this constraint ensures we won’t revert to using manual validation to certify our releases.
I've been in testing for some time and have been taught to make a distinction between verification and validation.
Verification is checking if the software works according to specs. Validation means: does it actually work for us. By defintion that means that you can automate verification but not validation.
Is that just semantics? Not for testers. In the test community there currently is a big debate going on checking vs testing.
See i.e. Michael Boltons blog. . Checking can be done automated. Real validation in my opinion can not.
What I am curious about is the 'to production each three hours' That sounds great, but although I don't use a linkedin app on my phone, I am still pretty sure users don't get their app update three times a day.. With such rapid deployment, I suspect it takes multiple deploments before it adds up to a significant increase in usable functionality.
Many small releases means in general that mistakes are also small and quickly fixed. I am actually in favour of them. But it is not a full garantuee that one of these small releases will not break something badly that would have been found by even a limited manual test. The chance that that happens may be much lower with small releases but it still exists and the impact is still high.
Automated tests can perform a huge amount of checks quickly. Humans can't beat that. But they can also overlook the blatanly obvious. I would hope they would have manual testing at least prior to releasing new functionality. To find these things, but also to do some validation by the definition above.
Else I suspect it may work well for them for quite some time but it may bite them badly at one point as well.
---
Hm ... I guess those guys think different: https://www.sei.cmu.edu/cmmi/
Also, what is so hard to grasp that there is no "engineer"?
There are "mechanical engineers", "electrical engineers" and others and in the end also "software engineers", I for my part actually studied "software engineering" and "computer science" ... funnily I should have worded it different, I studied "computer science" and "software engineering" is a important but depending on what else you study: a small sub section of CS.
I don't care what kind of engineer you are, that you seem so pissed, in real live I'm half an "Requirements Engineer", wow ... another engineer ...
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
My sister endorsed me for something.
I made her delete the endorsement, on penalty of being delisted as a connection on LinkedIn if she did not do so, since there was no way in hell that she could legitimately claim domain knowledge for the endorsement, or lacking that, experience in an organization we were both in, justifying the endorsement on the basis of my past work.
This is the problem with associating with family members on professional, as opposed to things like Facebook, social networks: they think they are helping you, when really they are not.
While there are several organizations where we both worked simultaneously, they were all in the distant path. If she wanted to endorse me as an electrician or a telephone installer, or a small appliance repair person: yes, she has that domain knowledge. But that's not where I typically work these days, and it's not right for people to comment on things they don't know that way.
Probably, you should have just given your realtor the same speech I gave my sister, and in the limit, asked them to retract or to lose their connection to you, rather than just deleting your account.
Meh. Some endorsements I got on LinkedIn make sense, others don't. The more useful ones are from people who took the trouble to write a short recommendation for me instead of treating endorsements as "like" buttons. And this has been my experience with my yearly appraisals as well, back when I was an employee. Most managers just tick a few boxes while only a few of them take it seriously.
If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
They use MongoDB. You don't need to worry about database changes, because it's webscale.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
The link doesn't go to anything specific, which leaves me puzzled as to whether this is a framework as in rails or something sort of like a procedure but more conceptual.
The content is buzzword laden twaddle. I reckon the whole thing is just a puff piece.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
I think you're mostly agreeing with the OP. The SEI will certainly tell you that most software development is not done with enough rigor to be called engineering. In large part, that's because most software people do not know how (or do not bother) to elicit and manage requirements well -- so cheers to you for doing that. (Good verification skills and planning for traceability are the other places that typical software projects fall short, IMO.)
Evolutionary database change takes planing. Rapid deploy doesn't mean there's no thought given to planning outcomes.
There is no project on Earth that requires 250 developers. And yeah, the idea of continuos releases and automated testing if very common in the industry. That is what git/jenkins/buildbot does best.
Any place that still puts Grady Booch on parade is "process over product", same as UML was, which is why UML failed so spectacularly in not being the magic bullet that everyone said it would be.
"Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
Does their latest app still take all my contacts? If so then LinkedIn can go fuck themselves.
Too late - they've already done a double plus fine job of fscking themselves. Then again, considering how many of the users are just engaging in circle jerks trying to get recommendations ...
"Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
Don't worry - the magic words "We're open-sourcing $X" means they're looking to cut staff. This is what most businesses without a clue do, not realizing that in fact they will need to hire more staff to deal with it.
"Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
Hm, is your country regarding "marketing" or "advertising" really so bad?
Stuff like this which is why XYZ failed so spectacularly in not being the magic bullet that everyone said it would be. I likely have read on /. a 1000 times.
However I never experienced that something was marketing-ed to me in RL in such a way nor did I "market" e.g. UML when I was still an UML coach in that way.
BTW: what is wrong with UML in your opinion? I use it since roughly 20 years, even when it was not called UML but OMT and Use Cases ;D
If anything can be blamed is that basically all UML tools are shit ... but that is partly because of the languages they need to support. When OMT/Booch Method and other stuff was born, "The Gurus" thought SmallTalk and perhaps Lisp would be the language of choice. With stuff like C++ it got pretty ugly ... with C#/Java it is finally a bit more "straight forward" again but now people are doing DSLs instead of graphical modeling.
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
Is it just me, or does LinkedIn do an amazing amount of engineering for a website that's basically a simplified Facebook + job board?
Do they really need this amount of engineering? Or are they doing it just for the sake of doing it?
UML is one further abstraction from the code - pseudo-code is far, far better. The problem is that people can't "design" systems just by drawing pictures. If you need to draw pictures, use a flow chart. Simple is always better.
"Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
Meh. Some endorsements I got on LinkedIn make sense, others don't./quote
Which makes it sound pretty "random" - ie. totally useless as a metric for hiring decisions.
Don't worry - the magic words "We're open-sourcing $X" means they're looking to cut staff. This is what most businesses without a clue do, not realizing that in fact they will need to hire more staff to deal with it.
Interesting, could you please elaborate? What does open-sourcing a product have to do with cutting staff? Do you mean they will rely on the formation of a community of volunteers to maintain their product and let their in-house developers go?! That is pretty insane.
No wonder you post anonymously - you must be REALLY new here. Whether it's insane or not is irrelevant - this is management decisions we're talking about, logic is optional.
"Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.