Open Side Menu Go to the Top
Register
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

02-18-2019 , 05:37 PM
I have been unwinding a bit of tech debt a piece at a time for the last YEAR. I should have put up more of a fight at the time. This piece was done by someone I did not really enjoy working with, and who was not really well suited for the job. He used a few frameworks/libraries that we didn't use anywhere else, and that did not really mesh with how we did things. But he hammered it together and it worked so, what can you do.

I have had tacit agreements with my boss to take care of this stuff a bit here and there without making it a major priority. I comfort myself that at some point I'll be done with it.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-18-2019 , 07:32 PM
Quote:
Hi all, from the meeting last week, we have promised to deliver a fully working sign in/registration flow with all little things like interstitials, error flows and password tooltips working - by the end of this week (oh yeah - hi [good react dev], pressure's on now ). [good react dev], I will definitely be glad to help dive in and code any JS stuff with your guidance.

I was asked to make Jira tasks for the remaining items. I have gone back through all of the tasks and tried to make them as self-explanatory as I can. But I assume we'll still need to have some discussion or questions on some of them. If there's any doubt, let's please try to clear up confusion before developing something, rather than after. It's much easier on everyone that way.

These tasks represent what I think is left to do on the sign in and registration flow before I personally would want to hand it over to user acceptance testers. There may be other things, but this is everything I can think of for now. If anyone has a different idea, and you want to work with [Boss] and/or [Protoyper] to make sure it's correct, that's completely fine with me. Or if I have misinterpreted my role and someone else is going to flesh out the details on some of these - that's completely fine with me too.

That said, here's my interpretation of what we should work on first and what we might want to save for later if we can fit it in, also comments on each task ([Boss] please weigh in on any priorities if you think something should be worked on first or later):

...

That's all I can think of for now. I'm aware that we might not actually have user acceptance testing right away, but it seems like a good exercise to button down all these little loose ends either way. Once we're done I will promote this to the staging environment, which will remain stable while we continue to use the develop environment as our collaboration branch.

[Prototyper] has made some new prototypes for the promo page, landing (home) page and dashboard. I figure we can worry about the new versions of these pages after we finish this stuff. So I haven't made tasks for them yet. One thing I'm trying to do going forward is make sure we call out when the scope creeps due to changing requirements, so our business partners are aware that it may push timelines.
Ok well I started out with a pissy email, to my boss and the other two devs, that got steadily nicer and boiled down to the relevant paragraphs above. I feel a lot better now.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-18-2019 , 09:59 PM
Never underestimate the power of writing emails you’ll never send...
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-18-2019 , 11:15 PM
Quote:
Originally Posted by kerowo
Never underestimate the power of writing emails you’ll never send...
Pretty sure I've told this story before here, but one time I accidentally sent it.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-19-2019 , 02:34 AM
Quote:
Originally Posted by suzzer99
Maybe? But am I a lead? It's kind of unclear except when I get blamed when something goes wrong. Until a few weeks ago that was definitely my boss' role. Now it's *probably* my role? Except when she wants to get involved again.

So the other devs seem to look at is as basically a partnership with me, but ultimately they report to my boss, not me, and can work on things they way they see fit and in what order they want.

They have a prototype to work off of and while they'll listen to me I think ultimately they feel the prototype is boss. Even though it doesn't cover detailed requirements like how to handle and display certain errors, which errors to worry about, how to handle real time form validation, etc. Also stuff that my boss isn't really interested in, but still has to work.

And there's been some necessary back and forth with the prototyper which has caused some moderate scope creep, but made the first pass of this app a lot better. However since we have no real timelines or detailed tasks - there's no way to show the effect the scope creep. And since we spent 3 months dicking around with a completely useless contractor, we now have no extra wiggle room and people are getting pissy about why we haven't delivered anything.

I'm also the only one who actually drags the jira tickets from backlog, to development, to feedback. Do I want to make a big stink about this and either get my boss to talk to them over it, or try to cajole them to do it? Not really. So if I think something's done I just drag the task over.

My boss tells me to make jira tasks so I do. It's never been 100% clear if I can assign the jira tasks to devs but that seems like what she wants me to do. Could I ask her to clear this up? Yes. But something in my spidey sense just tells me that's a conversation I don't really want to have, as the answer I get could hamper me from my ultimate goal of just trying to deliver the project. Or it turns into some version of me sounding like Cartman yelling "Respect Mah Authoratah!"

And there's a fun culture of working on something for 3 days then checking it in w/o any sign off. So now for me to go back and say it's not right - I'm the one reopening some kind of issue that a dev thought they were done with.

Btw we're pretty much a 3-person team right now and all of the above is basically from having to work with the CSS person - who's the kind who needs every single tiny detailed requirement spelled out for her - but is clearly not on board with me being the one to spell these out.

For example - the prototype shows a username not found error and password invalid error at the same time. Well that's what she programmed. I have to explain to her those are two different errors for different cases, and they don't make sense together. For which I basically get the passive aggressive blank stare and who know when or if she's going to change it to the behavior that I want.

So am I the lead or not? If the boss asks her she'll probably say she's getting to it. But if not I could easily see me not being able to get her to change it w/o some kind of rank pulling pain. I could always change it myself. But for all I know she's already changed it and just not checked it in yet. Also she doesn't really get git and is clearly annoyed at me for trying to get her to use it in a way that doesn't cause conflicts. So if I break her **** and cause conflicts - it will be a blast.

I'm hoping when the main react dev gets back from vacation next week things will go better.
All this stuff is Lead/IC responsibility. Managers should not be breaking down work into tasks and assigning that work. That's the responsibility of the tech lead. Manager is there to unblock you on anything (like issues with your CSS person not being responsive to feedback), get more staffing, and making sure people understand the priorities and hold ICs accountable for delivery. You can't run a project with random people deciding and doing random tasks. Even though they don't report to you they need to be held accountable to follow the project plan and deliver stuff. If that's not happening, absolutely escalate to management.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-19-2019 , 03:17 AM
All the "should"s here are correct. Totally agree on everything you're saying - except - I haven't officially been given any of these roles. So I feel like complaining about another employee (while I am still just a contractor) for a role I may or may not actually have, after one week in said undefined role, would make me look kind of inept.

I'm pretty clueless when it comes to keeping bosses happy. But I do know that an employee who always escalates things is not gonna be in favor or be around very long. You gotta save that **** for nuclear situations, and only use it after you've built up a lot of capital - which I have none at the moment.

Last edited by suzzer99; 02-19-2019 at 03:23 AM.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-19-2019 , 08:32 AM
Quote:
Originally Posted by adios
@victor

Here's a list of takeaways from this book Kanban: Successful Evolutionary Change for Your Technology Business

[indent]

I suspect that a lot of this is what is driving the changes in your process. Regarding increasing velocity, I think it is fair to state that the author of this book would say that identifying and eliminating bottlenecks is the key. Seems like these operative principles at least are being adopted where you work:

❖ Pull systems expose the bottlenecks and create slack in non-bottlenecks
❖ Making changes to reduce variability requires slack.
❖ Reducing variability reduces the need for slack.
thanks for this.

it of course makes sense. but in the real world, in actual practice it results in situations like mine where 4 developers are essentially sitting around waiting for the other guy to make an update to his PR so it gets approved.

one thing that I didnt mention that is a bit of a hidden problem is that it puts a lot of pressure on the guy who working to finish his card. it also punishes him for striving for quality if it takes a bit more time. say, I found a really nice refactor but it will possibly take an extra day to implement and thus run the risk of carrying the card to next sprint, there is no way I would risk it since it may hold up others.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-19-2019 , 10:33 AM
Talking about all of that is what standups and retrospectives is for...
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-19-2019 , 11:39 AM
Quote:
Originally Posted by suzzer99
All the "should"s here are correct. Totally agree on everything you're saying - except - I haven't officially been given any of these roles. So I feel like complaining about another employee (while I am still just a contractor) for a role I may or may not actually have, after one week in said undefined role, would make me look kind of inept.

I'm pretty clueless when it comes to keeping bosses happy. But I do know that an employee who always escalates things is not gonna be in favor or be around very long. You gotta save that **** for nuclear situations, and only use it after you've built up a lot of capital - which I have none at the moment.
Don't think I've ever officially been given roles like that either. It kind of happens organically. Usually opportunities like that aren't handed to you, unless very lucky. Being the senior person on the project I think you have leeway to take initiative on a lot of this stuff, widen or tighten scope, etc.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-19-2019 , 11:49 AM
@victor: good post. Seems like a bottleneck has been identified by creating slack. As far as the refactoring, seems like that could be a separate card. Management typically values predictability and stability in the development process. Having devs setting project priorities on their own invites chaos IE puts predictability and stability at risk.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-19-2019 , 01:25 PM
refactor may not be the right word. programming is often an iterative process. I get it working, then go back and optimize. say you get something working and then notice a way to simplify the code and use a better approach. well, it works and sprint is closing soon so you are very strongly disincentived from updating it.

a new card seems nice but in my experience business is not going to prioritize such a card. and with this new methodology where every developer must have white space, and the card must be able to be completed in the sprint before starting, that work is getting done exactly never.

anyway, lots of grumbling today. all work is completely done but we are not to take on anything else.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-19-2019 , 01:41 PM
Quote:
Originally Posted by RustyBrooks
Pretty sure I've told this story before here, but one time I accidentally sent it.
Pro tip (for everyone): empty out the "to:" box
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-19-2019 , 01:54 PM
"All work is completely done and we are not to work on anything else"

What is a dysfunctional organization?

I'll take "mastering scrum terminology for 2000"
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-19-2019 , 04:15 PM
I mean, it wasnt like this until just recently. I think if the higher ups knew what was going on they would flip. the project is behind by 2 months, which really isnt that bad considering its been going on for 3 years. but there has always been a sense of urgency from the business sponsors and higher up managers. if they knew a team was eschewing work for such arbitrary reasons I think they would step in.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-19-2019 , 06:55 PM
Quote:
Originally Posted by muttiah
Don't think I've ever officially been given roles like that either. It kind of happens organically. Usually opportunities like that aren't handed to you, unless very lucky. Being the senior person on the project I think you have leeway to take initiative on a lot of this stuff, widen or tighten scope, etc.
That's what I'm trying to do. But I feel like the CSS dev isn't buying me telling her what to do at all, and I'm not sure what to do about it. If there's a way as a contractor to tell full time employees what to do w/o official support from higher up, I'm not talented enough to pull it off.

Also I think the boss might be undermining me somewhat. We'll see what happens next week.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-19-2019 , 08:21 PM
Victor,

When stuff like that happened at my last company I would come on very early (because that's when my VP of Eng came in) and go into his office and say:

"Hey you have 5 mins. I'm just seeing a concerning thing I think you would care about." Then you let them know that you think the recent changes make sense and you know why they are doing it. But that there are some issues, such as engineers currently sitting on their hands because they are blocked. That it doesnt seem like the situation they want you to be in. You could even provide a solution.

The situation is begging you to take advantage of it.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-19-2019 , 09:18 PM
Quote:
Originally Posted by suzzer99
That's what I'm trying to do. But I feel like the CSS dev isn't buying me telling her what to do at all, and I'm not sure what to do about it. If there's a way as a contractor to tell full time employees what to do w/o official support from higher up, I'm not talented enough to pull it off.



Also I think the boss might be undermining me somewhat. We'll see what happens next week.


Lol welcome to my hell. dont have direct authority or seniority to tell anyone on my team what to do, but the project success usually falls to me

It took many months of building relationships and rapport with everyone and even now they only listen to me about half the time but it’s gotten way better

But why don’t you have support from higher up? I would think that’s an absolute bare minimum
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-19-2019 , 10:41 PM
We do a similar thing to limit work in progress.

The bottleneck is almost always QA so I just go speed up tests or add test coverage where needed or read up on dev related stuff or whatever either increases my value or adds some amount of value but doesn't require QA.

Like I read the Dynamo white paper a couple weeks ago because we're using an eventually consistent data store that is based on it which lead to me learning about hash rings.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-19-2019 , 11:01 PM
We solve this problem by not having QA
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-19-2019 , 11:38 PM
Having separate QA does seem like you're doing Agile Waterfall.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-19-2019 , 11:52 PM
Yeah I'm not a huge fan. More often than not I'm telling them how and what to do anyway.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-20-2019 , 01:32 AM
Embedded SQA is the best dev experience I've ever had.

They're on the project team from the beginning just like devs, product person and project manager. The SQA lead is in every meeting from the beginning fo the project so they know what's coming down the pike. We all work side by side, so cross talk keeps everyone on the same page.

If SQA is in a different part of the building, it's a completely different experience. It turns into a passive-aggressive game of sending tickets back and forth and who's ultimately going to walk over to whose desk to clear this up.

Also everyone was cool and we socialized regularly. Which is lucky. But once you get a core team like that it's not too hard for competent managers to keep it going and not screw it up.

It might not look like the cheapest option on paper to have dedicated SQA. But I would bet that it more than pays for itself in team productivity - in ways that are hard to quantify of course - except final results. Which bean-counter managers hate as a metric.

Last edited by suzzer99; 02-20-2019 at 01:38 AM.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-20-2019 , 02:06 AM
Quote:
Originally Posted by jmakin
Lol welcome to my hell. dont have direct authority or seniority to tell anyone on my team what to do, but the project success usually falls to me

It took many months of building relationships and rapport with everyone and even now they only listen to me about half the time but it’s gotten way better

But why don’t you have support from higher up? I would think that’s an absolute bare minimum
Here's the timeline and what I know (I get to the boss support at the end I promise):

3 weeks ago I am still working on architecting the AWS middle layer stuff while the boss is basically managing the project, working with the prototyper and this crappy dev who is supposedly building the front end.

About that time things are coming to a head with the crappy dev so I volunteer to help do some of the front end work - integrating react with AWS Cognito stuff - that he's struggling with.

Also around that same time my boss (who is spread very very thin) asks me to work with the prototyper to clear up loose ends and flesh out details. Cool - no problem.

2 weeks ago - after the boss realizes the crappy dev is no good - he suddenly has a visa problem and has to leave in 2 days. No idea if that's what really happened. But great - he's one of those devs that it's literally much more work to try to get productivity out of than to just do it yourself. Problem solved.

So she pulls off the good react dev (who actually seems to like collaborating with me) and the CSS dev (who seems to hate collaborating with me) to work on this project - which we keep hearing is priority 1, but didn't seem to actually be that high of priority until now.

So a week goes by with them and I think things are going ok. I refactored some of the flame-out contractor's code, and the good react dev took over to continue the job (I am assuming he's going to own the front end from here forward). The CSS dev starts working on finishing and refactoring the styling that the crappy flame out dev started.

Then the good react dev goes on vacation for a week, last week.

The week starts out fine. But on Wed a meeting happens and the **** hits the fan with the other business partners that this project is showing no progress.

So the next meeting is our normal meeting about the project - except my boss' boss (who's normally completely hands off and non-technical) is now in the meeting. Ok.

