The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
I have seen this issue in particular in unionized IT shops. One place I worked at, the IT employees (20+ years, coming from mainframe/COBAL development) had maxed out their company benefits, and had no further incentive to learn any new skills (such as web development, among other things).
As an IT Professional/Contractor, it is critical for me to keep learning new technology skills as they become relevant. This is not unlike other professions, such as medicine, engineering, etc.
As far as those "enterprisey" patterns, it might feel like overkill for smaller projects. But I have yet to work on a project for a client, where once it was finished they wanted a new set of features on it. By using these sorts of patterns, you keep the system flexible enough to add these new/updated features without having to do a major refactoring job first...
It's terribly boring. I'm "the communications and hardware guy" (quoted because it's informal and I still do anything that must be done) and there are months where I have to implement all the new hardware communications and interfaces. After a month my productivity falls... to thep oint I start losing confidence in my abilites. Then an emergency arises and I solve it in record time - basically doing the same kind of work over and over dulls me to the point of uselessness.
Also vertical works are always clunky, integrated and customzed environments work better - that's why in manifacturing plants verticalization is very loose and broad and the systems are basically ad-hoc solutions with nothing similar to layers, they are more like interconnected clouds of components which try to expose the same interfaces. They usually are more flexible, at the cost of greater complexity in the system.
Also: a lot of developers don't want to work vertically
I once met a "C# expert" who would replace me at my old job. He refused to do anything but C# as that was his "expertise". He was so experienced that disposing wasn't necessary because the garbage collector handled that for him
When asked if he could look at a SQL issue he simply refused.
This was an expensive contractor and we were a small company. He was cocky too, calling my code bad and me a "little man" (which is an insult). First fix he made crashed production though, he "optimized" my code because a 20 line function was too big to his tastes. Got me to stay in late and fix his code (once I found the problem I simply reverted to the previous revision)
Since then, whenever someone calls himself "expert" and refuses to work on anything else I punch them in the face
Embedded real time systems need performances, to the point that I (being the only Assembler speaking member in the office) sometimes spend weeks optimizing highly used features like rotations, color change vectors appliacations, integer differentiations and so on.
Also it all started in QBASIC some 25 years ago, ported in VB6 and C. The total codebase is estimated in the millions of line of code and we still have to support some old Win2k system. Our developement workstations are painfully slow and rigged with 80 GB HDD and a whopping 1 GB of RAM...
In short there are only reason to NOT migrate to .NET. We will move the graphic interface only to C# and maybe WPF but first we need to move the core elaborations and part of the hardware management away from the interface (bad design, legacy design, PITA to change).
Also all those modifications will work for the future, meaning we will have to support our current branches (over 300) for 10-15 years at the very least.
Over the years I've learned the following enterprise patterns:
The postpone pattern: useful when decisions need to be made.
The we-will-get-back-to-you pattern: useful for when they don't want to get back to you.
The clueless pattern: very widely adopted in the enterprise!
The outdated pattern: because keeping up-to-date with technology requires decisions and a fraction of the money it costs in the long run to not update.
The XML pattern: because deep down XML is the only technology that's really enterprise ready. XML everywhere. XML 4 teh win!
The save-pennies pattern: the other patterns cost millions, but when you're an hour over budget they'll have your head in a meeting (which costs even more).
The meetings-meetings-meetings pattern: to discuss the issues that arise because of the other patterns (only discuss, never solve though!).
I am currently involved in a large scale application - creating a reporting warehouse environment for a segment of our organization. The end result will be that ALL of the data needed for reporting will be available in SQL Server databases. Since I'm not working on the DB part, I can't comment on the number of databases or their complexity.
What I do like about the project is this: I have my section I am responsible for: get data from the system I work on into 10 minutes buckets and exception buckets. That's it... I do my part and my part only. I will provide the general structure of the SQL statements needed to pull the data, but I am not responsible for the implementation of that.
So, can it work? Yes, if management provides a reasonable time frame and assigns resources to attend to it.
Truly no offense meant but as a "full stack" developer that sounds like hell to me. I left my last career because it became like that - a largely restricted sense of creativity and license in my daily activity.
It does sound a bit like a "9 to 5" punch in, punch out mentality - which I'll admit can have its upsides.
No offense taken... I have been a 'full stack' developer, but for this project, no thank you. The project will take upwards of a year to fully implement and I am busy enough with just my portion of it.
For smaller items, I still function in 'full stack' mode - but within my realm of influence. I don't miss being the de facto DBA and have no desire to go back to that environment.
My day tends to be 7:00 to 3:30 or 4:00 or 5:00 depending on meetings, conference calls, remote support, etc... but I am at the point in my career where I've done the on-call 24x365 and don't miss that either.
The bank I work for is just starting the reverse engineering of a major rule based engine, definitely enterprisy! Thankfully I won't be coding in the project as there are a whole plethora of technologies being chucked into the mix.
Data storage is Hadoop with a couple or 4 management packages/applications then MariaDb with another couple of apps to manage that. UI in Java, service layer in TibCo each with another couple of apps/packages to help manage them.
I've probably missed a couple. To say I'm horrified is an understatement but it seems to be the way enterprisey architecture is put together. I probably won't be around to see the outcome but I don't think it will be good.
Never underestimate the power of human stupidity
Last Visit: 31-Dec-99 19:00 Last Update: 23-Jan-21 6:50