Topic: Technical Debt Blindness and Should I ask to be laid-off Pages that link to <a href="https://ozoneasylum.com/backlink?for=31494" title="Pages that link to Topic: Technical Debt Blindness and Should I ask to be laid-off" rel="nofollow" >Topic: Technical Debt Blindness and Should I ask to be laid-off\

 
Author Thread
Maskkkk
Paranoid (IV) Inmate

From: Johnstown, PA
Insane since: Mar 2002

IP logged posted posted 11-18-2009 22:33 Edit Quote

The company where I work has many dysfunctional development practices, that prevent me from doing my job as quickly and efficiently as is required by my clients. I cannot get my company to stop their dysfunctional practices, because of my highschool educated boss.

There are two major dysfunctions that cause this:

1. My boss insists that I continues to use code that was originally intended to be a prototype to show clients, and not production-level code.
2. Anytime that I try to implement a production-level version, my boss immediately directs me back to the prototype insisting that we fix it.


How the Prototype Came to Be
When I started at this company, their ecommerce system was relatively poor looking. It looked like a webpage that someone made in 1994. Shortly after I was hired the company had a Users Conference where they desperately needed to show the clients some sort of new functionality. The development team opted to have one of their C++ developers (not me) create the new (at the time) 2008 web look for the ecommerece system.

With the Users Conference coming up quickly, the appointed C++ developer quickly threw together a new look to show the customers, not documenting or writing down any of the features he was adding in along the way. I would also like to emphasize the fact that he was a C++ developer and used all sorts of development worst practices for displaying a webpage for instance:

* Nested upon nested HTML Tables for layout. (sometimes more than 7 layers deep of table nested in table)
* Not properly closing HTML tags, their attributes or terminating HTML Entities correctly.
* Making some capital and some lowercase html tags.
* Quirks Mode: Not specifying a DOCTYPE of any sort.
* Placing <SCRIPT> tags with large scaffolds of code in them that may or may not be contained in functions.
* Using Javascript worst practices such as document.all
* ...and last but not least...testing the code only in IE7.




Time Passses a Bit
Since all of the clients were now sooooo excited from the User Conference about the new look for their ecomm system, they all sprung to call up me, all requesting that I install this abandoned piece of code into their existing ecommerce systems. Time passes a bit and all of these customers begin requesting new features:

* It needs to work in firefox.
* It needs to work on Safari.
* I need it to work on Internet Explorer 6 through 8.
* I want x functionality added to the site
* I want my look to match how my website look and works.


And mind you this code is still a prototype, the existing features have not been documented anywhere, and I, who inherited this abandoned child of a C++ developer, am expected to just fix this thing while it's poorly written, never code reviewed by peers, and not checked into any sort of version control system.

I continue attempting to make the changes each new look client requests, some of them, are possible and others are not.

The amount of technical debt that has been amassed by this time is ridicules, because 20 some users are using this look by now.
Attempts at Implementing a Production Level Version
Every attempt I've made at trying to create a production level version as opposed to a prototype has been squashed by one of the following:

