Who are these "they" you are referring to? These all sound like management decisions.
And then there's the issue of legacy code that just grows more fragile over time. Again, that's management's responsibility: "add feature, feature, feature; the sooner the better and we can't afford quality."
Outsourcing isn't going to fix any of it. What it might do is lower maintenance costs so that new development can commence with new (younger, cheaper) developers.
I would agree, though: if you sat around in an IT environment this horrible for more than a few years, then you are too comfortable and probably cynical as well.
I had your job once, and still do (to a lesser extent). People expect you to "do stuff" and "make it work" even if it is illogical and inconsistent or requires some inference of action based on phase of moon.
Sometimes you have to say "No" in ways that don't sound like "no". It can be tricky, but if you just do as your told without question, you're a cynic. A paid cynic, maybe even a popular one, but still a cynic. And then you can bail when it sinks into the morass of unmaintainability.
Yes, I helped write one of those. Turns out your average person is a poor data modeler (normalization) and type definer (classes). I don't think functional programming is going to help here, but it might.
What is needed in an analyst is the ability to 1) ask the right questions; 2) find the right answers; 3) identify entities; 4) eliminate repetition; 5) determine containment hierarchy and ownership (strong/weak entities); 6) identify and mitigate error conditions
And that's just a start. Once everything is nailed down analysis-wise, then the coding part is easy.
I think standardization of PC components would allow the average Joe to upgrade their desktop box piecemeal. Want a new graphics card? Pull A out of slot X, replace with new component B. Same with network adapters, motherboards, even modems.
The key is to run a business that is profitable enough to pay its workers a wage sufficient to cover food and medical and housing. Otherwise, my tax money does it and those dollars essentially make the business owner a welfare recipient by enabling him to be artificially enriched.
If your business doesn't sell a product people are willing to spend enough for you pay your workers a living wage, then your business should go bankrupt. I'm not paying for your beach house.
There's going to be a knife's-edge of difference between SQL and NoSQL databases in 5-10 years. Queries are being added to NoSQL databases, and JSON navigation/indexing is being added to SQL databases. Evaluating them in terms of performance, ease-of-use, and standards is going to be time-consuming.
"Web speed" is still going at web speed. Our servers are still running Node v0.11.4, and I believe the current version is 4.6-something. Keeping up with the versions is work in itself.
Most (nearly all) performance issues I have seen are due to naive assumptions built into the implementation. And poor coding. Things like using Exceptions for logic flow, re-instantiating objects that were instantiated earlier in the call stack, building an in-memory database that is slower than the network lag you were trying to avoid, similar logic scattered throughout the code due to cut-n-paste, etc.
No amount of low-level optimization is going to make up for high-level implementation mistakes.
I'm 58, last three years have be learning and developing in NodeJS, CouchDB, JQuery, Lodash, Async, etc. Right now am prototyping an architecture using Swagger and a127.
There are exceptions to every categorization. If you dismiss somebody as unable to learn because they are older, then you are prejudging them. That's age discrimination.
Looking at the links Google turns up for "low code". Marketing hype is all I'm seeing. This will be sold to CEOs the world over and it will fall short. Remember CASE? CORBA? 4GL? Visual Basic? Same smell.
Remember Time-Warner bought AOL and soon regretted it. But they were a media company. I'm sure a communications company will do a much better job with their acquisitions.
Who are these "they" you are referring to? These all sound like management decisions.
And then there's the issue of legacy code that just grows more fragile over time. Again, that's management's responsibility: "add feature, feature, feature; the sooner the better and we can't afford quality."
Outsourcing isn't going to fix any of it. What it might do is lower maintenance costs so that new development can commence with new (younger, cheaper) developers.
I would agree, though: if you sat around in an IT environment this horrible for more than a few years, then you are too comfortable and probably cynical as well.
By the time you've completed the requirements (assuming you were involved), you already know better than to implement the requirements as stated.
I had your job once, and still do (to a lesser extent). People expect you to "do stuff" and "make it work" even if it is illogical and inconsistent or requires some inference of action based on phase of moon.
Sometimes you have to say "No" in ways that don't sound like "no". It can be tricky, but if you just do as your told without question, you're a cynic. A paid cynic, maybe even a popular one, but still a cynic. And then you can bail when it sinks into the morass of unmaintainability.
Yes, I helped write one of those. Turns out your average person is a poor data modeler (normalization) and type definer (classes). I don't think functional programming is going to help here, but it might.
What is needed in an analyst is the ability to 1) ask the right questions; 2) find the right answers; 3) identify entities; 4) eliminate repetition; 5) determine containment hierarchy and ownership (strong/weak entities); 6) identify and mitigate error conditions
And that's just a start. Once everything is nailed down analysis-wise, then the coding part is easy.
I think standardization of PC components would allow the average Joe to upgrade their desktop box piecemeal. Want a new graphics card? Pull A out of slot X, replace with new component B. Same with network adapters, motherboards, even modems.
The key is to run a business that is profitable enough to pay its workers a wage sufficient to cover food and medical and housing. Otherwise, my tax money does it and those dollars essentially make the business owner a welfare recipient by enabling him to be artificially enriched.
If your business doesn't sell a product people are willing to spend enough for you pay your workers a living wage, then your business should go bankrupt. I'm not paying for your beach house.
I would like people who work hard not to starve in the process.
I'd make a comment about how that SNL reference really dates you, but since I have a 5-digit user id I can't really talk.
Deep.
There's going to be a knife's-edge of difference between SQL and NoSQL databases in 5-10 years. Queries are being added to NoSQL databases, and JSON navigation/indexing is being added to SQL databases. Evaluating them in terms of performance, ease-of-use, and standards is going to be time-consuming.
It all depends if you're building software for a web site or a Mars mission. What is the impact of a failure, and is it recoverable?
For the Mars mission:
a) about 186mph
b) no
http://www.space.com/34472-exo...
Very funny. Sharing at work.
"Web speed" is still going at web speed. Our servers are still running Node v0.11.4, and I believe the current version is 4.6-something. Keeping up with the versions is work in itself.
Most (nearly all) performance issues I have seen are due to naive assumptions built into the implementation. And poor coding. Things like using Exceptions for logic flow, re-instantiating objects that were instantiated earlier in the call stack, building an in-memory database that is slower than the network lag you were trying to avoid, similar logic scattered throughout the code due to cut-n-paste, etc.
No amount of low-level optimization is going to make up for high-level implementation mistakes.
I'm 58, last three years have be learning and developing in NodeJS, CouchDB, JQuery, Lodash, Async, etc. Right now am prototyping an architecture using Swagger and a127.
There are exceptions to every categorization. If you dismiss somebody as unable to learn because they are older, then you are prejudging them. That's age discrimination.
I saw what you did there
Looking at the links Google turns up for "low code". Marketing hype is all I'm seeing. This will be sold to CEOs the world over and it will fall short. Remember CASE? CORBA? 4GL? Visual Basic? Same smell.
Remember Time-Warner bought AOL and soon regretted it. But they were a media company. I'm sure a communications company will do a much better job with their acquisitions.
cfront, baby. That's all that was ever needed, right there.
Shoot, I still grieving over the demise of Netly News, that's how old I am.
http://www.salon.com/1998/09/2...
... to break out of a Lodash forEach loop, but that should have only grazed him.
They also boosted performance by never freeing memory, too!
Obviously you've studied this in depth. No wild-assed speculator, you.
...and you call that "smart"?
It starts in junior high school with pep rallies and endless boring days watching the clock as the teacher teaches to the lowest common denominator.
What? You've never had to work with grouch young men? I have! Age has nothing to do with it.