Pages: [1]   Go Down
Print

Topic: Corporate software development  (Read 262 times)

0 Members and 2 Guests are viewing this topic.
chornbe

« on: November 16, 2007, 08:19:53 AM »


I come from a commercial software background and am now working on corporate software development.

A project I'm currently working on requires me to contact a vendor via web services which they are apparently policy-prevented from calling web services and can only refer to them as APIs. While technically correct, application programming interfaces can be a variety of things of which web services are a subset. But we can't call them that. Whatever.

So the published API document - which I should note is nothing more than a list of available functions in an excel file, absent any notion of "how to..." or "required and optional fields" or "expected values" - is rich and full and does lots of stuff. Most (I won't say 'all', tho' it likely will be) of which, for this application, we will need in order to lessen or eliminate our dependence on nightly file feeds.

A quick idea of what I'm working with is, say, an account list, account details, list of products, place a purchase or sell transaction, list of pending or historical transactions and a plethora of other things. I'm adding this functionality to an existing system that works for another product line ( for those in money business, these would be funds managed by various transfer agencies ).

So, the first thing a user might want to see is, gee, a list of my accounts (these would be banks and financial professionals managing a longer list of accounts). From those accounts, I might then need to see account details, historical transactions, a list of products a given account is authorized to trade, perhaps modify contact information, etc. None of this is brain surgery.

So when I submitted my initial bug report it was explained that ONLY transaction processing and trade history was available. The number of weeks wasted on building the client side code, testing, bug report submissions, etc., was fundamentally my own fault for not realizing the PUBLISHED API was not feature complete and "validated for use in your application".  Rolleyes What. The. Fuck.

If I put that kind of public face on my services when I was in the commercial software business I would have lost my job quicker than you can say "bug report".

Fine, fine... as asinine as this is, fine, I'll finish coding and testing just that part.

