|
Volmarias posted:Based on what we've heard so far, no they don't. No, but they could imagine what it would be like.
|
# ? Jul 1, 2019 23:32 |
|
|
# ? May 13, 2024 02:53 |
|
Pollyanna posted:As far as I can tell, we are...not doing that? :screaming internally and also externally: Always version control the database, dear god. Version control the schema, sprocs, scheduled jobs, triggers, everything that has an effect on your live database, you version control it. You should propose this to your boss and get it started as soon as you can. I'm sure you don't need the benefits of version control enumerated; suffice it to say every last one of them applies to databases, and it's not hard to come up with a basic process for how you handle changes to your live system that start with source control.
|
# ? Jul 1, 2019 23:39 |
|
http://www.liquibase.org Just use that to dump the current dB schemas and then start adding changesets from this point on using your PR and source control process.
|
# ? Jul 2, 2019 00:05 |
|
Hollow Talk posted:I always genuinely want to believe that I can just hand things off and that it will be fine, but here I am, watching my co-worker fail at actually fixing a completely trivial problem that he supposedly fixed last week. Something on the database doesn't work because the user doesn't have permissions. I even copied the revelant error messages from the log to him. He "fixed" that problem, eventually. However, he didn't change permissions for any of the underlying tables, so while the error is somewhat different, the outcome is the same. He's sure he has fixed it. Pair programming. Try it.
|
# ? Jul 2, 2019 01:35 |
|
ultrafilter posted:People don't read things. It's sad but true. Are you discussing your changes with people before you submit the PR? If not, try that out and see if it makes a difference. Also, don't write essays inside PR's. Use comments as conversation starters, not extensive documentation. Giant walls of text obscure information, rather than convey it. Boil your message down to the most important parts.
|
# ? Jul 2, 2019 01:44 |
|
"future you will hate yourself for this ugly hack"
|
# ? Jul 2, 2019 02:30 |
|
Wibla posted:"future you will hate yourself for this ugly hack" If every commit has the same message what's the point
|
# ? Jul 2, 2019 03:01 |
|
Wibla posted:"future you will hate yourself for this ugly hack" Now, that being said, someone's gonna hate me for that hack in six months.
|
# ? Jul 2, 2019 04:01 |
|
That someone is, as always, you.
|
# ? Jul 2, 2019 04:19 |
|
Volmarias posted:That someone is, as always, you.
|
# ? Jul 2, 2019 04:28 |
|
Che Delilas posted::screaming internally and also externally: Not my team, I’ve just been told to do here work in order to unblock ours. God, am I not surprised they can’t do much at a time - this codebase and database is a nightmare. I’ll...let them know how bad it looks.
|
# ? Jul 2, 2019 04:36 |
|
Pollyanna posted:Not my team, I’ve just been told to do here work in order to unblock ours. God, am I not surprised they can’t do much at a time - this codebase and database is a nightmare. Unless you can get political capital to have changes made, you're just going to get people upset at you. Tread lightly.
|
# ? Jul 2, 2019 04:41 |
|
Yeah, I figured. Just smile and nod.
|
# ? Jul 2, 2019 04:43 |
|
PhantomOfTheCopier posted:You're basically screwed anyway because MySQL cannot rollback changes that you make. It's therefore impossible to release a tested change onto the production database (and also ignoring replication issues). You can try to fake it against staging systems, but given the potential for data drift you can't be certain of the outcome. Quick reminder that Postgres lets you use DDLs in transactions, so you can roll those back (except sequences).
|
# ? Jul 2, 2019 05:58 |
|
Goddamn, where do you keep finding these terrible jobs?
|
# ? Jul 2, 2019 09:24 |
|
Hollow Talk posted:Quick reminder that Postgres lets you use DDLs in transactions, so you can roll those back (except sequences). Or VACUUM! At a previous job someday gave me a cleanup job script to run in a massive database used for offline batch processing. This script ended with a VACUUM FULL. Our tooling automatically wrapped every SQL script run through it in a transaction block. This script ran for about 24 hours, hit the VACUUM FULL at the end, and rolled everything back, which took another 24 hours.
|
# ? Jul 2, 2019 12:55 |
|
Xarn posted:Goddamn, where do you keep finding these terrible jobs? Thankfully I’m not really the one that has to deal with that mess. I’m just taking over during the holiday week. But if they want to put me in that position permanently...hell naw.
|
# ? Jul 2, 2019 14:33 |
|
Hollow Talk posted:Quick reminder that Postgres lets you use DDLs in transactions, so you can roll those back (except sequences).
|
# ? Jul 2, 2019 14:40 |
|
Pollyanna posted:I’m glad that I have this job and all, but man is getting things done like pulling teeth. My fellow engineers absolutely hate doing code reviews and have to be goaded into looking at PRs, even though they put their own up and clamor for others to look at them. I’m pulling most of the weight on reviews and rarely get any attention in return until I ask for it.
|
# ? Jul 2, 2019 15:11 |
|
Pollyanna posted:Thankfully I’m not really the one that has to deal with that mess. I’m just taking over during the holiday week. But if they want to put me in that position permanently...hell naw. I originally made that post as a response to your normal day job
|
# ? Jul 2, 2019 15:57 |
|
Xarn posted:I originally made that post as a response to your normal day job
|
# ? Jul 2, 2019 16:25 |
|
PhantomOfTheCopier posted:"You were so inventive and effective during the holiday week, we'd like to schedule you half time with the database team for the rest of the year. This will be a great opportunity for you!" "Eh, no, I rather work on the stuff I was working before. Only when I feel like I truly mastered that would the time be right to move on." Worked for me so far.
|
# ? Jul 2, 2019 16:33 |
|
"We need team players who are fungible and invested in our goals of agile product development. Priorities have shifted after a recent meeting with customers, so (oldwork) had been put on hold until next year. It would be great if you could help out with (newwork) or spend some time bringing that team up to speed." Sorry I guess this is kinda bordering on a corporate thread post, but as a matter of fact I'm in a team that just used kanban to do this, namely setting everything to priority zero unless it's in the special list. This is both not agile, because it's not able to address incoming requests, nor is it good waterfall, because it refuses to acknowledge known limitations that must be addressed incrementally over the next 18mo. No :snip: yet. They have until about August.
|
# ? Jul 2, 2019 17:11 |
|
So I’m a dipshit and what’s actually happening for queries is that they’re supposed to be saved to a directory and declared as query procedures by some homegrown SQL parser that does file scanning/loading magic to modularize them. Still weird, but not “we have no version control” weird. No idea about the tables tho.Vulture Culture posted:I'm writing a fiveish-part blog series on implementing code reviews inside an org that's never done them effectively. Can we chat about your experiences at some point? If you’re prepared to hear about the magical world of PR parties, sure
|
# ? Jul 2, 2019 22:46 |
|
Pollyanna posted:If you’re prepared to hear about the magical world of PR parties, sure
|
# ? Jul 3, 2019 12:36 |
|
“It doesn’t matter what work you do, all that matters is that you finish the work you committed to.” Because they figured out that was a metric that could easily be measured so now it is all that matters.
|
# ? Jul 11, 2019 00:12 |
|
smackfu posted:“It doesn’t matter what work you do, all that matters is that you finish the work we committed you to.”
|
# ? Jul 11, 2019 00:22 |
|
This is why we don't commit, we estimate.
|
# ? Jul 11, 2019 03:07 |
|
If you have product owners who understand the difference between an estimate and a commitment, never leave your job.
|
# ? Jul 11, 2019 03:45 |
|
ultrafilter posted:If you have product owners who understand the difference between an estimate and a commitment, never leave your job. Also beg them to take you with them when they leave.
|
# ? Jul 11, 2019 04:30 |
|
ultrafilter posted:If you have product owners who understand the difference between an estimate and a commitment, never leave your job. Commitment was "estimate - 1d6", right?!
|
# ? Jul 11, 2019 20:10 |
|
I am told by peers still employed at my old employer that PI planning was yesterday and today, and the team I left failed to meet any (with me staying on the team, still very unlikely) commitments. God, I'm glad I got out before whatever "we're disappointed in your team's performance (and we won't admit it's because we gave you your project last-minute)" bullshit went on.
|
# ? Jul 11, 2019 20:56 |
|
So we've got some unit tests that run that ensure we stick to naming standards on our entity properties on the DAL, I just noticed one of the devs checked in his recent DAL work circumventing these tests by altering the namespace on his entities so the unit tests wouldn't check them as they grab from a namespace where the entities are stored and it appears he deliberately altered the namespace on each of his newly added entities. Now I would have believed this was just a common error if he had been working on one new entity but his work involved 10. This just seems sneaky and I've never had to deal with a dev trying to do something deliberately like this, just looking for advice on how to deal with the situation.
|
# ? Jul 11, 2019 22:14 |
|
Meet with them in private and let them know you noticed and that it's a nice trick
|
# ? Jul 11, 2019 22:19 |
|
Are you sure his IDE or something didn’t just give him a default namespace when he CTRL+N ‘ed and he didn’t know about the standards?
|
# ? Jul 11, 2019 22:24 |
|
Eggnogium posted:Are you sure his IDE or something didn’t just give him a default namespace when he CTRL+N ‘ed and he didn’t know about the standards? The namespace difference is this Normal Namespace: CompanyName.ProductName.Entities His Namespaces: DataCompanyName.ProductName.Entities If it was a completely different namespace in all of them I'd believe maybe a plug in might have named them all differently but this is just a word tacked onto the front of all the namespaces and we're all using Visual Studio any ways. And all the namespaces on classes outside of these entities are correctly named as well. Le Saboteur fucked around with this message at 22:35 on Jul 11, 2019 |
# ? Jul 11, 2019 22:31 |
|
Your supervisor might have some good advice on how to handle it. I'd pull down the dev's changes and run the test manually with the corrected namespace names. If the tests fail afterwards, you'll know for sure that he was circumventing the tests, which is probably a no-no - and then your supervisor should definitely know. Also, do you have a code review process, or do devs have free reign to check in? A PR would be a great place to implement auto-running of the tests, assuming it's possible and reasonable for your company. If nothing else, a PR would have given you a great platform to point out the namespace difference without it being awkward.
|
# ? Jul 11, 2019 23:21 |
|
Protocol7 posted:Your supervisor might have some good advice on how to handle it. I'd pull down the dev's changes and run the test manually with the corrected namespace names. If the tests fail afterwards, you'll know for sure that he was circumventing the tests, which is probably a no-no - and then your supervisor should definitely know. We do, this was just missed in what was quite a large PR and since the namespace being the way it is circumvented the unit test run that occurs before a PR is committed. I didn't realize the issue until I was doing some work with the entities and noticed the namespaces were off and was like oh just an innocent mistake and corrected them and then ran the tests and got a bunch of failing tests locally. And then I looked closer at what the namespaces were before I fixed them and realized something was fishy.
|
# ? Jul 11, 2019 23:27 |
|
Le Saboteur posted:We do, this was just missed in what was quite a large PR and since the namespace being the way it is circumvented the unit test run that occurs before a PR is committed. I didn't realize the issue until I was doing some work with the entities and noticed the namespaces were off and was like oh just an innocent mistake and corrected them and then ran the tests and got a bunch of failing tests locally. And then I looked closer at what the namespaces were before I fixed them and realized something was fishy. Sounds pretty sketchy but I've always found it best to go in with a fact-finding attitude first rather than a blame-y one. It could be that this dev didn't realize how the test suite used the namespace and didn't realize his tests weren't running. It's unlikely but it could happen. I would probably explain to them what you found and see what they had to say - if you can truly keep your tone neutral and curious they are more likely to confess why they did it honestly. If it was an actual mistake they will probably be contrite and you can ask them to fix the failures or pair with you to fix them. If they meant to do it, they will probably have tons to say about how tests suck, etc, because every lovely dev I've ever met has not been able to keep it to themselves. Either way, they know you noticed and are not willing to ignore it, which is enough to keep most people in line. But if they are stupid enough to admit it and take some kind of anti-test position, then you have an actual issue you can escalate.
|
# ? Jul 12, 2019 01:19 |
|
|
# ? May 13, 2024 02:53 |
|
Le Saboteur posted:We do, this was just missed in what was quite a large PR and since the namespace being the way it is circumvented the unit test run that occurs before a PR is committed. I didn't realize the issue until I was doing some work with the entities and noticed the namespaces were off and was like oh just an innocent mistake and corrected them and then ran the tests and got a bunch of failing tests locally. And then I looked closer at what the namespaces were before I fixed them and realized something was fishy. If you are using git do a reset author and commit a rename
|
# ? Jul 12, 2019 02:39 |