Career advice (AKA am I being a dick?)



  • My team and I have been working on a project for over a year now. It's not just us, but a handful of other vendors who are responsible for building and integrating the system. (For example, we do the backend while another vendor plugs their frontend code into ours.) The project has been failing to deliver required functionality, which has made our client unhappy. He's decided that we, the vendors are the problem (to be more precise, our alleged lack of communication). So after drinking a lot of kool-aid from highly-paid scrum methodolgy consultants, the client has decided that all members of all teams must come and sit at his offices and work together for 2 weeks so that we can all improve our communication and hence get stuff out quicker.

    There are 2 problems with this theory. The first is that the client can't be arsed to hire people to liase with business users and write specs, which means we have to write the specs - which obviously puts us behind on dev before we've even begun, and since we're the lowest level of the system (DB), everyone else depends on us to get our stuff out before they can get their stuff out. (Apparently no-one is capable of using mock objects.) Furthermore, since we aren't close to the business users, we end up delivering functionality that the client loves but the business users don't want. They then crap on the client, who craps on us for delivering features no-one wants, even though he was perfectly happy with them when we showed him the specs.

    The second problem is that the client is over 1,000km away from us. If we go to his offices for 2 weeks, we have to stay in cheap motel rooms and have to dress smartly (what I call a "monkey suit") - which is completely the opposite of our standard casual work clothing. Also, no Internet or videogames, and since our company is cheap, we have to cart our desktop PCs up with us. Yep, you read that right - we have to climb aboard a plane with our PCs under our arms because nobody can be arsed to buy us laptops.

    So I said no. I said I'm not going to go and sit at the client's site for 2 weeks because that isn't going to solve the underlying problem - that he's a moron who is happy to blame others before even admitting his organisation has problems and doing something to fix them. (The client has been with us for a decade, and we've been telling him to hire BAs for that long, and in that time he has hired precisely 0 BAs, so you can understand how much he actually listens.)

    I also said I wanted off the project, because not only is putting every vendor together not going to work, it's just going to slow us all down even further. Which will then cause deadlines to slip, which will then cause an unhappy client, who will try something else that won't work. End result: client fires all vendors. Essentially, the project is going to hell in a handbasket, and I don't intend to be around to blame when the burning pit opens, because guess who will take the blame for project failure... not the client, not the directors, not the managers, but of course the developers, especially the senior devs - which I am. (Not to mention there are various internal problems within my project team, including but not limited to: a project manager who doesn't manage, incompetent devs who are allowed to take shit code live because they're chums with the PM, management who just isn't interested in fixing things, and a plan to rotate out support/dev persons to give both groups "more exposure", i.e. make a late project even later.)

    In summary, I've made it crystal clear to management that they can either find me alternative work in the company, or they can have my resignation. Given my sob story above, do you think I'm being fair, or am I acting like a spoiled child?

    Comments, questions, flames... all welcome.



  • @The_Assimilator said:

    Given my sob story above, do you think I'm being fair, or am I acting like a spoiled child?

    Yes?



  • What was your reason for you giving your management, who are clearly just as big idiots as your client, any choice in the matter?

     

    In general, issuing an ultimatum like this is a waste of time and energy, because it's usually impossible afterwards, no matter what, to create a happy working atmosphere. There's really no point to going on working at a place that makes you miserable.

     

    My personal inclination (which I have actually carried out occasionally) is to fix myself up with something else to go to, then tell my team why I'm going, and then enjoy telling my boss that he's been dumped.



  • @GreyWolf said:

    My personal inclination (which I have actually carried out occasionally) is to fix myself up with something else to go to, then tell my team why I'm going, and then enjoy telling my boss that he's been dumped.

    Personally, I'm more of a "down with the ship" kind of guy.


  • 🚽 Regular

    @HighlyPaidContractor said:

    @The_Assimilator said:

    Given my sob story above, do you think I'm being fair, or am I acting like a spoiled child?

    Yes?

     

    I think that's the correct answer. The environment is definitely something I sympathize over, but at the same time, while some of your complaints are perfectly valid, others are petty. I can't believe you're a senior developer and yet have never been in a situation in the past where you've had to travel and *gasp* respect the dress code demands of the office you're traveling to!



  •  TRWTF is asking career advice onTheDailyWTF



  • @guypremont said:

     TRWTF is asking career advice onTheDailyWTF

    TRWTF is creating an account to tell us what TRWTF is.



  • @RHuckster said:

    @HighlyPaidContractor said:

    @The_Assimilator said:

    Given my sob story above, do you think I'm being fair, or am I acting like a spoiled child?

    Yes?

     

    I think that's the correct answer. The environment is definitely something I sympathize over, but at the same time, while some of your complaints are perfectly valid, others are petty. I can't believe you're a senior developer and yet have never been in a situation in the past where you've had to travel and *gasp* respect the dress code demands of the office you're traveling to!

    That is how the company has always worked - the managers are the ones who schmooze with clients while the devs sit at the office and get work done. Doesn't matter how senior you are, if you're a developer, you don't have to worry about the BS because that' what managers are paid to do. This situation is changing all that, and one of the reasons I joined this company was because of promises that being a dev would involve a minimum of client interaction. I'm not a people person, I especially don't get on well with clients, and I don't like being away from home for any period of time, so you can understand why a 2-week stint in another city with only my colleagues for companionship, is not my cup of tea.

    @guypremont said:

     TRWTF is asking career advice onTheDailyWTF

    If I wanted bullshit answers about sticking it out, I would've asked on Code Project or something. But I want real answers from guys who feel pain every day like I do. Granted, they may not be objective answers and they may come with a fair bit of vitriol, but they're answers from guys from the trenches, and that's what counts.



  • @The_Assimilator said:

    If I wanted bullshit answers about sticking it out, I would've asked on Code Project or something. But I want real answers from guys who feel pain every day like I do. Granted, they may not be objective answers and they may come with a fair bit of vitriol, but they're answers from guys from the trenches, and that's what counts.

    I suggest active sabotage.  Destroy all known copies of critical source, replace everything not destroyed with malicious or non-functioning code.  If possible, do this while logged in as somebody else.


  • Discourse touched me in a no-no place

    @The_Assimilator said:

    <stuff>
    You're either a sock-puppet for OzPeter, or you work with him.



  • @HighlyPaidContractor said:

    I suggest active sabotage.  Destroy all known copies of critical source, replace everything not destroyed with malicious or non-functioning code.  Only do this while logged in as somebody else. People you hate if possible

    FTFY, you should avoid fines and jail time, I heard you can't play D&D anymore in there so is not safe and loosing money on this economy is a big no no.



  • @serguey123 said:

    loosing money on this economy

    Bailout?



  • mmm... Kool-Aid...

    That said, you may have forgotten one more thing: You should be able to bill an extra 8 hours each weekend day you're stuck in whatever hell hole they put you in.  Either that or they fly you home on the weekend. Maybe it's not a hell hole and they just pay you a full day's wage to go to the casino and smoke cigars. 

    It's easy to see how everything's going to shit, but I think the client has no right to force you away from your home office.  It sounds like this has been mismanaged from the start.  Bring some PM/BAs on for two weeks to a month to gather requirements, then the db team, then each subsequent team as it's needed.  Maybe management brought everyone on at the same time to milk the clock while they twiddle their thumbs.  Maybe they thought "oh well they can familiarize themselves with the dev environment for a month while they await requirements."

    Regardless, if I were in your shoes and I knew the axe was going to fall, I wouldn't want it to fall on me when I felt I had done nothing wrong.  Now, making a demand that you be moved to a different project is tricky because you're basically telling management "you guys are fucking everything up so give me management that doesn't suck."



  • @HighlyPaidContractor said:

    @serguey123 said:

    loosing money on this economy

    Bailout?

    Only if you are a bank, else you are very much screwed



  • @The_Assimilator said:

    In summary, I've made it crystal clear to management that they can either find me alternative work in the company, or they can have my resignation. Given my sob story above, do you think I'm being fair, or am I acting like a spoiled child?

    I guess it kind of depends on how big a deal it is for your management that you, as opposed to someone else, or nobody, goes. If they really want you to go, use it as an opportunity to squeeze whatever you want out of them - get written promises that, if you go and, as you predict, it makes no difference, then they'll start listening to you and following up on your suggestions. Get a pay rise. Get some kind of guarantee that if you do this one thing for them this time, that it will be worth your while later. Possibly you go, and it does actually improve things - in which case, great (unlikely, I know), or you go and it makes no difference but hopefully now management will keep their side of the deal, and things get better, or they don't, and you're in a no-worse position, except that you've had a very minor inconvenience (and it is very minor) of being away from home for 2 weeks.

    You've got a potentially very valuable bargaining chip, if you just flat out refuse, or go looking for another job, that bargaining chip is completely wasted. If you compromise, hopefully you'll get something out of the deal, and management will probably see you as a great team player, rather than a petulant child who made things really difficult for them by refusing to go and see a client for a couple of weeks. If you're really lucky, they'll take on-board that you're not happy, see your winning attitude and maybe decide that you're ready for a promotion...



  • Are you being a dick? Yes.

    Now that that's over with...

    I agree entirely with GreyWolf: ultimatums are a waste of time. (For anything, not just the workplace.) The only time I'd say an ultimatum is "acceptable" is if you already had another offer, but you really didn't want to take it, and you were giving your previous company a chance to match the offer. And even then it's not really acceptable... but that's moot, since in this case you don't have the offer.

    I thirdly agree with you that the company shouldn't realistically expect you to travel with desktop computers. It would be acceptable to ship them, and pay for the cost of shipping, but making you the employee solely responsible for the desktop computer's health while traveling is ridiculous. Demanding that the company FedEx your computer (or just using their FedEx account to do it without telling them), IMO, is entirely reasonable here.

    I also agree with you that this 2-week meeting isn't going to solve shit. You can't simply say that without offering a better alternative, otherwise you'll just be labeled as a whiner. (In this case, if you're going to do team-builder, suggest you'd be better off with something like a 3-day "boot camp" type teambuilding activity. It won't take as long, you won't be lugging computer hardware around, and you might even have some fun.)

    The real solution here is to fire up the job hunt. Your company's not going to change, and your ultimatum is going to make it an unhealthy working environment anyway. Time to bail.



    1. Agile methods like Scrum only work with good communication with the appropriate stakeholders. In the case of Scrum, this means a meeting every 2-4 weeks to synchronize the backlog of requirements with the vision of the users and the clients. If you cannot get hold of the clients and users on a regular basis, then the project will fail. Period. The end. Move along, nothing to see here. Trying to do Agile with a client at a 1,000km distance is a very serious challenge I would only advise to advanced Agile teams, basically because it's not possible to drop by on the clients and users to get the needed requirements if they are resistant to periodic meetings.

    2. Switching to Agile in mid-project at a time where the team's confidence is already shaken is a recipe for failure. Going from a traditional disciplined approach to an Agile one should be done incrementally, preferably starting with simple non-critical projects. A team cannot become Agile overnight; it takes practice to understand and integrate a whole new way to exchange information and to perform common activities.

    3. On the other hand, more interaction with clients and users is the new way to do development. The internet enables direct communication with them, at the very minimum through the exchange of mock-ups and prototypes. I personally disagree with extreme Agile methods (like XP) which require the client to sit permanently beside you, but I think the traditional "we'll-see-you-in-six-months" approach is also wrong. I think the middle path is the way to go, with constant feedbacks to and from the clients and users, something which, unfortunately, means brushing out those people skills.

    I think you are right to walk away from this wreck. But I think you need to get some communication skills if you are to survive in future development environments.

    Get feedback from your Scrum coach. If he's not a blow-hard and completely sold to the method, he will tell you the pitfalls to avoid, which should be in line with what I posted here.



  • @HighlyPaidContractor said:

    @guypremont said:

     TRWTF is asking career advice onTheDailyWTF

    TRWTF is creating an account to tell us what TRWTF is.

     

    TRRWTF is he created his account in 2005 and this is his first post.



  • Most has already been said, but i would like to reiterate that client contact is very important. The PM should be taking care of PM stuff. 'when do we deliver what, how much does that cost and how many FTE's do we need for that'.  But as a senior dev it is your job to actually know what can be built, how it should be built, and how long that will take. You can not be certain of those things without knowing exactly what the client wants. Not "translated" by your PM, but from the client itself, so you can pick out the vague bits, and get some answers about corner cases. Doing that via a paper trail is uselessly time consuming. As soon as normal chaps become clients they lose their ability to read and understand things. Face to face confirmation that they are actually understanding what the plan is is vital in delivering something that comes close to what they wanted.

    Having said that. While face to face can be important, for the most part having remote meetings can be just fine via skype or one of them fancy web meeting sites. 

    Secondly, from reading between the lines i recon you've already decided to leave that company, you just might not know it yet. 



  • @The_Assimilator said:

    The second problem is that the client is over 1,000km away from us. If we go to his offices for 2 weeks, we have to stay in cheap motel rooms and have to dress smartly (what I call a "monkey suit") - which is completely the opposite of our standard casual work clothing.
     

    Not wanting to go on business travel is pretty common among people who've actually been.  Sometimes it's OK but mostly (in my experience) it's dull.  (Recently went on business to Sydney.  Mental imagery of the harbour, opera house, etc.  Reality was an industrial estate way out in the suburbs.)  As a professional though you just have to suck it up and go.  Their dress code had to be observed; carrying a desktop with you is out of the question.

    I would take issue Davex3 saying that two weeks is a "minor inconvenience" as this wholly depends on your personal cicumstances.

     

    @The_Assimilator said:

    In summary, I've made it crystal clear to management that they can either find me alternative work in the company, or they can have my resignation. Given my sob story above, do you think I'm being fair, or am I acting like a spoiled child?

    I have always been fortunate to have managers that treat me well and that I can talk to honestly about this sort of thing.  I'm not saying that we always come up with the right answer but I have never felt like I was being sold down the river. 



  • @The_Assimilator said:

    the client has decided that all members of all teams must come and sit at his offices and work together for 2 weeks so that we can all improve our communication and hence get stuff out quicker.

     I've done that before, and it actually is quite effective.  Even daily conference calls aren't as effective. I also end up in a situation where I work all the time with not only my clients, but their other vendors (or in one case recently, with a client's affiliate's vendor).  The logistics of bringing everyone together in one place is rough, but it's not unproductive at all.

    There are 2 problems with this theory. The first is that the client can't be arsed to hire people to liase with business users and write specs, which means we have to write the specs - which obviously puts us behind on dev before we've even begun, and since we're the lowest level of the system (DB), everyone else depends on us to get our stuff out before they can get their stuff out. (Apparently no-one is capable of using mock objects.) Furthermore, since we aren't close to the business users, we end up delivering functionality that the client loves but the business users don't want. They then crap on the client, who craps on us for delivering features no-one wants, even though he was perfectly happy with them when we showed him the specs.

    That sounds like a great reason to get close to the business users.  Don't expect the client's management to really have a handle on what their users need - ask the users straight up.  I too have been burned before by this - you need to keep the end-users of your software in the loop at all times.

    The second problem is that the client is over 1,000km away from us. If we go to his offices for 2 weeks, we have to stay in cheap motel rooms and have to dress smartly (what I call a "monkey suit") - which is completely the opposite of our standard casual work clothing. Also, no Internet or videogames, and since our company is cheap, we have to cart our desktop PCs up with us. Yep, you read that right - we have to climb aboard a plane with our PCs under our arms because nobody can be arsed to buy us laptops.

    I always travel with my personal laptop and VPN in to my office machine.  My personal laptop is a bajillion times nicer than any my company would lend me.

    So I said no. I said I'm not going to go and sit at the client's site for 2 weeks because that isn't going to solve the underlying problem - that he's a moron who is happy to blame others before even admitting his organisation has problems and doing something to fix them. (The client has been with us for a decade, and we've been telling him to hire BAs for that long, and in that time he has hired precisely 0 BAs, so you can understand how much he actually listens.)

    1. All clients have organization problems.  The bigger the client, the more fundamental the issues.  That's just something you deal with when you work for customers.

    2. If you've been working with this client for a decade, you didn't get blindsided by these issues.  This all should have been built into your time estimates from day 1.  I work with several clients and I definitely adjust project timelines differently for each one. And if I screw up and burn through the buffer I build into all deadlines, well, then it looks like sixty-plus hour weeks in my future; that will teach me to not suck at estimating time.



  • @Cat said:

    @The_Assimilator said:

    the client has decided that all members of all teams must come and sit at his offices and work together for 2 weeks so that we can all improve our communication and hence get stuff out quicker.

     I've done that before, and it actually is quite effective.  Even daily conference calls aren't as effective. I also end up in a situation where I work all the time with not only my clients, but their other vendors (or in one case recently, with a client's affiliate's vendor).  The logistics of bringing everyone together in one place is rough, but it's not unproductive at all.

    Depends. My company is doing some software integration for a hardware vendor. There were some problem with a certain API of theirs, so they called for a development camp at their promises for one week. They assigned one engineer to help our guy with the code. Does this engineer know about the API? No. Does he know who knows? No. Questions still took just as long to get answered as their engineer had to go off and hunt down someone who knows the answered.

    And this is by far not the only case this has happened. The same routine has been repeated over many different projects and vendors; we go there and they assign us someone who doesn't know the answers we need. Guess why I'm really hesitant to agree to go on these trips (and fortunately have managed to avoid them so far).

    We are a small consulting company of 40 or so employees, while the clients are generally big multinational companies of 10000+ employees, so if the client insists on something, we (as a company) generally have to agree. Having some actual backbone does help on the personal front though.



  • @The_Assimilator said:

    Yep, you read that right - we have to climb aboard a plane with our PCs under our arms because nobody can be arsed to buy us laptops.
    I prefer to work for people who are NOT total idiots. 

    Wearing a 'monkey suit' is disagreable, but not that big a deal. You need to own a suit in case you have to attend a funeral, anyway. You put the suit and tie on in the morning, walk to your desk, remove the suit jacket and loosen the tie and unbutton your top button. If anyone complains about the loosened tie, say "I have this medical condition, I would rather not talk about it."

    But the not wanting to work for idiots is really the issue.



  •  Here's an alternative suggestion:

    Just ride it out. Are the pay/benefits decent? They're going to blame you either way, but they're just people that you only see at work. Transcend the blame, just brush it off and move on. Some projects fail, and it seems like the people you're working with are familiar with failure, so they won't be shocked or anything. If you think you'll get the blame but won't get fired, then you're fine. If you think you'll get fired, just sit back and relax, don't stress yourself, and put some resumes out now and enjoy watching it crumble.

    Yeah, we all love working for smart people with smart coworkers... but how often does that happen? I love winning the lottery too... Only way I know of to increase the odds of working with smart people is to start your own business and only hire smart people. 



  • Clients never write specs. They always want the onshore guy to write specs for them. That is why our company spend money to send all these people onshore



  • @Nagesh said:

    Clients never write specs. They always want the onshore guy to write specs for them. That is why our company spend money to send all these people onshore


    It's hard to write specs when you're on a leaky boat in the middle of the ocean, and the salt water doesn't help.



  • @EJ_ said:

    Yeah, we all love working for smart people with smart coworkers... but how often does that happen? I love winning the lottery too... Only way I know of to increase the odds of working with smart people is to start your own business and only hire smart people. 
     

    There is quite a large range between smart people and total idiots who expect him to carry a desktop PC on a plane trip. Yes, working for smart people may be unusual. But working for people who are not total idiots is an admirable and attainable goal.



  • @The_Assimilator said:

    Comments, questions, flames... all welcome.


    I had to stop and think for a moment if my employer is the "client" you're referring to.  Then I noticed your location and said "Nope" *phew*.

    Of course, a few other details were off, too...

     

     

    mod: I normally don't crack down on fullquoting, but I have to draw the line when the quote is *more than 1 screen high* and nearly pointless.  –dh



  • @The_Assimilator said:

    In summary, I've made it crystal clear to management that they can either find me alternative work in the company, or they can have my resignation. Given my sob story above, do you think I'm being fair, or am I acting like a spoiled child?

    Comments, questions, flames... all welcome.

     

     I think you're being perfectly fair, if for no other reason than you aren't provided a laptop for this little excursion.  If my boss asked me to haul a tower on a plane just to satisfy some idiot's idea of a solution that doesn't even touch the problem (actually, even if I had a laptop...) I would tell them to go to hell.  It's obvious this project is a sinking ship.  Get out while you can, and don't look back.



  • It can be the case even on a good team that you don't fit and everybody would benefit if you went somewhere that worked better.  Despite how we do things in this western civilization we have, there's nothing irreplaceable about most work environments.  Sometimes it's just time to move on.



  • @The_Assimilator said:

    For example, we do the backend while another vendor plugs their frontend code into ours.

    So, they plug their front end into your backend? Sounds like you're buggered!



  • @The_Assimilator said:

    we have to climb aboard a plane with our PCs under our arms because nobody can be arsed to buy us laptops.
    My "colleagues" are not letting me concentrate again so I might as well note that it's impossible to safely transport desktop PCs via commercial airlines. Not the TRWTF in this thread, but it's what I have experience in. You have a better chance of a desktop getting to its destination intact if you strap it on a missile and fire it at your destination. The airlines wont let you take it on board as hand luggage and the baggage handlers just don't give a shit no matter how many "fragile" stickers you have on it.

    I had to lug my desktop around a lot when I was studying abroad. The first time I tried it, the aftermarket CPU cooler I had broke free and scythed its way throught the internal components. It even took the RAM out of its socket so you can imagine what the case went through. After that I'd disassemble the PC, keep the internal components with me and put the case alone through baggage. Once, I got it back and one of the upper edges of the case was bent upwards. I have no friggin idea how the hell they managed that. It was alright though, the next trip they bashed back in again.

    I think the only way these people will learn is if we start hooking up bombs to G sensors and wrapping them in packages with "fragile" stickers on them. 



  • @DOA said:

    I think the only way these people will learn is if we start hooking up bombs to G sensors and wrapping them in packages with "fragile" stickers on them.

    Be careful what you say...



  • @DOA said:

    @The_Assimilator said:

    we have to climb aboard a plane with our PCs under our arms because nobody can be arsed to buy us laptops.
    My "colleagues" are not letting me concentrate again so I might as well note that it's impossible to safely transport desktop PCs via commercial airlines. Not the TRWTF in this thread, but it's what I have experience in. You have a better chance of a desktop getting to its destination intact if you strap it on a missile and fire it at your destination. The airlines wont let you take it on board as hand luggage and the baggage handlers just don't give a shit no matter how many "fragile" stickers you have on it.

    I had to lug my desktop around a lot when I was studying abroad. The first time I tried it, the aftermarket CPU cooler I had broke free and scythed its way throught the internal components. It even took the RAM out of its socket so you can imagine what the case went through. After that I'd disassemble the PC, keep the internal components with me and put the case alone through baggage. Once, I got it back and one of the upper edges of the case was bent upwards. I have no friggin idea how the hell they managed that. It was alright though, the next trip they bashed back in again.

    I think the only way these people will learn is if we start hooking up bombs to G sensors and wrapping them in packages with "fragile" stickers on them. 

     

    About 3 decades ago, while I was at college, I worked part time for a 3 letter package delivery company. I think they do a better job now, but my first day I was instructed by my manager to throw any box that wasn't labeled 'Liquid in Glass'. Fragile labels were considered kind of silly. The labels that announced that the contents contained fresh fruit from Florida were a really bad idea. Unfortunately, it is unlikely that an airline would accept a package labeled 'Liquid in Glass'.

    I still have nightmares about boxes going by on a conveyor belt, btw.



  • @DaveyDaveDave said:

    @DOA said:
    I think the only way these people will learn is if we start hooking up bombs to G sensors and wrapping them in packages with "fragile" stickers on them.

    Be careful what you say...

    "Well, I did write 'fragile' on it Your Honor..."



  • I want a report back from The_Assimilator... how's the dickiness going?



  • @blakeyrat said:

    I want a report back from The_Assimilator... how's the dickiness going?

    Wouldn't "being a dick" verbify to "dicking?"

    How's the dicking?



  • @blakeyrat said:

    I want a report back from The_Assimilator... how's the dickiness going?

    You're assuming that this location-requiring-monkey-suits actually has internet access?



  • @blakeyrat said:

    I want a report back from The_Assimilator... how's the dickiness going?

    I am hoping we hear more once he gets back.


Log in to reply