Hmm... interesting. The list of pending transactions is coming back with a business date of 2/4/2008. I call and ask - "we can't accurately determine the current business date, so we give you data the current date for four days prior and after the current date".  Headscratch "Ok, well, no, it's not ok, but ok... why is it a date in future?" "well, since we can't determine if today is an actual business date, your test data is hard coded to 2/1/2008". "uhm... then why is it coming back as the 4th?" (that's when I found out about the four days before and after the current date). So, rather than doing some basic checking on the date (is it a week day? if so, is it on this list of holidays? No? Then it's a business date!) they just give me a spread. Fine, fine... there's a "from date" and "to date" on the call. Great, I'll set them to 2/3/2008 (they're supposed to be a sub-filter on the 8-day range, not a global filter  Rolleyes ). I'll limit things to within that stupid 8-day spread and I should expect zero results.

WHOA! There's my pending trade for the 4th. Wow, That's hot.  Crazy

Oh, and the WSDL provided by the vendor is wrong. Not only is it missing necessary security header information, but EVERY URL is WRONG in the WSDL documents. Not only do I have to hand-hack my generated code but I have to modify the URLs in EVERY generated class, patch up missing security headers on EVERY individual web service call (roughly 200 of them), ensure EVERY class (roughly 45 of them) is properly serializable (some weren't and I had to modify them) and rather than count on actual return values or empty arrays (where applicable), they just inconsistently return NULL values or simply throw an exception with a nebulous explanation in the response like "global.data.exception".

Wow. Way to go.  Thumbsdown

I'm starting to miss the insanity of 20-hour days, crazy deadlines and living on pepsi and potato chips in the commercial software world. It took 8 years to miss it, but I really, honestly do at this point.

So, if any of you are these dimwitted lazy fucks known as 'staff developers' and do this kind of shit...  Twofinger Twofinger Twofinger Twofinger <-- without the smile.

(sigh)

Thank you for allowing me to vent. I'm going back to do more totally invalid testing now. Yay. Wait... what's the date again? (siiiiiiiiiiiiiiiiiiiiiiiiiigh)
Logged
Members, please login to hide this ad.

Guests, please register to hide this ad.
« on: November 16, 2007, 08:19:53 AM »

 Logged
Ant
Resident PB&J Hater
*

Reputation 11
Offline Offline

Years Contributed: '07
Motorcycles: 2006 Suzuki Bandit 650S, 1982 Triumph Bonneville T140E (in need of rennovation!)
GPS: Coventry, UK
Miles Typed: 3953

My Photo Gallery


Si non confectus, reficiat




Ignore
« Reply #1 on: November 16, 2007, 08:44:22 AM »

Hehe, fortunately for me I can't say that I feel your pain... I sure as hell can appreciate it though. I work with sketchy documentation from hardware vendors for devices with varying levels of standards compliance (varying from none to "it powers up but don't expect it to work") and then have to integrate them. Why can't these people a.) stick to the standards (because they're German and each companies way of doing things is the "right" way) and b.) if they decide to deviate from these accepted standards why can't you document them properly rather than sending me the original spec with comments such as "not implemented" or my personal favourite "alternate implementation".

As well as integration work I'm working on a "side" project that is a full network analysis suite for an extremely complicated protocol (Flexray in case any of you are in automotive or aerospace electronics) with another specification that is a moving target. Whoop  Lol (though I do enjoy my job despite me bitching... commercial software is the better half I think Wink)
Logged
jerome_oneil

« Reply #2 on: November 16, 2007, 08:48:36 AM »

Hahaha!!!!

Welcome to the big leagues, kid.  Bigsmile It never gets any better.

Logged
chornbe

« Reply #3 on: November 16, 2007, 08:55:56 AM »

Almost 2 decades of this after a pretty successful automotive career and I often wonder... what the FUCK was I thinking...?
Logged
bomber
*

Reputation -192
Online Online

Years Contributed: '10
Years Supported: '11
GPS: Sea of Joy
Miles Typed: 15631

My Photo Gallery


Let me Take my Chances on the Wall of Death




Ignore
« Reply #4 on: November 16, 2007, 09:00:49 AM »

while it MAY not get better for you, not all companies are in the business of selling vaporware --

I've working in Tech Doc most all of my career -- a lot of companies sell crap -- but, taking money for something that isn't "feature complete" comes awfully close to fraud, if the feature set isn't described somewhere (liekly in the bane of all of our existances, Release Notes)

I've actually seen Tech Doc act as the brakes on shipping crap by documenting reality, and then sending the docs out for review, often to the senior leadership of the company -- most (emphasize most) VPs won't knowingly ship crap often . . . .

I guess the AM radio version is, not all companies prectice this bullshit -- if you really don't like it (and there's no earthy reason why you should), help find another vendor -- or employer
Logged

It's a good day for Bobby Blue Bland
jed
Now with Titanium!
*

Reputation 10
Offline Offline

Years Contributed: '06, '07
Motorcycles: 2004 black MTS1000DS; 1990 FZR400 - crashed
GPS: noonan ga
Miles Typed: 2449

My Photo Gallery





Ignore
« Reply #5 on: November 16, 2007, 09:09:21 AM »

Just get access to their DB and write a new web front end over it and be done with the mess.
Logged
jerome_oneil

« Reply #6 on: November 16, 2007, 09:12:23 AM »

Corporate development is almost all professional services based, so it's not as if they're selling out of the box software.    Systems integration is *always* the hardest part of any development effort.   The remote integration point shares the same property as Other People's Code:  It sucks.

 
Logged
Members, please login to hide this ad.

Guests, please register to hide this ad.
« Reply #6 on: November 16, 2007, 09:12:23 AM »


 Logged
jed
Now with Titanium!
*

Reputation 10
Offline Offline

Years Contributed: '06, '07
Motorcycles: 2004 black MTS1000DS; 1990 FZR400 - crashed
GPS: noonan ga
Miles Typed: 2449

My Photo Gallery





Ignore
« Reply #7 on: November 16, 2007, 10:17:28 AM »


Corporate development is almost all professional services based, so it's not as if they're selling out of the box software.    Systems integration is *always* the hardest part of any development effort.   The remote integration point shares the same property as Other People's Code:  It sucks.


 Thumbsup

I do/did integration.  Mainly EDI but a few little APIs every now and then.  I've never seen a system that didn't look as if it was written by a pack of monkeys drunk on Absinthe.  But I know people that feel the same way about my code.
Logged
bomber
*

Reputation -192
Online Online

Years Contributed: '10
Years Supported: '11
GPS: Sea of Joy
Miles Typed: 15631

My Photo Gallery


Let me Take my Chances on the Wall of Death




Ignore
« Reply #8 on: November 16, 2007, 10:22:03 AM »



I've never seen a system that didn't look as if it was written by a pack of monkeys drunk on Absinthe.  But I know people that feel the same way about my code.


Odd -- that what they usually say about my API docs . . . . . . . .
Logged

It's a good day for Bobby Blue Bland
jed
Now with Titanium!
*

Reputation 10
Offline Offline

Years Contributed: '06, '07
Motorcycles: 2004 black MTS1000DS; 1990 FZR400 - crashed
GPS: noonan ga
Miles Typed: 2449

My Photo Gallery





Ignore
« Reply #9 on: November 16, 2007, 10:38:16 AM »




Odd -- that what they usually say about my API docs . . . . . . . .


Well if we wrote code that other people could understand then we wouldn't be valuable then would we!   Bigok
Logged
chornbe

« Reply #10 on: November 16, 2007, 11:07:45 AM »

Yeah, but at least the shit WORKS, right?
Logged
jerome_oneil

« Reply #11 on: November 16, 2007, 11:10:31 AM »


Yeah, but at least the shit WORKS, right?


Sure.  In that "ball bearing falls off the platform, shooting the barrel through the hoop, into the basket, which drops the net on the mouse" kind of way.
Logged
jed
Now with Titanium!
*

Reputation 10
Offline Offline

Years Contributed: '06, '07
Motorcycles: 2004 black MTS1000DS; 1990 FZR400 - crashed
GPS: noonan ga
Miles Typed: 2449

My Photo Gallery





Ignore
« Reply #12 on: November 16, 2007, 06:40:21 PM »


Yeah, but at least the shit WORKS, right?


As long as the smoke doesn't get out of the wires, the files are FTP'd on time, no jackass installs the latest dumbass toolbar on the secure server, and some idiot doesn't reboot the server as their TIF print job takes more than a minute to spool it'll sometimes work.  Bigok
Logged
Pages: [1]   Go Up
Print
Jump to:  



ST.N

Copyright © 2001 - 2012 Sport-Touring.Net.
All rights reserved.

SimplePortal 2.3.1 © 2008-2009, SimplePortal