1. A customer calling with a problem with the prototype (that they don't know is a prototype).
2. My boss telling me that I need to fix the prototype and not write it a new, (despite that it's not my code, and nobody in the office has a clue as to what all the features the original C++ coder implemented in his far from native language of Javascript).

Now my personal opinion coming from an Agile background is that the prototype was made to be abandoned, not used in production. You shouldn't try to fix the prototype's problems, it will take as long (and maybe even longer) to do that as it will to just write a new one without problems, and when it's done at least you'll be able to maintain it, after various code reviews.

During the prototyping process a list of features should be amalgamated/documented so that the production version can be created. Compare this with being cocky and assuming that the guy who created the page knew what he was doing the first time around, can remember everything that he added to it, and then amassing so much technical debt that nobody can do their job anymore. I'd take this stance even if I was the one who code the look in the first place. Just drop it, admit you're human that you can't get it right on the first try, pickup and move on.

Unfortunately, I can't get my boss to do that, and I can't get the C++ coder to give me an exhaustive list of features because he just doesn't remember/has no unit tests to back him up.

This is just one example of the dysfunction that goes on at this place. And you better believe that it's not just on the front end that this occurs, the development team where I work has been amassing technical debt on the windows-only application backend to their product, probably since I was in high-school; I'm 28 years old. They just last week started using a version control system, and my boss was against it!
Fear of the Unknown
About once every month or so basis I get called into my bosses office and he remotes into my machine, closes every window on my system, and proceeds to do my job for me while I watch, because he "doesn't think I'm doing it right".

My boss doesn't allow me to offer any input or new ideas about how things can be done faster or better, which would result in more satisfied customers, and less dysfunctional development practices.

Then when I go back to my computer I have to reopen everything and re-figure out what I was doing. Additionally, he uninstalls programs that I use to keep up with my clients given that they call me so much while I'm trying to develop something for another client, stating that "he doesn't like tools, the only tool you should need is C++".

I am positive that I am more qualified than he is as I have a B.S. in Computer Science (Internetworking Applications) with 3 years in defense contracting, and he has a High School Diploma, and 10 years of self-taught experience. I think that he is a micro manager and that he is confusing his position as a developer/president of the company.

My father says that I should flat out ask him to lay me off, as according to the Wall Street Journal there is only a 3% unemployment rate for people my color, age and income level.

What do you think I should do? There's obviously no moving up in this place (as most everyone but myself are family).



- AIM: MASKKKK

01001101011000010111001101101011011010110110101101101011

NoJive
Maniac (V) Inmate

From: The Land of one Headlight on.
Insane since: May 2001

IP logged posted posted 11-19-2009 02:09 Edit Quote

I've said similar in similar threads. Sounds to me as if you've already quit this job in your head. Hang around you'll probably be fired. Best I think to leave on your terms. Just how honest you want to be is up to you.

A simple letter of resignation : Please accept this as my resignation effective _____.


If they want to know all the why's of it I' say something simple like '... I just feel it's time to explore other opportunities... perhaps a different challenge.'

If you're sure you never want to work there again burn the bridge. This can at times be great fun and extremely rewarding. Some people just don't know they're assholes until they've been told and who are you to withhold such crucial information. =)

___________________________________________________________________________
?Privatize the Profits - Socialize the Losses.? Randi Rhodes

reisio
Paranoid (IV) Inmate

From: Florida
Insane since: Mar 2005

IP logged posted posted 11-19-2009 06:51 Edit Quote

Fire them.

WebShaman
Lunatic (VI) Mad Scientist

From: The Happy Hunting Grounds...
Insane since: Mar 2001

IP logged posted posted 11-19-2009 09:23 Edit Quote

^ I second that!

WebShaman | The keenest sorrow (and greatest truth) is to recognize ourselves as the sole cause of all our adversities.
- Sophocles

poi
Paranoid (IV) Inmate

From: Norway
Insane since: Jun 2002

IP logged posted posted 11-19-2009 11:25 Edit Quote



How can people/companies like this stay in business ? Seriously, leave before your brain melts and the work conditions effect your moral badly.

Tyberius Prime
Maniac (V) Mad Scientist with Finglongers

From: Germany
Insane since: Sep 2001

IP logged posted posted 11-19-2009 11:33 Edit Quote
quote:

Now my personal opinion coming from an Agile background is that the prototype was made to be abandoned, not used in production. You shouldn't try to fix the prototype's problems, it will take as long (and maybe even longer) to do that as it will to just write a new one without problems, and when it's done at least you'll be able to maintain it, after various code reviews.



It could be argued that, once the prototype is appropriately test-covered, you can rework it pleasantly into a 'production version'. You might abandon a spike solution - but a spike shouldn't be the whole system.
Politically, fixing is often much more easily agreed upon than a rewrite, plus you always keep a working system at hand.

quote:
About once every month or so basis I get called into my bosses office and he remotes into my machine, closes every window on my system, and proceeds to do my job for me while I watch, because he "doesn't think I'm doing it right".

.
You're a professional. And professionals know how to do their job. I'd highly resent such treatment and would most likely actually resign on the spot.

White Hawk
Maniac (V) Inmate

From: zero divided.
Insane since: May 2004

IP logged posted posted 11-19-2009 14:09 Edit Quote
quote:
About once every month or so basis I get called into my bosses office and he remotes into my machine, closes every window on my system, and proceeds to do my job for me while I watch, because he "doesn't think I'm doing it right".



I think my resignation would probably begin with battering the boss unconscious, but I doubt that would be a healthy way to do it...

WebShaman
Lunatic (VI) Mad Scientist

From: The Happy Hunting Grounds...
Insane since: Mar 2001

IP logged posted posted 11-19-2009 22:17 Edit Quote

quote:

quote:
About once every month or so basis I get called into my bosses office and he remotes into my machine, closes every window on my system, and proceeds to do my job for me while I watch, because he "doesn't think I'm doing it right".



Yeah, that would about do it for me as well.

That has to be the strangest behavior that I have ever heard of!

Why hire a professional to do a job, then spend time every month "showing" that professional how they are supposed to be doing their job?

Doesn't that sort of defeat the purpose of hiring a professional to do a job in the first place?

Time to look for an employer who knows what the fuck they are hiring, and why.

WebShaman | The keenest sorrow (and greatest truth) is to recognize ourselves as the sole cause of all our adversities.
- Sophocles

Maskkkk
Paranoid (IV) Inmate

From: Johnstown, PA
Insane since: Mar 2002

IP logged posted posted 11-20-2009 23:30 Edit Quote

I'd like to thank all of you for actually taking the time to read my post. I posted this question on another website, and it was disregarded as a rant. Though I'll admit that the tone of it to be contain a bit of frustration and animosity I tried to remove as much of it as I could and try to narrow it down to just the facts.

I think I really need to look for a new job. As you said WebShaman, You don't hire a professional and then tell him how to do his job.

Thanks again,
Maskkkk



- AIM: MASKKKK

01001101011000010111001101101011011010110110101101101011

NoJive
Maniac (V) Inmate

From: The Land of one Headlight on.
Insane since: May 2001

IP logged posted posted 11-28-2009 06:07 Edit Quote

This seems to fit. =)

http://www.tomsguide.com/us/Designer-Quits-Job-Error-Message,news-5199.html

___________________________________________________________________________
?Privatize the Profits - Socialize the Losses.? Randi Rhodes

Maskkkk
Paranoid (IV) Inmate

From: Johnstown, PA
Insane since: Mar 2002

IP logged posted posted 11-30-2009 03:40 Edit Quote

Hahahah! Thanks NoJive! This made my day.



- AIM: MASKKKK

01001101011000010111001101101011011010110110101101101011



Post Reply
 
Your User Name:
Your Password:
Login Options:
 
Your Text:
Loading...
Options:


« BackwardsOnwards »

Show Forum Drop Down Menu