We're clearly nowhere near done with registration and sign/in. But my boss starts freaking out that things aren't ready and somehow finds a bug. So she's telling me I need to fix the bug and make jira tickets for the stuff that was never really established - like interstitials to show on form submit, or password tooltips to show our password strength rules - etc.

After the first couple freakouts I push back and say we're working on all this stuff, but we're not done yet so it's not gonna be a polished thing. She says "well I just said we were done in the previous meeting". And I'm thinking - I have no idea what your definition of done is around here. Do all the flows work? Ye.? Is everything buttoned down? No - and you should know that as I've got a bunch of open tickets for it - which you asked me to create. So clearly a lot of that was just a show for her boss. Ok.

So whatever - that sucked but at least now I have a clear mandate to make and assign jira tickets and get this **** wrapped up, right?

Well by the end of the week the CSS dev is barely speaking to me and just checking in whatever she felt like working on. On Friday she literally made a pull request, tagged me to review, then bolted w/o saying anything - even though her cube is like 4 feet away from me. None of the extremely simple bugs I asked her to clear up have been touched. Nor has she commented on are acknowledged the existence of any of the jira tickets.

I feel like she thinks her requirements are the prototype, and her boss is our boss, and I am just way overstepping my bounds in telling her what to do. Even though literally a few days earlier she saw me get called out in a meeting, by my boss, and told me make jira tickets to get this stuff done. Great.

