I think the flaw here is that what works today may not work tomorrow and in many situations, it is easy to see where those breaking points will arise.
Take your team sitting in one room building a monolith. Unless the software is intended to always be smaller and targeted, or the software fails in the market, that team will eventually scale and no longer fit in this room, and now you've got a monolithic application that can't be effectively maintained and enhanced by the organization.
There is value in designing your system for the organization that will own it, but there is also a value in designing your organization for the system you wish to develop.
Experience and published research have shown time and time again that whey you try to fight Conway's law, you will lose, so one or the other will have to give. For long-lived applications, you'll find more success if you can alter the organizational structure to fit the system.
Conway's law doesn't make those claims, but this has been tested by researchers and industry giants (a Microsoft team published a paper on this a part of a Vista retrospective) and those papers do make such claims.
Authors can typically "suggest" reviewers for their papers. There have been a few scandals in the past where papers were published after being reviewed by family members, or even the original author using a maiden name. Elsevier, and many of the related companies under the Reed Elsevier family, make their money by facilitating the process, or making data searchable. Once upon a time this was huge as doing either of those things was a significantly costly and time intensive exercise. Today, they continue on pure momentum. If a few major research universities were to band together and form a cooperative non-profit journal, things would start to unravel for Elsevier.
The problem with these systems is that they are very old, and thus do not benefit from many of the more modern developments in the field nor do many quality developers learn the language.
The benefit with these systems, though, is that they are very old. With that age comes completeness. They're battle hardened, thoroughly tested, and a known quantity within the institutions that leverage them.
History is littered with companies that attempted to replace the core of their business with one big project written with newer technology, only to fail catastrophically.
During my first gig with a bank, I was appalled to see the ancient technology in play at the heart of the bank's systems, and the retired developers coming in part time on schedules they set for outrageous hourly rates to do maintenance tasks on that system. Over time, though, I came to realize that this was the most reliable and cost effective solution the bank had available.
The third option listed is what I see happening, but at a much slower pace than the article suggests:
> Basically, Döderlein suggests making light-weight add-ons in more current programming languages that only rely on COBOL for the core feature of the old systems. However, the key thing is how the connection to the old system is made.
> Gradually banks will be able to address each and every product need that they have with new platforms that will replace the overly complicated COBOL add-ons. This compartmentalizes the banks’ COBOL-problem and makes it cheaper to fix, as it won’t have to be done all at once.
It's a glacial pace, but it's being attempted. The heart of the old systems, though, were still untouched last I had visibility into those inner workings.
You're correct on all points in my experience. My previous contracting gig involved writing Windows Server based code for a UK mortgage lender that interfaced between the internet based Hometrack valuation service, and a Fujitsu ICL clone mainframe running the core Cobol system for the lender. The key point about that system is that it is the core ledger for all the mortgage accounts, which add up to many billions. It's the golden record of all the mortgage accounts and payments. Replacing it with a new buggy system based on the latest tech could kill the business.
True, but as you admitted, everything is "a known quantity", i.e. more or less frozen.
Which is cool when everything works and nothing has to change. When something breaks or you need to change something... you wish you had things such as clean code, unit tests or even TDD/BDD, code coverage, continuous integration.
Banks are basically sitting on systems they don't fully control. They're kind of an interesting experiment: how long can you control the dragon, i.e. continue operating via patchwork and outside contractors which are in their 60s? :)
An individual's data sharing with Facebook is less of the issue, here, though. You personally not using it doesn't prevent you from becoming the common thread that ties others together.
Just because I'm not on Facebook (I'm not), anyone that's allowed Facebook to see their own contacts, in their phone or email, has shown that they are or are not connected to me in some way. Without me actually ever even having an account with Facebook they can correlate this data from users to see who is likely to know one another by a shared connection to me. Just because my particular node on the relationship tree has more blanks than it would if I was a Facebook user does not mean I don't create a node at all.
My guess for this Facebook issue in particular is that the Doc potentially did absolutely nothing herself, but rather all of her patients had mail and phone contact lists that included her and that common thread along with the same geographic area was enough to trigger a recommended match. In other words, this was equally likely to happen even if the doctor never had a Facebook page of her own.
I think we're in for a slow painful transition until people (in aggregate) intuitively "get" exactly how invasive and unfriendly data-correlation can be when you expose yourself -- and your friends -- to when you share seemingly-innocuous facts with our welcomed-digital-overlords.
That doesn't seem to be very important. It's not the doctor who wants privacy.
The people who want privacy allowed Facebook to scrape their contact lists and monitor their locations. They then expected Facebook not to correlate this data with others who contact and visit the same doctor. Why not?
> They then expected Facebook not to correlate this data with others who contact and visit the same doctor. Why not?
Because that would be a dick move.
But clearly that is not enough to dissuade companies from doing this kind of thing, because they have no morals.
And that is the crux of the problem. They don't give a shit what would be considered "reasonable behaviour" for a human being, because they are just giant correlating machines with access to data they shouldn't have been given access to by people who don't know better.
At the end of the day, we are allowed to have reasonable expectations of others, including companies, so I take issue with any implication that they should have known better. We are allowed to have these reasonable expectations. And we will be constantly disappointed. But we should maintain them, I might even say that it is a duty to do so.
Saying "they should have known better" is giving up the fight prematurely. They shouldn't have to know better. They should be able to expect that their privacy (a right) will not be violated.
It is an ideal, not a reality, but it is something to work towards. One step might be to sue the hell out of Facebook for this.
Sherman, set the wayback machine for about 110 years ago...
The people who want meat didn't demand tours of the meatpacking factories. They then expected the meat they bought to not be unsanitary and diseased. Why not?
A typical move to subscription based pricing LOWERS costs to the consumer, but the company gets the benefit of more predictable recurring revenues. That makes the pricing JetBrains puts out a little bit of a head-scratcher.
Starting from zero, their pricing is lower over a set number of year. They got rid of the initial "hump" and in turn made the annual amount higher. I didn't look too closely but I guess the cost evens out over a 3-4 year subscription span. For a business this is actually going to simplify accounting I would think. It's no longer a cap-ex with a maintenance fee, it's just rental so all pre-tax.
My guess is that overall their spreadsheeting makes this even out based on how customers have been paying.
The fringe bits (loss of permanence, ability to install a home copy) will disproportionately hurt solo/small business folks and hobbyists. The very people that have been their champion getting their software into enterprise dev teams.
I don't understand why they don't go to the rental model with optional one-time permanent license add-on.
So like hypothetically 100$/year rental and a 100$ supplement for permanent license. Basically option into the current deal. They can even make the sum total greater then it used to be. Like 120$/year rental + 100$ permanent license supplement.
A company that knows that people will blindly say "Hey, if I only have to fork over $7 a month instead of finding $80 plus tax, plus gas, plus the inconvenience of going and finding a router myself, and configuring it so that my network works, seems like a good deal" and they purchase the rental - even though $420 for an $80 (plus tax and inconvenience) router is a terrible deal.
Then you get the types that have a box full of routers at home or know that if they purchase for $80, then in a year, it's paid for itself and everything else is gravy.
It's purely anecdotal, but it's been a well known "fact" within my circle of developers that working for Amazon is a death march and not something you should consider unless you are desperate or intend to make it a short stint where they are offering a title and pay increase worth the 1-2 years of hell that working there would be.
True or not, perception is reality and Amazon has attained a rather poor reputation in the circles I travel. I have considered positions with them in the past but because of my perception of what working for them would mean, I've rejected several for not being worth it (pay increase not big enough), and one due to simple logistics (they wanted me in a city I wouldn't move to).
The perception I've gotten is somewhat different, though based on much of the same stories. I don't think Amazon is a horrible place to work, but it seems like a horrible place to stay for too long.
I had a roommate who was a nurse who and worked in a couple of area hospitals. When I asked her why she drove 90 minutes to one hospital rather than working all her hours at closer area hospitals, her response was, "That hospital is in a poorer area of town and gets all sorts of bizarre and desperate medical issues. It would take me 5 years at the other hospital to get the experience I'll get in six months a that hospital."
I think Amazon is like that hospital. It's an amazing place to grow and learn things you basically can't learn otherwise. And employers elsewhere know it. When I get an Amazon candidate who spent more than a year there, I can basically know ahead of time that that candidate will pass the technical part of the interview process. But once you've got that 1-2 years of experience, it's a place to leave, go elsewhere and get treated/paid better.
But again, this is based on anecdotal evidence from past Amazon employees...I've never worked there.
I think we're saying the same thing, but with different slants. The perception of Amazon right now (again, I don't know first hand) is that the work there is extremely intense to the point of maddening, and that can make it very attractive for certain people, and very unattractive for others. If you want to gain good experiences quickly and build your resume with a big name, it's a very viable option for you so long as you are willing to make the trade-off in work/life balance and stress. If you're no longer at that point in your career, it's not going to be for you.
Take your team sitting in one room building a monolith. Unless the software is intended to always be smaller and targeted, or the software fails in the market, that team will eventually scale and no longer fit in this room, and now you've got a monolithic application that can't be effectively maintained and enhanced by the organization.
There is value in designing your system for the organization that will own it, but there is also a value in designing your organization for the system you wish to develop.
Experience and published research have shown time and time again that whey you try to fight Conway's law, you will lose, so one or the other will have to give. For long-lived applications, you'll find more success if you can alter the organizational structure to fit the system.