I feel so dirty right now



  • I feel extremely dirty right now.  Here's the story:  About a month ago my boss asked me to whip up a "CRM" so one of our guys can call and see if any of our customers want to order our new catalog.  We already had a Customers table, but the thing's a mess, so I created a new derived table that the CRM would use.

    I didn't have time to do the thing properly, because I knew that he thought it would be a really simple thing.  So, the end result is that it's done in ASP.NET, with a querystring passed from our Classic ASP "ERP" (if you can call it that) system that tells it who the logged-in rep is (The classic ASP uses the Session to store the value, so there was no easy way to transfer it that I'm aware of).  The UI is pretty basic (essentially a GridView with a "View Details" button that displays a bunch of Textboxes).  It uses ASP.NET Ajax in a fake way by just avoiding a page refresh when there's a postback (not really pulling any external data).  There's no easy way to add new contacts to it (I get sent an Excel sheet and load it into the database).  There are no unit tests.  It's not under source control.

    What makes me feel so dirty is that the company loves it.  They were really excited when I told them it was ready to go, despite it being probably the worst "application" I've developed in my career.  They talk about how they're going to use it in various ways, and I feel like kicking myself for lowering my standards to put out shit.  I want so badly to redo the whole thing (well, I want to redo the ERP as well, because it's broken to begin with) and do it properly.

    I realize, of course, that if the business thinks it's a success then technically I did my job, but I can't shake the "You sold out" feeling whenever I do anything with it.  Has anyone been in this kind of situation before, and if so how did you deal with it??



  • Stop bragging about how awesome you are.



  • Been there done that. To help your situation, I recommend SplendidCRM. Check it out. Free, open source, and all you would have to do is whatever work is required to interface or move your customer table.

    Seriously, use the full featured package. 



  • Man, at least transfer the login credentials using the Form, rather than the Query String.  We have to do that to get customers from our legacy ASP corporate internet site to our ASP.NET online billing site.  It doesn't take that long.

    I also don't agree with the sentiment that "if the business thinks it's a success then technically [you] did [your] job".  I haven't read your job description, but you may very well have ended up creating a nightmarish hell of maintenance work for yourself and downtime for the business later on.  I've set up much better architected one-offs than that and run into trouble down the road because of the inevitable scope creep (even though we had a written, signed-off-on functional spec).

    If you were under such a time crunch, I can't for the life of me understand why you'd make a web app.  It costs, on average, 3-5 times as much do something in ASP.NET than it would to do the same thing in a simple Winforms app, and deployment isn't an excuse anymore with tools like ClickOnce available.

    If you consider yourself to be any more valuable than the typical self-taught Excel VBA programmer, then you'll mark this off as "technical debt" and spend the next week repaying it by patching up all the corners you cut.  There's nothing wrong with the time-to-market excuse if you're actually tracking the defects and plan to fix them before they cause serious headaches.  Otherwise, don't expect much sympathy from us just because you don't know how to do a proper work estimate and explain it to your boss.

    <hints id="hah_hints"></hints>
    Edit: and I concur with the comment above, if you're really that short on time then the best solution is something off-the-shelf.


  • Transfering ASP Session to ASP.NET Session can be done with a classic ASP bridge page. Ugly, but it works.

     


  • Discourse touched me in a no-no place

    @cooldud said:

    Stop bragging about how awesome you are.

    We seem to have an inordinate amount of trolls around at this time of year. Has SSDS drawn them in?


  • @PJH said:

    @cooldud said:

    Stop bragging about how awesome you are.

    We seem to have an inordinate amount of trolls around at this time of year. Has SSDS drawn them in?
     

    I think it is SSDS-Web edition.



  • @PJH said:

    @cooldud said:

    Stop bragging about how awesome you are.

    We seem to have an inordinate amount of trolls around at this time of year.
     

    Lesson of the day: "troll" is not a synonym for "idiot". This guy is an idiot. He does not appear to be a troll. 



  • @asuffield said:

    @PJH said:

    We seem to have an inordinate amount of trolls around at this time of year.

     

    Lesson of the day: "troll" is not a synonym for "idiot".

     

    There appears to be significant overlap, though.


  • Discourse touched me in a no-no place

    @asuffield said:

    Lesson of the day: "troll" is not a synonym for "idiot". This guy is an idiot. He does not appear to be a troll. 
    Ah. I sit corrected.



  • you need to go back right now and make that piece of shit better.  If they barely used it and were just satisfying a single customer or something I would say just leave it, but you just created a fucking disaster a couple months from now after 20 features have been added and it's a spaghetti pile of shit. 


  • Discourse touched me in a no-no place

    @tster said:

    you need to go back right now and make that piece of shit better.  If they barely used it and were just satisfying a single customer or something I would say just leave it, but you just created a fucking disaster a couple months from now after 20 features have been added and it's a spaghetti pile of shit. 

    This was in reply to my "I sit corrected" reply. (Or that's how it appears in threaded view.)

    What have I (not) done now?!?



  • I got some effusive praise this past week for basically implementing an insertion sort.  It's not a WTF (the data is already mostly in the desired order, and any other means of imposing the desired order would be much more heavyweight due to the nature of the underlying system) but it still feels weird.

     



  •  oh shit...  I hate that type of view because I just hit the closest reply button I see :)



  • @tster said:

     oh shit...  I hate that type of view because I just hit the closest reply button I see :)

     

    Exactly. 



  • I know exactly how you feel. So much of my work involves adding nasty hacks to already horrible codebases because a client decided to smoke some crack one night and come up with a list of feature requests that are on another fucking planet to the original brief. Management, to whom the concept of code review is alien, only care that it works and before I have time to beat the ugly mess I just made into something decent, I'm whisked onto another project. The ugly hack gets buried, forgotten and festering in the bowels of the codebase. I find it really detrimental to my job satisfaction, knowing that I regularly am forced to create horrible pieces of code that could one day reanimate to trip up an unsuspecting developer - that developer could even be myself.


Log in to reply