The only thing I can think of is maybe she got annoyed that I kept bringing up the little bugs. Also she started moving the CSS inline into the JS files for the react route components - which means to see JS you have to scroll past 200 lines of CSS. I asked her if there's anyway we could put that in another file and she said no. So I pressed a little further and realized what she means is they decided it doesn't work as a separate CSS file import, but obviously you can still import it as a separate JS file import. When I pointed that out she didn't seem pleased.

Also she doesn't really get git at all, and even though my boss specifically assigned me to clean up the git workflows - she gets really annoyed when I try to give her any advice on how to do git properly. Yay.

So why do I think my boss might be undermining me? Well on Friday I heard my boss tell the CSS dev that she would work with her directly on this stuff on Tuesday (while I am off). And also my boss made a big point that I wouldn't need to call the react dev on Tuesday to fill him in on the current situation (as I told her I would even though I am out in the desert). So those are things that make you go hmmmm.

So that's the genesis of the email I pasted above. If I go down it's not going to be for lack of being clear about my position, nor w/o showing them that I clearly am thinking on a detailed level about everything we need to do, and that I have the project's best interests at heart.

No one replied to the email at all. Nor did my boss reply to my email telling her I might be in late tomorrow because I'm driving from the desert. Yay - passive aggressiveness ftw!

