Click here to Skip to main content
15,891,597 members

Welcome to the Lounge

   

For discussing anything related to a software developer's life but is not for programming questions. Got a programming question?

The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.

 
GeneralRe: Thought of the Day Pin
pkfox20-Nov-18 11:19
professionalpkfox20-Nov-18 11:19 
GeneralRe: Thought of the Day Pin
DRHuff20-Nov-18 15:50
DRHuff20-Nov-18 15:50 
QuestionActive pen/digitizer on touch screens Pin
Eytukan20-Nov-18 1:27
Eytukan20-Nov-18 1:27 
AnswerRe: Active pen/digitizer on touch screens Pin
Dave Kreskowiak20-Nov-18 2:47
mveDave Kreskowiak20-Nov-18 2:47 
GeneralRe: Active pen/digitizer on touch screens Pin
patbob20-Nov-18 5:23
patbob20-Nov-18 5:23 
GeneralRe: Active pen/digitizer on touch screens Pin
Eytukan20-Nov-18 21:24
Eytukan20-Nov-18 21:24 
GeneralRe: Active pen/digitizer on touch screens Pin
Eytukan20-Nov-18 21:24
Eytukan20-Nov-18 21:24 
GeneralSympathy, or smack me Pin
Marc Clifton20-Nov-18 1:09
mvaMarc Clifton20-Nov-18 1:09 
or both.

So, as you probably know, I gave my notice. The expected and gratifying panic ensued, resulting in lots of "we need to understand how your code works" meetings. During these meetings, various warts are exposed, warts I knew about and for the most part had // TODO: Cleanup comments around.

Why the warts? Because in the two years I've worked on this project, off and on, sometimes with a good several months "off" because management kept shifting my priorities, the project has evolved from basically a simple "read in the XML data and serialize it out into a fixed length delimited flat file" to a complex beast that has to handle numerous variations of the string-based XML data, numerous rules on how additional records need to be inserted, or excluded, or massaged, etc. etc. etc.

Basically, what I have implemented should for the most part be considered at this point a throw-away prototype given the learning that has occurred over the 2 years on just how freaking complicated it is to take denormalized data (as XML strings of all things, so there's no consistency in the naming of lookup values), handle all the variations spit out by the processes that create the XML...point being, I learned a ton of stuff as I went along, and I wouldn't have written the program the way I did had I known all this stuff up front. Stuff that only a couple people in the IT department actually understand.

So, during the code walkthroughs, I keep getting frowning faces and questions like "where did this requirement come from?" Given that the project had a one line requirement "convert XML and report it to the third party agency" (the spec for that is a 200 page tome with a separate addendum), I laugh when I hear the phrase "requirement."

And so this morass is being handed to a junior dev that isn't comfortable yet with what I consider basic C# features -- generics, LINQ, lambda expressions, abstract classes, etc. Management says I'm the only senior developer that the IT department has ever hired. Sigh | :sigh: I can see the argument for "code for the junior developers" - ie, lots of cut and paste. This poor guy, who is inheriting my project, is who really deserves sympathy.

So much for the sympathy. Here's the part where I'm smacking myself. There's only one person qualified to do the code walkthrough -- this person is really quite smart. It's actually a pleasure (in a painful way) to have someone that knows C# well enough go through the code with me. However, her main job is DB admin stuff, not C# development.) In hindsight, I wish I'd set up monthly code reviews with her. At least monthly. She knows the craziness of the processes that generate the XML (which has its own warts that would send you screaming out of the building) and has honed in on the warts that are the result of numerous refactorings instead of rewrites during this development process.

But on the gripping hand, I'm also pissed off. Management promotes a very silo-based development environment -- people work on their own thing and there's no collaboration. There's no training to bring juniors up to more senior levels. There's no concept of code reviews -- see my posts in the weird and wonderful. The way source control is used, it's only there to separate development, quality, and production code -- no branching, no pull requests where someone reviews your commits, etc.

But then I get back to smacking myself -- I know better. I should have taken the initiative to request code reviews. I should have utilized this really smart person's knowledge and skill better. Heck, I should have done better to begin with.

As to why I didn't, I would have to say that my disappointment in management, practices, and processes, which sounded great during the interview, created the psychological "I don't really give a sh*t" mood -- promoted by the punch clock mentality of management (yes, for salaried employees), lack of flexibility, and that everyone has been browbeaten into this mentality -- how many times have I heard "it's a paycheck?" from my coworkers? And besides, I truly have no passion for the insurance industry.

If there's a lesson to be learned here, the main one is, I shouldn't have allowed myself to get into that "I don't give a sh*t" mentality, nor should I have let my lack of passion for this industry to get in the way of doing a good job. I failed. I should have left the company early (I almost did, 2 weeks in as a contractor, but I needed that damn paycheck) or I should have been "professional" about my work irrespective of the crappy management style, tools, equipment, and work environment.
Latest Article - A Concise Overview of Threads

Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny

Artificial intelligence is the only remedy for natural stupidity. - CDP1802

GeneralRe: Sympathy, or smack me Pin
Rage20-Nov-18 1:31
professionalRage20-Nov-18 1:31 
GeneralRe: Sympathy, or smack me Pin
Marc Clifton20-Nov-18 4:20
mvaMarc Clifton20-Nov-18 4:20 
GeneralRe: Sympathy, or smack me Pin
Nathan Minier20-Nov-18 1:41
professionalNathan Minier20-Nov-18 1:41 
GeneralRe: Sympathy, or smack me Pin
Marc Clifton20-Nov-18 4:20
mvaMarc Clifton20-Nov-18 4:20 
GeneralRe: Sympathy, or smack me Pin
raddevus20-Nov-18 2:12
mvaraddevus20-Nov-18 2:12 
GeneralRe: Sympathy, or smack me Pin
Marc Clifton20-Nov-18 4:21
mvaMarc Clifton20-Nov-18 4:21 
GeneralRe: Sympathy, or smack me Pin
Eric Lynch20-Nov-18 2:34
Eric Lynch20-Nov-18 2:34 
GeneralRe: Sympathy, or smack me Pin
Marc Clifton20-Nov-18 4:22
mvaMarc Clifton20-Nov-18 4:22 
GeneralRe: Sympathy, or smack me Pin
Eric Lynch20-Nov-18 4:51
Eric Lynch20-Nov-18 4:51 
GeneralRe: Sympathy, or smack me Pin
Keith Barrow20-Nov-18 2:35
professionalKeith Barrow20-Nov-18 2:35 
GeneralRe: Sympathy, or smack me Pin
raddevus20-Nov-18 2:54
mvaraddevus20-Nov-18 2:54 
GeneralRe: Sympathy, or smack me Pin
Eric Lynch20-Nov-18 2:59
Eric Lynch20-Nov-18 2:59 
GeneralRe: Sympathy, or smack me Pin
Foothill20-Nov-18 4:28
professionalFoothill20-Nov-18 4:28 
GeneralRe: Sympathy, or smack me Pin
Keith Barrow20-Nov-18 5:06
professionalKeith Barrow20-Nov-18 5:06 
GeneralRe: Sympathy, or smack me Pin
Marc Clifton20-Nov-18 4:27
mvaMarc Clifton20-Nov-18 4:27 
GeneralRe: Sympathy, or smack me Pin
User 842020-Nov-18 3:33
User 842020-Nov-18 3:33 
GeneralRe: Sympathy, or smack me Pin
Foothill20-Nov-18 4:31
professionalFoothill20-Nov-18 4:31 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.