4 ms·
What if they are doing it wrong and I notice? Do I wait until they are finished, and then fixing it will take so much longer... Or I can offer help earlier on
by LandR 8y ago
What if they are doing it wrong and I notice?
Do I wait until they are finished, and then fixing it will take so much longer... Or I can offer help earlier on and get it back on track sooner.
We have an issue here that someone will work on something for days or weeks and are producing complete garbage. But then when they've finished and they show the pile of crap they produced you can't tell them that's crap. As they've spent too many hours on it to redo it.
So if I see something like this happen, I'd rather "offer help" early on and try and get it onto a sane track and save a lot of headaches down the road.
- MrGilbert 8y ago> But then when they've finished and they show the pile of crap they produced you can't tell them that's crap. As they've spent too many hours on it to redo it. That's the main issue. As a company, you must be able to make the decision to throw away stuff you've built, IF it's complete garbage from an objective point of view (the last bit is important: Just because you think it's complete garbage doesn't make it garbage.)
- levosmetalo 8y ago> So if I see something like this happen, I'd rather "offer help" early on and try and get it onto a sane track and save a lot of headaches down the road. If you work in a kind of company where someone can work for weeks or months on some feature without any code review, design and architecture review, merging to mainline and testing processes, it's quite possible that the "complete crap" that "kinda works" is completely acceptable solution. And it's like that in most of the enterprises.
- LandR 8y agoIt doesn't work though. The stuff that is made is often garbage performance wise, falls over a lot and ends up people spending hours trying to keep it running / restarting it. We also have no testing process, no code review process. I find out about stuff when I have to fix a bug in it. That is often the first time I will see something that is deployed to production. Also deploy is basically the drev works on something, which like I said is often garbage with no thought put into it, then just copies it to a live server. I then get told it's not working and can I have a look, see that it looks like it's been writen by someone that suffered blunt force trauma to the head before they started and die a little inside. Every. Godamn. Time. I need a new job. An example: A database update that was taking 9 minutes to insert a few thousand rows. Why? Because it was a nested foreach loop with a sql call in the middle... Or when they had an array (in C#) but they didn't know how big it was going to have to be. There solution was to make it way bigger than it needed to be, by a lot, add to it. Then have a loop where they started at the end and resized the array by one item at a time until they had no more nulls... At least they left a comment in that saying someone needs to rewrite this as it was bad performance wise... I guess that's something.
- CydeWeys 8y agoGood christ, why would you use primitive arrays in C# like that?! How would someone not know about the List class? It sounds like suffering from premature optimization, and then completely failing at knowing how to do the optimization part.
- LandR 8y agoThere are still some devs today that have years of experience that avoid List<T> because they don't understand generics. Yes, honestly. Or even better (worse), we have a database table that stores the state things. State can be one of a small collection of states, e.g. Foo, bar, Quax. It's enumerable. How do we store it in the database table? as an nvarchar Id = 1, State="Set State to Foo" So any query was having to do a string parse to get the state out by grabbing the string after "Set State to " Which was killing the database as the table has millions of rows and is used all the time. I have so many examples like this.
- CydeWeys 8y agoThe last time I ran into something this bad was ten years and two jobs ago when, in front-end JS, someone needed a lookup map, but instead of just using a JS object, he implemented an array where the even entities represented keys and the odd entities represented values, and for lookup he used a for loop over the even indices of the array to iterate through keys until he found a match. Yes, it was terrible. He came from IBM too. I haven't run into anything that bad since; even my interns know a lot better. I'd suggest that if this is a routine problem for you, you might want to go find a team or job that has better programmers.
- angry_octet 8y agoI feel your pain. The worst part is that, when you push for some basic SE practices, the senior devs/researchera/PMs say (1) but we don't have the time to do planning/reviews/testing/mentoring, just look at the schedule, and (2) they don't want their own code to be subjected to review. I slid sideways away from that endless crunch / hero 10x coder / code solo project, but I need a proper new job too.
- holstvoogd 8y agoThere is no wrong, just different approaches! \s I think the biggest issue is not the offering of help (or requesting it ftm), but just timing and approach. I've notice, so this completely anecdotal, that if you make an appointment, albeit a 'hey, i noticed you are working on X, had some ideas, have some time to discuss/update me on that' or 'hey, i'm working on Y, could I run a few thing by you', ppl are much more open to a constructive dialogue.
- lucozade 8y ago> What if they are doing it wrong and I notice? Then offer to help. Even if this study was anything like statistically significant, all it would show is that you'd get less gratitude than if they asked for help. It doesn't look into outcomes other than gratitude. So, unless you're helping because you want praise, this study is irrelevant to you.
- xfitm3 8y agoLet people fail. This is an opportunity for growth.
- btschaegg 8y agoJust having suppressed a giant rant myself, let me ask you: how you would deal with people that don't seem all that interested in personal growth? I'd wager someone eager to improve their skills will often happily share their progress and code and be open for input. I don't think that's the kind of dev that triggered GP's rant :-)
- xfitm3 8y agoThat’s a tough situation. Let them fail and they should be put on a PIP. If an org fails to identify poor performers it’s difficult for me to trust their promotion criteria as well.
- kamaal 8y ago>>What if they are doing it wrong and I notice? You still do nothing. In these days of 'personal spaces' and talks of 'discomfort' and 'creepy behaviour'. Nothing is worth meddling with anything unless explicitly asked. Even then I would keep huge distance, even in emails and chat. This is also called 'Consent'.
- btschaegg 8y agoHowever, in non-silo non-enterprise situations, you're usually the guy who has to deal with the result without ever having given consent yourself... I don't think I myself would be greatly bothered by "crap" if I didn't have to deal with it constantly.
- kamaal 8y agoThat's easy to solve. You assign a task to someone, then say: You come back to me, as soon as you find it hard to move forward, ok? They screw up You should have come to me for help, like I advised you. Nevertheless, lets look at how you can solve your problem now
- jonathonf 8y ago> You should have come to me for help, like I advised you. Nevertheless, lets look at how you can solve your problem now So in the end you _still_ have to deal with the mess they made? And you further enable their behaviour by both making it your problem to solve and fixing it? This approach only works if the other person is interested in improving - and if they were, they would ask for help in the first place.