Oh yeah - the other weird development is the .net dev who I thought was going to take over the C# lambda layer (which talks to our CRM system over SOAP) now seems not to want to have anything to do with the project. And the boss is pretty much gaslighting me acting like she didn't even know I needed him for anything. Um ok. This guy actually pre-dates her on the original failed .net/drupal version of this project. I'm starting to wonder if he's trying to avoid having anything to do with a sinking ship based on experience.

I worked on a side app with two people who work for the LA Fire Department. When it came time to delegate stuff that needed to get done - you could tell they just reflexively started jockeying to not have it land on them. I'm starting to get a feeling this state university has a similar work culture. Anyone who's ever worked in the public sector probably knows what I'm talking about.

The hilarious part is this is the simplest damn project I've ever been involved with. All I need is one front end dev, and dedicated non-foot-dragging part-time back-end dev help to interface with our university login and CRM system. I've been on projects where we pulled off much much harder things.

Oh yeah, my boss has also literally cut me off twice when trying to explain a technical thing to our business partners and her boss. This was a situation where they asked, and I'm pretty good at explaining technical things to non-technical people, so I started doing so. I think she either thinks they're idiots, or wants to keep a mystique about that stuff and is afraid I'm going to pull back the curtain.

Also she's gone out of her way to joke about my lack of CSS or aesthetic design skills. Which I always joke about but the times she's brought it up feel over the top. Best case scenario is she's trying to convince the CSS dev I'm not going to take her job, or that she's valuable or something. Worst case scenario is - I have no idea - she's just trying to knock me down a peg.

Bleh - this has been suzzer's feels blog. Thanks for listening.


TL;DR - **** this ****, I just realized typing all that that I need to quit. Life's too short, I already have a decent chunk of change, and my brain still works so it's not like I'm gonna be unemployed for the rest of my life if I quit this job and become a digital vagabond for my 50s.


TL;DR 2 - Actually I think this is just the day I give up and decide to milk the system until I can leave on my own terms. I hate doing that, because I'll be miserable until the day I'm gone. But just quitting now makes no sense on a bunch of levels.

Last edited by suzzer99; 02-20-2019 at 02:34 AM.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-20-2019 , 02:56 AM
excessively protracted, did not parse.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-20-2019 , 07:20 AM
@suzzer: FWIW it probably is not going to get better where you work. At least some folks on the team are not saying good things about you to management. I'm guessing you are a bit older than other team members. Plenty of places to work these days. Where you work has a dysfunctional dev process and it is probably going to stay that way.

Last edited by adios; 02-20-2019 at 07:25 AM.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote

      
m