- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
This is the WTF. No, the self-appointed Tech Lead's intransigence about how to mis-use the frameworks doesn't help, but...
If the PM is being buried in complaints (not requests for change, but actual complaints, of the "this is busted and every time they put out a so-called fix, it gets more busted" type), that's a clear indication that the PM must urgently (or even sooner, frankly) make time to find out what's going on.
Admin
Standard (un)happy IT ending, naturally.
Admin
You people do realize just what sort of unicorn this is? We actually found the one story in human history when LACK of meddling by management was the issue.
Admin
Agree w 516052; he's got a good handle on this. OTOH ...
Another way to parse this story is that "management abhors a vacuum". When properly constituted management (the PM) abandoned the field for even a couple weeks at the outset, a self-appointed quasi-manager (the nameless Team Lead / Tech Lead) immediately appeared and began incompetently meddling the project into failure. The moral of this reading of the story: Meddlesome management is fractal; at every level of magnification it will spontaneously appear if it's not already built-in.
On a semi-different topic ...
I was glad to see the unhappy ending. Recently TDWTF seems to have a lot of Pollyanna stories where the goofs get banished and sanity carries the day. I find those sorta uplifting, but the same way I find Cinderella uplifting. As in, if only something like that had happened during my career I'd be in a different place today.
Admin
True hahaha.
I don't know what it is with ASP.NET WebForms but for some reason, it invited some of the craziest over complicated and terrible code - which was unnecessary yet people still did it.
Admin
This seems fishy to me. Surely even if you believe this idiot really was the tech lead, at some point in the middle of this clearly long-running mess you would go to someone more senior, like say the project manager, and explain how in your opinion the Tech Lead is getting in the way of the simple fix. At that point, in this story, the whole thing would have been exposed. And even in more expected circumstances, the PM would surely have a meeting with both of you, or perhaps the whole team, to go over things.
So I'm sorry, Karthika and all the other devs are accessories to this WTF by treating alleged seniority as "I must never question this to anyone".
Admin
Yeah, TRWTF here was the useless PM "handling complaints" without any communication with the team for months. Firing the whole team wholesale was a WTF too, now what are you going to do, hire another team to fix it cold, without even a two weeks "knowledge transfer"?
Admin
More employees than users? Management that doesn't even oversee its own team? People inventing titles just to inflate their own ego? All of which results in a bloated, inefficient system that's a colossal waste of time and money? Sounds like a typical day at the government office to me.
Admin
Maybe you would and maybe you wouldn't. Skipping over the chain of command to complain to your bosses boss can backfire spectacularly.
This situation was exceedingly odd because the supposed immediate superior was nothing of the sort. In a more realistic situation where he actually is your boss there is no way in hell you'd get such a positive outcome. Far more likely your boss would make up something on the spot to make you look stupid and the manager above him would naturally believe the team lead over some worker. And that's assuming your boss didn't get his job because of office politics, nepotism, being friends with the guy you are complaining to or any other reason that you can think off.
Bottom line is that there is a very high chance speaking out like this can lead to you ending up as the bad guy and the boss getting an unspoken carte blanche to make your life miserable or find a way to legally fire you for daring to skip the chain of command.
It's far safer in most cases to simply go with the flow and start looking for another job than to get that on your neck.
Admin
The annals of this site are well-stocked with examples of people getting their marching orders(1) for trying that.
(1) In the UK, those orders would be written on a specific form, the infamous P-45.
Admin
WebForms really did nothing to encourage any discipline, and made it trivially easy to mix your presentation, business logic, and data access code all in one place. Frankly, all the “RAD” tools in the toolkit encouraged it. It didn’t help that the entire metaphor for WebForms, trying to turn web development into the same thing as state full desktop app development, was wildly inappropriate for the web.
Admin
So, SHITE?
Admin
Of course there are ways of doing it. (By the way I'm in the UK too.) If you went and said "the tech lead is f***ing useless, have you seen what the idiot made me do?" then you deserve the sack (and clearly have zero social skills). But if you explain calmly that you have many ongoing issues with the product that are affecting customers (which surely the PM already knows), that you believe you know a good way to fix them but the tech lead is insisting on other solutions, without good explanation, and that these solutions simply don't work - then any reasonable PM would want to hear about it. If you still get booted out after that - at least you tried, and you wouldn't want keep working there anyway.
Admin
So an incompetent Project Manager? Surely that's the standard?
Admin
Rhetorical question, but why would Karthika think "reasonable" describes anyone in a management role here?
It's really easy to say this when it's not your livelihood on the line.
Admin
Say nothing. Drop a printer on his lap.
Admin
If this app had been written in Java I think I worked on it. This exact mess of "multiple controls saving parts of objects after copying in fields based on a getObjectDifference(dbObj, formObj) call" sounds horribly familiar.
I'm pretty sure I'll be having nightmares tonight...
Admin
Wow, yeah I worked on a website that originally had that same pattern! Every UI element with data resulted in 2 calls to the database per widget. It was really easy to get some huge gains by just consolidating the queries.
Admin
"He started reinventing more wheels of Entity Framework"
My first skim-read of the sentence inserted the word "epicycles" in there as apposite.
Admin
And people still abuse it. Like I've legit talked to people who feel webforms are easier to use than MVC or WebAPI because it's control based.
Admin
It does not matter how you approach it. The odds are just not in your favor.
Say you do everything right. Say the project manager actually believes you enough to get concerned. Well he is going to do the obvious thing and make a meeting where the three of you can have a talk about it. And from that point on you are basically screwed.
Remember, we are talking about a guy who has been promoted to and kept his position. He had to do something to make sure his lack of quality does not get too noticed. So either your PM is a non technical person and your boss has him wrapped around his finger or worse they are friends. Or both. I have seen the package deal.
Either way when it's your word against his you loose every single time. And see how good that ends for you. At best you will only be told off for bothering the manager and at worst you'll be actively investigated for trying to slander your superior. A superior that now has a vested interest to find some way to rid him self of you.
And of course there is the unavoidable fact that when things go well all praises go to the manager but when things go wrong its always the workers fault. And you just volunteered to take the blame.
Overall unless lives are literally on the line it's better to keep your head down and start looking for a new job. Or do as I did many years ago and just stop giving a dam. Wage is paid by the month and not the job done after all.
Admin
Umpteen years ago I ran into a similar situation, but different technology stack. We had Java POJOs which were passed to Oracle packages to update the actual databases. Any non-null fields would be updated, sure, but how to explicitly set a field to null? We ended up adding a new field to our POJOs to keep track of which fields were explicitly set. Oh, our Oracle packages dynamically created the CRUD statements so we didn't pull in the existing data from the database first.
Admin
In this case, the lack of leadership lead to a power vacuum which the "Tech Lead" ended up filling
Admin
Yea, but that's not your problem as a worker. You get paid your monthly wage regardless of the big picture. So the correct move is to keep taking that wage silently and look for a new job to switch to before the ship you are currently riding sinks. The absolute wrong thing to do is stick your head out and risk your carrier and future trying to save something that frankly you have no reason to care about.
Admin
Oh well. In the code that I'm currently working on, there are objects representing entries in the database. And for each entry in the database, one and only one object exists. Plus one additional object when an object is being edited, until the edit is either cancelled or saved. How this works is that a class has a cache using a dictionary with the database id as key, and when someone asks for an object with a key, it is read from the cache or from the database. So if there is a screen where a user can be edited, as soon as you press "safe", every place using that user isn't updated, but just has the correct data. With notifications being sent out to update screens, update sorting order etc. Very efficient as well.
Admin
I can assure you, new team members naturally think old (and usually older) team members are leads. I personally worked at a company where the "team leader" constantly harassed me because I didn't think he was the actual team leader (I had asked).
There is also the seniority question. I worked for another company where the senior dev was a lovely girl that was quite clever but completely self taught. The homepage of this company was several thousand lines of classic ASP (HTML mixed with VB, oh joy) with not a single function on sight. But since she was senior (she had worked for two years at the company when a couple of friends and I got hired fresh from uni) we weren't allowed to overrule her; and, as I said, she was a lovely person but also had a very strong personality, so not many changes went through. It didn't help that this whole web development industry was still somewhat new (early in the year 2000) and we were no rockstars either.
We eventually put enough pressure to start a parallel project to completely replace the old web site and things went better (that project was a different kind of WTF thought). We were laid off a year and a half later but I'm happy to report she remained in the company. I'm happy because, as I said, she was a really lovely person :-)