IT/Software career thread: Invert binary trees for dollars.

Noodleface

A Mod Real Quick
37,961
14,508
Sure, and c and assembly :p

Things at work are getting better. I moved near the team, so I actually feel part of the team and not some random dude in a corner. I've taken the reins on BIOS Dev and issues, so a lot of communication is going through me now - feeling like an expert. Even my boss defers design questions to me now, which is a little overwhelming.

I did get a little peeved. I was asked to encrypt the bios menu (when you hit f2 or del to enter) . So I setup this whole password system and if you failed everything was grayed out. It's a monumental task, you have to gray everythjng out one by one, several thousand items. I got asked by my boss what's taking so long, even though I've been debugging production issues basically 24/7. Just irritated me. Oh well, back to shitting my pants.
 

Khane

Got something right about marriage
19,854
13,371
Yea but now you've got a whole new problem. Shitting on their home turf first thing every morning.
 

Voyce

Shit Lord Supreme
<Donor>
7,168
23,451
Yea but now you've got a whole new problem. Shitting on their home turf first thing every morning.
Hey Khane, you're the resident Biztalk guy, right? What's a day in the life of development from that side?


Have to patch a Cobol Module in Production, worst piece of code still actively executing, I've ever witnessed.

Some of our older systems don't follow our current standards, and aren't maintainedt in any version control system, thus the Source and Object File must be moved in Tandem, through each Development Region.

Some of the old stuff is fine, it might use goto's, but they'll be procedural, soundly structured and easy to follow. Some are complete fuckery, with pointers everywhere and data getting copied and moved across a hundred different variables, and barely any structure.

This one Module though, I've never seen such a complete disregard to order anything.


