|
I know what you mean. I too have been down that road.
A colleague of mine (Bruce) had a situation where he designed an entire system to handle maintenance data for the US Army. As the development work started, the company hired a "kiddie" that thought he new everything and convinced the manager to override Bruce's design and approach for a newer approach he read from a book and the latest frameworks. Bruce was pulled off the project and eventually left the company, because he fought the suggested approach and the new guy took over. One year later, the project was a disaster. Pages of code were written, but nothing worked well. It was bloated, slow and unstable. The new guy left the company leaving a huge pile of junk code and the project failed miserably.
Moral of the story? Just because it's the latest and hot-off-the-press and the "kiddies" love it, doesn't mean that it will work.
No one listens to us old folk any longer...
modified 19-Nov-21 21:01pm.
|
|
|
|
|
Marc Clifton wrote: but the new kiddies don't want to learn it (none of them know C#)
Thank god i never had that attitude!
Everything i know about C# i learned my self, well yes i got the basics from java (no SCRIPT) but i don't get. If i just would have the chance to get someone with experience on my project and assist me on improving my architecture or other stuff i would be the happyiest person on earth. Sadly im always standing alone getting the "new kiddies" as assistant and yes i get your problem.
CTO's need to get in touch with stuff, if they don't understand the base how could they see you performed well. Nonetheless if you can, keep it as you're used to
Rules for the FOSW ![ ^]
if(this.signature != "")
{
MessageBox.Show("This is my signature: " + Environment.NewLine + signature);
}
else
{
MessageBox.Show("404-Signature not found");
}
|
|
|
|
|
HobbyProggy wrote: If i just would have the chance to get someone with experience on my project and assist me on improving my architecture or other stuff i would be the happyiest person on earth.
You would think. But these kiddies, with their Python and Haskell experience, heavily *nix, come with know-it-all attitudes.
Marc
|
|
|
|
|
Marc Clifton wrote: these kiddies.... come with know-it-all attitudes And have probably spent more time bending the CTO's ear in the last few months than you have in the last few years.
Keep an eye on the commits, and make sure you're there to fix it, when it all goes pear-shaped -- and also make sure (diplomatically) that everyone knows why you had to fix it.
I'd say that affable, parental, mentor-ish derision sounds about the right way to play it ("Yes, they're good kids, and they did try...").
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
If they have real Haskell experience, and could put together a complex program that makes it past Haskell's pedantically strong static typing and solves real business problems, they might come close to justifying a know-it-all attitude.
The catch is that when a lot of people claim Haskell experience, what they really mean is that they wrote quicksort in Haskell, tweeted about it, and then went and wrote an awful blog post about monads.
|
|
|
|
|
I have been trying to learn Haskell for the last two years. I can confidently say I haven't got a clue.
This space for rent
|
|
|
|
|
It's a tough nut to crack.
It can be worth it, though. As with most languages that are very different from those in the mainstream, learning it (or even attempting to) can improve your approach to programming no matter what language you're writing it.
If you're still interested in trying, have you looked at the new Haskell Book?. It is very well written, and a lot of people have found that it made Haskell understandable where lots of other books and blogs had failed. It's a tad expensive, but it's a self published book by two authors who worked very hard to produce good learning material.
I know the idea of paying $59 for an eBook turns a lot of people off, but I bought a copy. Aside from the fact that it's a great book on a topic I wanted to learn more deeply, I also like to reward independent authors who go out on a limb to create resources like this not knowing if they'll sell enough to justify the time investment.
|
|
|
|
|
Cool. I will check it out. I have some experience with the language now but it has a lot of subtleties that will take time to master.
This space for rent
|
|
|
|
|
But i guess, at least its about the attitude you have, if you show them where they went wrong, which will definately happen, they'll get their eyes opened and might change their mind
Rules for the FOSW ![ ^]
if(this.signature != "")
{
MessageBox.Show("This is my signature: " + Environment.NewLine + signature);
}
else
{
MessageBox.Show("404-Signature not found");
}
|
|
|
|
|
HobbyProggy wrote: But i guess, at least its about the attitude you have, if you show them where they went wrong, which will definately happen, they'll get their eyes opened and might change their mind
Maybe. If presented correctly. More likely, IME, is that their know-it-all attitude will lead them to believe he's criticizing, rather than teaching, and they'll resent it.
|
|
|
|
|
Marc Clifton wrote: Software engineering seems dead It is - even on CP there are plenty of people proposing that Software Engineering does not even exist.
It could be true - it exist only Engineering and software is a part of it. That I may understand.
GCS d--- s-/++ a- C++++ U+++ P- L- E-- W++ N++ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t++ 5? X R++ tv-- b+ DI+++ D++ G e++>+++ h--- ++>+++ y+++* Weapons extension: ma- k++ F+2 X
If you think 'goto' is evil, try writing an Assembly program without JMP. -- TNCaver
When I was six, there were no ones and zeroes - only zeroes. And not all of them worked. -- Ravi Bhavnani
|
|
|
|
|
Hi Marc,
Empathy is.
It's one thing (one of the kinks of homo sap nature ?) for a prophet to be without honor in his own country, but, I think that those who perceive the prophet as a horror, rather than a beacon, deserve to have their eyes put out, or being water-boarded until they come to their senses.
Unle$$ you gotta have the moolah ... time to walk with head held high ... away ? Or, lead a palace revolt after first putting the manager's head on a spike ?
best, Bill
«There is a spectrum, from "clearly desirable behaviour," to "possibly dodgy behavior that still makes some sense," to "clearly undesirable behavior." We try to make the latter into warnings or, better, errors. But stuff that is in the middle category you don’t want to restrict unless there is a clear way to work around it.» Eric Lippert, May 14, 2008
modified 19-Jul-16 9:29am.
|
|
|
|
|
BillWoodruff wrote: Unle$$ you gotta have the moolah ... time to walk with head held high ... away ?
Hmm, I can't do private email, otherwise I would respond privately.
Marc
|
|
|
|
|
As a consultant, all I here is one big smoking opportunity. I'm amazed the CTO is a CTO and does not understand risk.
For most of the engineering I see, and I use that term loosely, we're getting a rash of script kiddies. We also have UI people who want to do embedded systems with JavaScript. Hmmm.
Charlie Gilley
<italic>Stuck in a dysfunctional matrix from which I must escape...
"Where liberty dwells, there is my country." B. Franklin, 1783
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
|
|
|
|
|
When I think of embedded systems coded in JavaScript, this comes to mind.
if (Object.DividedByZero == true) { Universe.Implode(); }
Meus ratio ex fortis machina. Simplicitatis de formae ac munus. -Foothill, 2016
|
|
|
|
|
that's funny
Charlie Gilley
<italic>Stuck in a dysfunctional matrix from which I must escape...
"Where liberty dwells, there is my country." B. Franklin, 1783
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
|
|
|
|
|
Stable code isnt smart enough for cloud services and scrum evolving software which is hangling from one bug to the next fix.
Press F1 for help or google it.
Greetings from Germany
|
|
|
|
|
Sounds fairly typical to me. Most CTO's are up there having become remote from their origins so have to feign knowledge of the code-verse. I try to avoid working with know-it-all script kiddies - they just f*** everything up.
|
|
|
|
|
Marc Clifton wrote: Software engineering seems dead, Sadly I often feel that way.
/ravi
|
|
|
|
|
I've also noticed the phenomenon you're noting, I don't believe dynamic typing the cause of it. Python, Ruby, Tcl, and Perl are more than 20 years old, and Smalltalk and various Lisps were very dynamic long before that, so the wide availability of the features they offer isn't new.
In addition, most of the architectural patterns you described work just as well in Ruby, Python, or JavaScript as they do in C# or Java. And there is certainly a ton of poorly architected, badly designed C# and Java out there.
Strong, static typing absolutely helps when it comes to building larger systems. But it won't force good engineering decisions to happen in an environment that doesn't value engineering discipline. In my experience, at least, engineering discipline and good design have been entirely orthogonal to the choice of language. I've seen well designed, well written Python applications that served a ton of users without errors or downtime, and I've worked with buggy C# applications that crashed if you looked at them the wrong way.
All of that aside, I do agree with your premise that good software engineering is becoming more rare. I believe the cause, though, is that many organizations have found that getting software in front of users as quickly as possible, even if it is buggy, is more profitable than designing it well from the start. This is particularly true for startups, but it happens often enough in large companies as well.
On the flip side of that, if you look at some more mature companies that have to serve lots of users at scale, you'll find that they use a mix of dynamically and statically typed languages, and their engineering discipline and principles are strong regardless of what language they're writing in. That kind of discipline has to be valued by leadership, and if it isn't present at the CTO level, it's unlikely it will be present at all.
For the record - I do most of my personal development these days in C#, F# and Haskell, so I'm a big fan of using a good type system. I maintain some Ruby and Python too, though, and I don't think I turn into an undisciplined maniac when I start writing code in those languages.
Edit
One more thought: there's a lot more software in the world now than there was 10+ years ago. Consequently, we need a lot more developers to create it. Perhaps the rapid expansion of the industry has made it difficult to maintain the level of engineering rigor, and also perhaps reduced the average developer ability/talent level?
Also, in disagreeing with your point on dynamic typing, I'm not trying to say that you're wrong; you seem like a thoughtful developer, so I'm sure your opinion is based on personal experience. I just wanted to offer another perspective based on experience.
modified 19-Jul-16 14:12pm.
|
|
|
|
|
I dunno about irony, but bring 'em here, and we'll approve a bit of lead-pipery in the Lounge
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
Thank you, I've been waiting for the next phase of this on going saga. It will be interesting to see at what stage the CTO loses his fascination with the kiddies. Personally I would stay well out of it, I am politically incompetent so getting into a spat with a couple of kiddies with nous would be my loss.
I was asked to vet an outsourced solution a number of years ago, recommended that they not use them as there were too many different architectures in the stack. 2 years and umpteen million later the project was canned. I was delighted I had nothing to do with it and none of the sh*t stuck!
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Software engineering is dead, because people found they can sell low quality software almost as well as high quality software, but without spending a lot of money for the quality. The problem is that people buy it and use it.
To defend my favorite language - JavaScript. Ability to be dynamic does not mean unstructured. I tend to use classes for six years now (yes, on ECMAScript 5.1). The problem is not the language itself, but lack of understanding foundations and concepts. Lack of theory in short.
And the problem goes deeper as university popularity (at least in my country) drops compared to private learning institutions where they prepare you to code for a month or two (mostly handling copy/pasting and slightly modifying the code without actually understanding what does it do). That's what most companies want. They have experienced people, they lack of enough people to do the dirty work.
But this is also a good news. With so many low quality software it doesn't take much to make software shines.
|
|
|
|
|
I feel for you Marc. I was in a somewhat similar situation a few years back. An app, well written, performant, stable, with both unit and integrated tests for the various end to end scenarios it would handle, was taken over by an "experienced" programmer who proceeded to disable the tests as he changed code and broke them. They didn't support his new and improved way of doing things. But required five times as much manual testing as the previous version.
He's gone, and the app is now back to its stable, performant, tested state.
|
|
|
|
|
Well, let's do a "walkthrough" ...
|
|
|
|
|