|
Maluco Marinero posted:On the other hand, mentorship and some degree of pairing can mean the mentor can decide when it's of value to you to find the solution, or save you some time straight up. I know the code base but I'm not telepathic and even a 5 minute question could probably go smoother if we look at the same thing.
|
# ? Aug 12, 2017 16:12 |
|
|
# ? May 20, 2024 00:46 |
|
Ghost of Reagan Past posted:Not just this, but I for one (I can't be alone) get frustrated by people that actively avoid other forms of communication. Instead of looking at 50 line blocks of code in Slack, you could just share your screen, or if you're in the same physical space as me, just give me a bit to finish what I'm doing to come over there and help you. This only goes so far when the other person decided to hang out in Maine for the week and their internet is nearly non-existent.
|
# ? Aug 12, 2017 16:30 |
|
Pollyanna posted:This only goes so far when the other person decided to hang out in Maine for the week and their internet is nearly non-existent. That means the person is out of the office and not available to work. Relying on folks when they're not working is just setting yourself up for failure. Also, I'm also a tech lead (although it seems the new term is slowly becoming an engineering manager? who knows). There's definitely a careful balance of asking questions versus self education: 1. Identify the problem and rubber duck the question. 2. Google it if isn't domain specific (as opposed to general knowledge) 3. Look around for other examples of what you're trying to do already in the existing code base (timebox it to ~5 minutes) 4. Then ask for help in whatever instant communication platform you use but don't demand an answer initially. Adequately write out what you're trying to do, the problem you're experiencing, and the steps you've already taken to get to this point where the next best thing is for someone else to help you out. 5. All the while while waiting for a response (people are busy, in meetings, lunch etc) keep working on it. There's nothing more frustrating than someone waiting around, expecting help. Of course there's pairing, but unless your team is properly set up and structured to allow for a fair amount of pair programming, it's hard to rely on it for folks to get their help. I tend to suggest pairing for when dealing with more intricate or tougher problems that you know more than one set of eyes on at the start will really help in the long run. Now, when newer, especially junior, engineers join the team, pairing should be part of their onboarding program. Because everyone has one of those clearly laid out, right??? Self sufficiency is so so valuable to an engineer's career.
|
# ? Aug 12, 2017 16:41 |
|
Doh004 posted:That means the person is out of the office and not available to work. Relying on folks when they're not working is just setting yourself up for failure. No, they're in, and said they'd be available - just that they didn't respond until hours later.
|
# ? Aug 12, 2017 16:56 |
|
Pollyanna posted:No, they're in, and said they'd be available - just that they didn't respond until hours later. Well then that's unacceptable and not behavior that should be tolerated. Sounds like they want to get away with not being out while also taking a vacation.
|
# ? Aug 12, 2017 18:28 |
|
Yeah, if you're expected to be available to your coworkers and you decide to work remotely in a place you can't be available, people have a good case for you being dishonest. It's another matter if you tell your team, "I have to work remotely today and the cable company is messing around with some utility poles, so my connection might drop." At least then everybody knows you're going to be 50% available or 25% available or whatever. When I got laid off from my last job, they took the rest of my team away from my former PO, who works from home and had been PO for two teams until that point. So she was used to getting her work done for two teams at once and suddenly found herself with just the one. She sent HipChat notifications to her phone and painted her kid's bedroom during the time she would have spent with our old team. I was so proud when she told me!
|
# ? Aug 12, 2017 19:09 |
|
One of our clients has real production customer data in their dev/sandbox environment and it's giving me the willies. No credit cards or anything like that, but plenty of names, emails, mobiles, addresses, purchase details etc. Given security on dev environments tends to be a bit crappy what with maybe not so much security around usernames/passwords, 'test' admin accounts, sharing backups on shared drives, all the other integration points that might not be locked down etc...is this worth making a fuss over, or if they say 'oh yeah its secure dont worry' do we leave it at that?
|
# ? Aug 15, 2017 11:45 |
|
toiletbrush posted:One of our clients has real production customer data in their dev/sandbox environment and it's giving me the willies. No credit cards or anything like that, but plenty of names, emails, mobiles, addresses, purchase details etc. Given security on dev environments tends to be a bit crappy what with maybe not so much security around usernames/passwords, 'test' admin accounts, sharing backups on shared drives, all the other integration points that might not be locked down etc...is this worth making a fuss over, or if they say 'oh yeah its secure dont worry' do we leave it at that? Is there someone who would be fired if it leaked? Tell them.
|
# ? Aug 15, 2017 12:13 |
|
toiletbrush posted:One of our clients has real production customer data in their dev/sandbox environment and it's giving me the willies. No credit cards or anything like that, but plenty of names, emails, mobiles, addresses, purchase details etc. Given security on dev environments tends to be a bit crappy what with maybe not so much security around usernames/passwords, 'test' admin accounts, sharing backups on shared drives, all the other integration points that might not be locked down etc...is this worth making a fuss over, or if they say 'oh yeah its secure dont worry' do we leave it at that? Brain Candy posted:Is there someone who would be fired if it leaked? Tell them. Yeah PII is a big deal, and there probably isn't a good reason for people to peruse it in dev. Even more so if you know any of them are children.
|
# ? Aug 15, 2017 12:49 |
|
Brain Candy posted:Is there someone who would be fired if it leaked? Tell them.
|
# ? Aug 15, 2017 13:25 |
|
PII is never a big deal until it actually leaks and then OH NO HOW COULD THIS HAPPEN??? Well, here's your free year of credit monitoring! It's doubtful there's much you can do here, unfortunately.
|
# ? Aug 15, 2017 13:29 |
|
toiletbrush posted:Yeah, it would be pretty catastrophic. I've already told them but not getting much feedback, I'm just wondering how much I should push my concern. My wording was very careful. If there's no 'them' that will suffer direct, personal, consequences your options are 'do nothing' 'do something, be ignored, be marked as a complainer', 'leave', 'leave and burn the bridges' You've chosen the second option, which will make you feel a little better, but otherwise won't work.
|
# ? Aug 15, 2017 13:34 |
|
People will resent you for caring about things you aren't paid to care about. I'm sure you can think of at least one bossy coworker who everyone holds in quiet contempt because they act above their role. You are currently that person, regardless of whether that's just.
|
# ? Aug 15, 2017 13:38 |
|
Privately tell the person who has the PII on their machine to delete it and be more hygienic. I handle that stuff like toxic waste on the unfortunate occasion that I have to, because it is dangerous to possess. Alternatively, remind the whole team without naming names. If they refuse, that's when you go over their head, because that's when it stopped being a matter of carelessness or convenience. The problem is probably not with the person having the data, but with the process that makes it possible for the person to have it. So be careful how you frame it. It does neither you nor the persons identified by the information no favors to put anyone on the defensive. Although too few people pay developers to care about security, we ought to care anyway as a matter of professional ethics.
|
# ? Aug 15, 2017 16:10 |
|
Bongo Bill posted:Privately tell the person who has the PII on their machine to delete it and be more hygienic. I handle that stuff like toxic waste on the unfortunate occasion that I have to, because it is dangerous to possess. Alternatively, remind the whole team without naming names. If they refuse, that's when you go over their head, because that's when it stopped being a matter of carelessness or convenience. toiletbrush posted:One of our clients I'm doubtful that toiletbrush's management will take a principled stand to drop a customer that's doing something dumb but which won't come back to bite toiletbrush or his company directly.
|
# ? Aug 15, 2017 16:20 |
|
Still gotta try.
|
# ? Aug 15, 2017 16:24 |
|
What are y’alls reporting structures like? Our CTO is stepping down to focus on founding a company and the CPO and CEO re-orged us into reporting to product owners who have full HR control and then the product managers report to the CPO. I haven’t worked in an organization where there is an absence of an engineering leadership path.
Dirk Pitt fucked around with this message at 11:37 on Aug 16, 2017 |
# ? Aug 16, 2017 11:28 |
|
Dirk Pitt posted:What are y’alls reporting structures like? Our CTO is stepping down to focus on founding a company and the CPO and CEO re-orged us into reporting to product owners who have full HR control and then the product managers report to the CPO. I haven’t worked in an organization where there is an absence of an engineering leadership path. Company 1: Highly technical manager (writing code daily), non-technical skip-level who had a lot of trust in the engineers. The "product owner" role was mostly a joke, but the PMs were competent. A good experience; I left for reasons outside their control. Company 2: CTO was a great person but a mostly-absent manager. In reality, the PM team managed engineering while the company searched for a VP of engineering (and repeatedly failed to find one). CEO did not trust the engineers and I left because that sucked. Company 3: Highly technical manager (writing code most weeks), non-technical skip-level who has a lot of trust in the engineers. Skip-level is also the product owner. PM team is mostly absent. I worry about our lack of dedicated PM, but otherwise things are great. I don't think that having a non-technical boss is a problem in and of itself, but I would worry that it's a symptom of not believing that engineers can be effective managers.
|
# ? Aug 16, 2017 17:49 |
|
Dirk Pitt posted:What are y’alls reporting structures like? Our CTO is stepping down to focus on founding a company and the CPO and CEO re-orged us into reporting to product owners who have full HR control and then the product managers report to the CPO. I haven’t worked in an organization where there is an absence of an engineering leadership path. I've been told that having devs report to the product owner is Very Not Good, but I've never quite understood why.
|
# ? Aug 17, 2017 02:43 |
|
lifg posted:I've been told that having devs report to the product owner is Very Not Good, but I've never quite understood why. Scope creep is probably a potential issue there. I work for a consulting company and was sent to a client to build an app for them solo and I reported to the product owner and yeah there was a bit of scope creep but overall it was the most pleasant working environment I've ever experienced because I was seated with all of the people in the HR department instead of being with a bunch of other developers and IT guys. It's much nicer to have people who you spend time with every day not be socially awkward freaks.
|
# ? Aug 17, 2017 02:48 |
|
lifg posted:I've been told that having devs report to the product owner is Very Not Good, but I've never quite understood why. It's probably an effect of having problem givers (product owners) in direct contact with problem solvers (developers) who forget to tame expectations with costing/estimates. It's easy to think anything is possible if you discuss possibilities with someone's who has the technical ability, but if they're inexperienced that discussion goes off the rails of what's possible for the project to what's possible given no budget or time constraints. edit: I don't believe there's in any reason this HAS to be the case though, I run a dev shop with one other person, so we're constantly in direct contact with the product owner, but obviously it's always in our best interest to match expectations to time spent, because even when we collaborate on larger studio projects, the money constraint always falls hardest on the dev team. We come last so an overrun in design with higher execution costs is guaranteed to knock on to our budget. Maluco Marinero fucked around with this message at 03:09 on Aug 17, 2017 |
# ? Aug 17, 2017 03:07 |
|
lifg posted:I've been told that having devs report to the product owner is Very Not Good, but I've never quite understood why. I’m having a hard time seeing how a product manager can provide performance reviews and mentor younger developers. It could work, I just can’t see it right now.
|
# ? Aug 17, 2017 09:10 |
|
lifg posted:I've been told that having devs report to the product owner is Very Not Good, but I've never quite understood why. These days we have a technically proficient PM who has total trust in us, and a domain expert who is sort of both product owner and business analyst, and beyond that we have the trust of the business as a whole and are pretty much autonomous. It's def got it's flaws, but its easily the best working environment I've been in.
|
# ? Aug 17, 2017 10:40 |
|
Dirk Pitt posted:I’m having a hard time seeing how a product manager can provide performance reviews and mentor younger developers. It could work, I just can’t see it right now.
|
# ? Aug 17, 2017 15:28 |
|
I'm a lead now, and even before I was I was the most Sr dev, and even insulating myself from product owners was a thing. I have to be real deliberate about telling them to take it to my manager or submit it to support@mycompany.com and then we can get it in the pipeline and setting boundaries. It's cool to listen to product stuff, but don't do poo poo about it, don't even give an estimate really, until it flows through our process.
|
# ? Aug 17, 2017 15:59 |
|
In my experience there needs to be an engineering lead to provide balance/friction/whatever to the product manager. Product managers are much too eager to declare a prototype as the final, ready-to-sell final product. The engineering lead needs to ensure that the software isn't a piece of poo poo, that it is well tested, well reviewed, that it scales, that you can monitor and operate it, that time is allocated to reduce tech debt, that timelines aren't ridiculous, yadda yadda. Ideally the pm and engineering lead roles are a partnership that balance each other out regarding speed of feature delivery vs good engineering practices.
|
# ? Aug 18, 2017 01:47 |
|
So, uh, what does one do when one has to work with a dev with poor taste? Especially when he insists on 'correcting' you with his lovely way of doing things. For example, I check in something like this code:
code:
He also at one point (just before I started working for the company 5 years ago apparently) convinced the rest of the team that a good rule would be to not allow header files to include other header files. Mind you they could still depend on other headers, just not include them. I don't know wtf line of reasoning he used to make his argument. I refused to follow that rule and to this day we basically have to copy/paste #include sections in C files from that era because the headers have to be included in-order. I don't think I really expect an answer. I'm mostly just venting a bit, but the next 3 weeks or so is really going to suck especially since our lead is on vacation for that long and there's a bit of a power vacuum. We're also in the middle of moving to a new platform so I'm trying to undo all this lovely reasoning before the code for the new platform is mostly set. I have a feeling he's going to fight me tooth and nail about it though. Colonel Taint fucked around with this message at 03:23 on Aug 18, 2017 |
# ? Aug 18, 2017 02:27 |
|
That feels like one of those things that only gets resolved by either bikeshedding an agreed style or getting someone up above to set the style in stone. I mean, it's a pretty easy pattern to codify. Guard clauses ensuring early return followed by a happy path without excessive indentation feels far more readable as a style, but unless you can convince him of that you need to figure out a way to get the style choice codified to refer to.
|
# ? Aug 18, 2017 04:36 |
|
Rewrite it with gotos or with nested functions then randomly reorder the functions within the file Keep doing that until they drop SPoR from the style guide because it's bad
|
# ? Aug 18, 2017 15:16 |
|
New job taking multiple days to grant access to git / jira and slack is a little concerning.
|
# ? Aug 18, 2017 16:40 |
|
Munkeymon posted:Rewrite it with gotos or with nested functions then randomly reorder the functions within the file Goto has actually worked out well for me in the past for early return, especially when there is cleanup involved after an error - though even still, there's usually a normal return, then the label right after it to do the error handling stuff, so that's still not SPoR. Could make it fun and have a goto jump over the error handling stuff I guess. I actually can't find the style guidelines anywhere atm - probably nobody's looked at them in years - should make things interesting. Thinking about it though, I'm pretty sure there's a rule about max level of indendation somewhere in there so I might be able to call him out on that. I had to help him solve an unrelated issue earlier this morning and glanced some code indented about 2/3s into the width of his fairly wide editor vvv I basically agree, but management is away for 3 weeks and this dude is in the same cube so I'm trying my best to keep things civil. Colonel Taint fucked around with this message at 18:32 on Aug 18, 2017 |
# ? Aug 18, 2017 17:56 |
|
Any engineer rewriting another engineer's code without talking to them about it is a bad management smell. I wouldn't tolerate it in any organization I managed. The specifics aren't important. The point is that you have someone in your organization who has control issues, who feels the need to own everything of no consequence. They're unwilling to take their case about code style to you, so they're passive-aggressively redoing your work in the hopes that you'll be the one to bring the conversation or, even better, not bring the conversation. You're wasting your time trying to make this about consistent style. This isn't about consistency to this engineer -- it's about control, and management needs to be involved in the situation to tell this guy to knock it the gently caress off.
Vulture Culture fucked around with this message at 18:25 on Aug 18, 2017 |
# ? Aug 18, 2017 18:22 |
|
Vulture Culture posted:Any engineer rewriting another engineer's code without talking to them about it is a bad management smell. also, I hate early return statements. We've gotten rid of them in our codebase. So I agree with the other guy hehehehe But he should have talked to you about it
|
# ? Aug 18, 2017 19:25 |
|
Please use a tool (like Github, BitBucket etc) that allows for Pull Requests and the ability to comment on them. If I had someone just going around changing code I was trying to get merged in I'd be pissed.
|
# ? Aug 18, 2017 19:39 |
|
Well we use TFVC which all said isn't too bad. We only have one branch though because it's a small team and I'm basically the only one under 50 working on this project. The olds won't be arsed to learn any of that high falutin' branching and merging. Nevermind code reviews. If it's in the tree and it doesn't break any builds, people typically won't say anything. It actually works out OK most of the time - our old platform is pretty well segregated and there are rarely merge conflicts, but bringing up the new platform there are a few areas of contention (and I'm trying to stop bad habits from being carried over from the old platform).
|
# ? Aug 18, 2017 21:12 |
|
KoRMaK posted:Yep I had a postmortem after a job interview for a job I didnt get, and the HR rep said explicitly that my lack of early return statements was a deal breaker. Whats the case for/against?
|
# ? Aug 19, 2017 08:23 |
meatbag posted:I had a postmortem after a job interview for a job I didnt get, and the HR rep said explicitly that my lack of early return statements was a deal breaker. Wait seriously? You were turned away because of stylesheet issues? Sounds like a bullet dodged rather than a job missed.
|
|
# ? Aug 19, 2017 12:06 |
|
a foolish pianist posted:Wait seriously? You were turned away because of stylesheet issues? I was suppose to improve a Java method actually. But yeah, the other task was to draw a coat of arms representing myself. Weird place, but huge.
|
# ? Aug 19, 2017 12:27 |
|
meatbag posted:But yeah, the other task was to draw a coat of arms representing myself. Colonel Taint posted:our old platform is pretty well segregated
|
# ? Aug 19, 2017 16:05 |
|
|
# ? May 20, 2024 00:46 |
|
meatbag posted:I had a postmortem after a job interview for a job I didnt get, and the HR rep said explicitly that my lack of early return statements was a deal breaker. That's a really weak reason. And taht could be easily fixed by the company saying, "we use them because of reasons x, y, z and you probably would have been "fair enough" in response. I'm kind of half and half. I like early return statements when I'm simply modifying (when necessary) or using an object so I can do something like: code:
code:
But I generally dislike multiple return points as well. I think multiple return points allows very sloppy coding to occur. I think if there are more than 2 possibilities, then the method could be broken down a bit more.
|
# ? Aug 19, 2017 19:07 |