The module assumes data is passed to it, and immediately falls into conditional checks, no initialization, no paragraphs/subroutines, a liberal use of periods when terminating conditional stuctures (granted they may have been using a compiler that had yet to have end-if's). It's entirely dependent on fall-through, no nested if-else, no evaluates\case, one static array in the middle of everything. There are comments everywhere all over the code, from things like *1/29/86* added logic X,Y,Z and literally 12 lines of code where one developer listed out client info that he was using to test (there's data from actual customers, being used in test plans, sitting in the source comments of a Production module). Finally there is dead code, stuff that will never execute by design, I'm not sure what was intentional and what wasn't but there's an entire section that cannot execute by design because of prior logic, that supercedes it.

I look at the comments, and I see all my predecessaors, go in there to add an enhancement; realize the complete fuckery--and instead of trying to mend the code, just add a little more logic to keep the fucktasterpiece afloat. Believe me, when I saw that I said..."that's what I'm going to do", not because I don't like to do things right, but because I know enough and am old enough to realize, that the system I'm maintaining has been running for 30-40 years, and big changes to small peices, mean big changes to big peices, and I was not assigned to rewrite the codebase for the project.

But nope, nope, nope, nope, nope...can't do that, the way the logic was written I'm the one that has to pull the last peice out of the Jenga tower of "fuck you, this is my job security" circa late 80's early 90's" and set it up again. There's no honest way for me to add the logic I need because it's based on this fall-through design, what I need to add will always be stepped over, no matter how I position it in context to the code. I would need to add more fuckery to jump to a subroutine, to add the logic. It would probably work, but if it didn't not only would my code break something, but it would look like dogshit to everyone who read it, and I would be the last one to have touched it. So now I've got to be the one to restructure the whole stupid shit-nugget. Oh well, it's relatively small, it's a shame that it has other dependencies that I think are breaking it, since I've already rewritten most of it. I just have to walk through the code and what it actually does, as opposed to what the people who wrote it thought it was going to do, the nature of the system makes it very difficult to use a debugging software, and since it's a CICS module I can't even use Displays (printlns), without filling up the logs and fucking up CICS (I kind of can to an extent but it's a pain in the ass, and if I accidently leave any in then I'm in trouble).
 

Khane

Got something right about marriage
19,854
13,371
I'm not really sure what you're asking me. Is this a messaging platform written in COBOL and you're wondering if it would be easy to migrate the logic to BizTalk?

I'll answer you're question though. A day in the life of a BizTalk developer is either a dream or a nightmare. But mostly a nightmare. Microsoft wrote the software with the intention that business users could code on their own. What they ended up with was a very powerful, but very easily misusable piece of software that requires specialized knowledge and everyone who doesn't work with BizTalk thinks it's the devil in a dress.

And if you're someone who's got a lot of experience writing code and wants to start working with BizTalk, well all I can say is... good luck. You'll have to throw away a lot of what you know and instinctively want to do when working with it if you want it to perform well and be maintainable. You'll end up trying to write you're own custom components instead of using the built in functionality because that's what you know and you'll be able to do that quicker... at first.
 

Voyce

Shit Lord Supreme
<Donor>
7,168
23,451
I'm not really sure what you're asking me. Is this a messaging platform written in COBOL and you're wondering if it would be easy to migrate the logic to BizTalk?

I'll answer you're question though. A day in the life of a BizTalk developer is either a dream or a nightmare. But mostly a nightmare. Microsoft wrote the software with the intention that business users could code on their own. What they ended up with was a very powerful, but very easily misusable piece of software that requires specialized knowledge and everyone who doesn't work with BizTalk thinks it's the devil in a dress.

And if you're someone who's got a lot of experience writing code and wants to start working with BizTalk, well all I can say is... good luck. You'll have to throw away a lot of what you know and instinctively want to do when working with it if you want it to perform well and be maintainable. You'll end up trying to write you're own custom components instead of using the built in functionality because that's what you know and you'll be able to do that quicker... at first.
Nah the Cobol stuff was just an aside, I'm curious about Biztalk because we have a group dedicated to biztalk and there might be a possibilty to move over to it, if I want to get out of Mainframe support
 

Khane

Got something right about marriage
19,854
13,371
Nah the Cobol stuff was just an aside, I'm curious about Biztalk because we have a group dedicated to biztalk and there might be a possibilty to move over to it, if I want to get out of Mainframe support
There is a lot of money in BizTalk. A lot. But just know it's going to be very different than any other coding job you've ever had. And you'll probably hate it. It's a step up from Sharepoint, that's the best I can explain it.
 

Vinen

God is dead
2,783
490
There is a lot of money in BizTalk. A lot. But just know it's going to be very different than any other coding job you've ever had. And you'll probably hate it. It's a step up from Sharepoint, that's the best I can explain it.
So the 6th circle of hell? With pre .NET Visual Basic being the 5th?
 

Khane

Got something right about marriage
19,854
13,371
BizTalk isn't nearly as bad from a development and deployment standpoint as Sharepoint is. But it's just as bad or worse from a complete misunderstanding of the technology from business folks and there are a lot of things you definitely should not do in BizTalk but since you can they expect you to do it for them, regardless of what you tell them about why it isn't a good idea or the right piece of software for what they want.
 

Lendarios

Trump's Staff
<Gold Donor>
19,360
-17,424
If you can move to biztalk, do it. It is the best source of money if you don't have a direct programming background.
 

Palum

what Suineg set it to
23,565
33,999
BizTalk isn't nearly as bad from a development and deployment standpoint as Sharepoint is. But it's just as bad or worse from a complete misunderstanding of the technology from business folks and there are a lot of things you definitely should not do in BizTalk but since you can they expect you to do it for them, regardless of what you tell them about why it isn't a good idea or the right piece of software for what they want.
So it's basically Access++?
 

Tenks

Bronze Knight of the Realm
14,163
606
I remember when I first started at my job we used an Oracle product called BPEL. It is mainly used to orchestrate a bunch of service calls. We had so much business logic and custom Java written into the thing it literally did not work. We paid like 200k in consultation fees to Oracle to try and make it work and their analysis was basically "WTF are you people doing with our product?" Shortly afterwards the entire project was scrapped and it was an utter failure for the company. Millions were lost and there was nothing to show for it (except somehow the project I was on related to it somehow escaped and it still being used in production to this day.)

The rule seems to be if it can be bastardized it will be bastardized
 

moontayle

Golden Squire
4,302
165
I remember when I first started at my job we used an Oracle product called BPEL. It is mainly used to orchestrate a bunch of service calls. We had so much business logic and custom Java written into the thing it literally did not work. We paid like 200k in consultation fees to Oracle to try and make it work and their analysis was basically "WTF are you people doing with our product?" Shortly afterwards the entire project was scrapped and it was an utter failure for the company. Millions were lost and there was nothing to show for it (except somehow the project I was on related to it somehow escaped and it still being used in production to this day.)

The rule seems to be if it can be bastardized it will be bastardized
Similar experience in a different area. When I worked for a Hospital DC in Texas there was a huge power struggle which ended up with the CIO "retiring". His replacement decided there was so much work to do that he couldn't do it alone so he hired a CTO. This guy came in and decided our service management was shit and that we needed to implement ITIL immediately. Nevermind that we only "serviced" ourselves, it had to be done. He spent two years ramrodding this shit down our throats, including making everyone take ITIL certification exams. Then, at the two year mark, he flew the coop (fun side note: aside from ITIL, his crowning achievement was pissing off the CFO and receiving a budget of $0 for a year and could only spend money using approved discretionary funds). New CTO gets hired, decides HP needs to come in and do an audit of our ITIL adoption. Result: The adoption was so bad HP recommended we start over from scratch. I left shortly after so I don't know where it went from there but I found it hilariously bad.
 

Palum

what Suineg set it to
23,565
33,999
Huh? No it's a very powerful messaging and B2B engine. It's middleware, but business people like to try to force me to use is as an ETL tool.
No I mean Access is infamous for being used in ways it should never be, BizTalk sounds like just the next evolution of misuse.

Ironically 2013/2016 is pretty powerful, though.