Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
necrobobsledder
Mar 21, 2005
Lay down your soul to the gods rock 'n roll
Nap Ghost
You can’t expect everyone to know the OSI model exactly, but smarter people with sufficient relevant contextual experience can infer certain parts of the stack and filter out irrelevant information for a problem with less direct knowledge. Network engineers typically troubleshoot very much bottom up while things are a bit more complicated once application logic shows up, but the network guys are the ones that will realize that your SQL query getting slow at 1420 characters means there’s a TCP fragmentation / MTU / MSS issue first, not your byte array allocated for the query needing to be resized (actual troubleshooting call I was invited to with 4 companies involved).

Adbot
ADBOT LOVES YOU

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

necrobobsledder posted:

You can’t expect everyone to know the OSI model exactly, but smarter people with sufficient relevant contextual experience can infer certain parts of the stack and filter out irrelevant information for a problem with less direct knowledge. Network engineers typically troubleshoot very much bottom up while things are a bit more complicated once application logic shows up, but the network guys are the ones that will realize that your SQL query getting slow at 1420 characters means there’s a TCP fragmentation / MTU / MSS issue first, not your byte array allocated for the query needing to be resized (actual troubleshooting call I was invited to with 4 companies involved).

How in the world would you have a query whose 4 company conference call is caused by being split over several packets instead of the 1420+ characters query? How would the size of the query not be the dominant cost here?

RadiRoot
Feb 3, 2007

rt4 posted:

Do they expect you to have an external build process for the frontend or something?

I believe so though I have no idea what that entails, I'm basically stuck only compiling locally. Committing /dist/ is bad right, probably wouldn't work either. I picked the wrong project to learn this poo poo on.

necrobobsledder
Mar 21, 2005
Lay down your soul to the gods rock 'n roll
Nap Ghost

Volmarias posted:

How in the world would you have a query whose 4 company conference call is caused by being split over several packets instead of the 1420+ characters query? How would the size of the query not be the dominant cost here?
Packet fragmentation was occurring and across three different network boundaries we had three datacenter / cloud vendors that all were all saying the developer’s code was bad and that he needs to drop below 9k to stay within internal network MTU (and being supremely lazy about this problem I’ll add). I got on, asked the developer to try to get the original query under 1500 characters but with roughly the same query plan. That didn’t work so easy so I said to just pad out a select 1; query to 1500 total characters, try that, and then subtract 100 spaces, try again. Query instantly ran once under 1420 characters and the packets were seen across different network segments. It wound up being a site to site VPN link silently dropping any packet over 1420 because it didn’t support packet fragmentation at all, so some other route got picked up as a failover, and this took like 5 seconds. I told the developer to write some tests to make sure his ORM doesn’t emit queries beyond a certain length because this won’t be fixed for possibly years.

I hate being an enterprise network engineer when I just want to get my code to work in prod.

lifg
Dec 4, 2000
<this tag left blank>
Muldoon
Whatever you're being paid, you deserve a raise.

Lord Of Texas
Dec 26, 2006

ChickenWing posted:

I will forever maintain that IT/SD is just knowing how to google better than everyone you work with

It's a huge part of it and we shouldn't undersell ourselves because "lol just Google it." We're knowledge workers, and Googling/stack overflowing is the main portal to the world's knowledge of software development.

People inexperienced in certain areas of software won't even be able to form the right search terms, and even if they do, like another poster mentioned, they won't be able to filter out junk info (of which there is a TON, even in highly voted Stack Overflow answers) from good info.

Space Gopher
Jul 31, 2006

BLITHERING IDIOT AND HARDCORE DURIAN APOLOGIST. LET ME TELL YOU WHY THIS SHIT DON'T STINK EVEN THOUGH WE ALL KNOW IT DOES BECAUSE I'M SUPER CULTURED.

Radirot posted:

I believe so though I have no idea what that entails, I'm basically stuck only compiling locally. Committing /dist/ is bad right, probably wouldn't work either. I picked the wrong project to learn this poo poo on.

That's normal if you don't have a build server. Webpack's job is to turn development-friendly JS (with split-out dependencies, friendly variable names, comments, etc) into deployment-friendly JS (with everything minified and dependencies jammed into big, easily cacheable files). You take the output and deploy it yourself - or, if you've got the infrastructure, pass it as an input into your deploy script. You don't check it into source control any more than you'd check a compiled binary in there.

What were you expecting it to do? There might be another tool that's better suited to your needs.

PhantomOfTheCopier
Aug 13, 2008

Pikabooze!

necrobobsledder posted:

Packet fragmentation... :words:
This definitely used to be a much larger problem. The MTU is rarely the problem; it's what happens when you cross a boundary into a network with a different MTU.

Keeping queries under 1400 bytes is going to be tough for most programmers. They probably don't even know what a query is since they've been stuffing everything into an ORM library their entire career.

The customer I remember claiming networking problems, that started collecting tons of metrics so they could get our engineers to waste weeks: They were convinced the troubles were caused by TCP retransmissions.

spiritual bypass
Feb 19, 2008

Grimey Drawer

Radirot posted:

I believe so though I have no idea what that entails, I'm basically stuck only compiling locally. Committing /dist/ is bad right, probably wouldn't work either. I picked the wrong project to learn this poo poo on.

Eh, sounds like the problem is the host rather then you or the project. Normally, you'd just commit exactly what you need to run the build process, then a build environment runs your build script and packages up your application and ships it to the server(s)

RadiRoot
Feb 3, 2007

Space Gopher posted:

You take the output and deploy it yourself

This is where I'm stuck. There's probably some smart way of doing it but my limited server knowledge says just ftp the newest /dist/ folder or something. WPengine is sandboxed to just wp-cli I think (sandbox is the term? ugh).

Depending on jquery really hosed up my ability to learn vanilla js so I've been getting better at using just ES6 stuff for now and webpack seemed like a cool way to take it further. Eventually I want to try React since my coworker has been using it for our latest projects and I feel like there's a million things to catch up on. If this becomes the expected job workflow in the short term then I'm basically hosed.

the heat goes wrong
Dec 31, 2005
I´m watching you...
Check WPEngine admin. Instead of FTP, you can use its "git push" option to deploy the files.
Probably can use github/gitlab hooks to automate your deploy. After committing, it would compile your code, and then push to WPEngine.

E; check if you have wp-cli access. Depending on your package, you might not have it.

Wallet
Jun 19, 2006

Lord Of Texas posted:

It's a huge part of it and we shouldn't undersell ourselves because "lol just Google it." We're knowledge workers, and Googling/stack overflowing is the main portal to the world's knowledge of software development.

People inexperienced in certain areas of software won't even be able to form the right search terms, and even if they do, like another poster mentioned, they won't be able to filter out junk info (of which there is a TON, even in highly voted Stack Overflow answers) from good info.

That's a piece of it, but I think there's a more fundamental underestimated ability to process information, fit it within a conceptual framework, and apply it to novel problems. I work with a lot of people who are either terrible at or just dislike learning new things (either way the result is the same). I also work with a lot of people who respond to situations where they don't immediately know the answer by looking for the exit instead of digging deeper.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...



lifg posted:

Whatever you're being paid, you deserve a raise.

Dumlefudge
Feb 25, 2013

Radirot posted:

This is where I'm stuck. There's probably some smart way of doing it but my limited server knowledge says just ftp the newest /dist/ folder or something. WPengine is sandboxed to just wp-cli I think (sandbox is the term? ugh).

Depending on jquery really hosed up my ability to learn vanilla js so I've been getting better at using just ES6 stuff for now and webpack seemed like a cool way to take it further. Eventually I want to try React since my coworker has been using it for our latest projects and I feel like there's a million things to catch up on. If this becomes the expected job workflow in the short term then I'm basically hosed.

Looking at the user portal for my account, there is an "SFTP Users" section, so I don't think the sandboxing would stop you there. Git push is another option, as the heat was wrong suggested, although I'm not sure what the best practice would be re: committing build artifacts like the dist/ folder.

Pedestrian Xing
Jul 19, 2007

You are a dev having problems checking out the feature branch on your local Git repository. Do you:
A. Create a personal branch off feature, work there, and merge your changes to feature
B. Delete your local repo and clone a new copy
C. Ask another dev for help
D. Revert the branch to 20 commits ago and force push it

Munkeymon
Aug 14, 2003

Motherfucker's got an
armor-piercing crowbar! Rigoddamndicu𝜆ous.



D is the obvious power move

ChickenWing
Jul 22, 2010

:v:

holy gently caress stab that guy

Volguus
Mar 3, 2009

Pedestrian Xing posted:

You are a dev having problems checking out the feature branch on your local Git repository. Do you:
A. Create a personal branch off feature, work there, and merge your changes to feature
B. Delete your local repo and clone a new copy
C. Ask another dev for help
D. Revert the branch to 20 commits ago and force push it

The obvious horror is that force pushing is allowed. You made your bed, now sleep in it.

Hughlander
May 11, 2005

Volguus posted:

The obvious horror is that force pushing is allowed. You made your bed, now sleep in it.

Pretty much this. But even then sleeping in it is a git reflog and force commit so it’s not like it’s much of a detriment other than someone has to sweep up the mess.

Pedestrian Xing
Jul 19, 2007

Volguus posted:

The obvious horror is that force pushing is allowed. You made your bed, now sleep in it.

The pre-commit checker doesn't stop this but it does stop me from pushing anyone else's commits so I can't even restore all the missing work. This is a recurring issue with a few developers. Nothing like coming in in the morning and seeing a week's worth of work gone.

Lord Of Texas
Dec 26, 2006

Wallet posted:

That's a piece of it, but I think there's a more fundamental underestimated ability to process information, fit it within a conceptual framework, and apply it to novel problems. I work with a lot of people who are either terrible at or just dislike learning new things (either way the result is the same). I also work with a lot of people who respond to situations where they don't immediately know the answer by looking for the exit instead of digging deeper.

Very true. There is an emotional component to this as well, you have to be willing to feel stupid and lost while troubleshooting.

necrobobsledder
Mar 21, 2005
Lay down your soul to the gods rock 'n roll
Nap Ghost
I’ve accidentally force pushed to a shared branch because I was in the “can force push to master” users. Thankfully I didn’t regularly gc and was able to recover from the reflog but our Jenkins jobs went nuts for a while and I had to clean up our environments as code from a month ago was pushed to our dev and staging environments. This is why production pushes should always be tag-based rather than HEAD based at smaller scale of teams where ACLs can be pretty loose.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

Pedestrian Xing posted:

The pre-commit checker doesn't stop this but it does stop me from pushing anyone else's commits so I can't even restore all the missing work. This is a recurring issue with a few developers. Nothing like coming in in the morning and seeing a week's worth of work gone.

Fix your server and fix your management.

sunaurus
Feb 13, 2012

Oh great, another bookah.
When I joined my current team, the established practice was that whenever you commit, you ALWAYS amend to the first commit in your branch and force push. The goal was keeping a clean history, it seems they had never considered just squashing before merge. I guess it worked most of the time, because when reviewing code on gitlab, you can view diffs even between force pushes, but in my first few months working there, I saw people losing some work because of force pushing the wrong thing more times than I had ever seen it happen in all my previous teams put together. Thankfully, most of that work was recoverable.

This also has created a weird culture in my team where PRs are kept really small, because people aren't used to splitting their work into separate logical commits. I agree that having a single mega-commit is hard to review, but in my opinion, spreading features over multiple tiny PRs which depend on each other is definitely not the correct alternative.

Edit: Also, I told people to stop force pushing by default, and I now realized that one dev landed on a strategy of just making tens of commits with the exact same commit message, which is just the name of his branch. Haven't had a chance to talk to him about it yet. I guess it's nice that he's not force pushing anymore, though.

sunaurus fucked around with this message at 17:42 on Jul 25, 2019

RadiRoot
Feb 3, 2007
Small rant but our lead designer has a chip on their shoulder and it's getting annoying. The ratio of designers to devs is 3:1 and yet none of them have a solid grasp on UX. Designer shared a thing about parallax scrolling as some bold new thing and a new dev gave it a thumbs down on Slack nonchalantly, and everyone is rushing in to shame him about having to stay positive. I've given up on questioning the design decisions since they mostly keep us out of them anyway.

JawnV6
Jul 4, 2004

So hot ...

Radirot posted:

Small rant but our lead designer has a chip on their shoulder and it's getting annoying. The ratio of designers to devs is 3:1 and yet none of them have a solid grasp on UX. Designer shared a thing about parallax scrolling as some bold new thing and a new dev gave it a thumbs down on Slack nonchalantly, and everyone is rushing in to shame him about having to stay positive. I've given up on questioning the design decisions since they mostly keep us out of them anyway.

There are product development phases where it's inappropriate to be negative, even if the negativity is "this is categorically impossible and we should not waste further time discussing it." Brainstorming is an easy example, you want to keep the tone up and keep throwing ideas around, shutting down avenues before they're fully explored might close off a good idea that had an impossible one as a stepping stone. Developers, as a group, are particularly bad about this. It sounds like he didn't even have a technical backing for the disapproval, just a gut reaction from something outside his domain.

There's a person with a chip on their shoulder but I'm not sure you've correctly identified them.

sunaurus
Feb 13, 2012

Oh great, another bookah.
You can give constructive criticism in a kind way. Just using "thumbs down" is essentially the same as saying "your idea is bad" without any further explanation, which will probably be considered mean by a lot of people, even if the criticism itself was valid.

RadiRoot
Feb 3, 2007
Good points, it's just the culture here is that the technical process is almost an afterthought. Being constructive is always good but when it goes unheeded for a while I just give in to cynicism.

Xarn
Jun 26, 2015

Pedestrian Xing posted:

The pre-commit checker doesn't stop this but it does stop me from pushing anyone else's commits so I can't even restore all the missing work. This is a recurring issue with a few developers. Nothing like coming in in the morning and seeing a week's worth of work gone.

Recurring? RECURRING?

You need to either fire them or murder them.

Xarn
Jun 26, 2015

necrobobsledder posted:

I’ve accidentally force pushed to a shared branch because I was in the “can force push to master” users. Thankfully I didn’t regularly gc and was able to recover from the reflog but our Jenkins jobs went nuts for a while and I had to clean up our environments as code from a month ago was pushed to our dev and staging environments. This is why production pushes should always be tag-based rather than HEAD based at smaller scale of teams where ACLs can be pretty loose.

--force-with-lease motherfuckers

Doom Mathematic
Sep 2, 2008
It's always possible to nix an idea without being disrespectful. Even incredibly dumb ideas. If an idea is obviously complete trash, that only means that its problems should be easy to outline in a dispassionate, factual way.

And yeah, "stay positive while trashing an idea" isn't dumb, because it is a positive to be able to eliminate possibilities. It saves everybody from wasting significant amounts of work on making the wrong thing.

PhantomOfTheCopier
Aug 13, 2008

Pikabooze!
You missed the correct answer. Check out a new copy of the repository and use `diff -rN` and/or vimdiff to compare the repo with the target code. Basically do git's loving job for it, then push normally.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Xarn posted:

Recurring? RECURRING?

You need to either fire them or murder them.

I have recurring issues with a few people; mostly assuming their code doesn’t need to be reviewed. These people happen to also be a source of bugs, very often incorrectly writing caches on things.

Turns out having problems with people doesn’t give you hire/fire authority, and things management sees as small problems don’t tend to lead that direction.


The thing that made my life easier is having my IDE blame every file. Any cache written by one of those people I assume has a bug in it. I’ve had no false positives.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

leper khan posted:

I have recurring issues with a few people; mostly assuming their code doesn’t need to be reviewed. These people happen to also be a source of bugs, very often incorrectly writing caches on things.

Turns out having problems with people doesn’t give you hire/fire authority, and things management sees as small problems don’t tend to lead that direction.


The thing that made my life easier is having my IDE blame every file. Any cache written by one of those people I assume has a bug in it. I’ve had no false positives.

Things like "basic competence" being seen as a small problem should be a big red flag. Your organization isn't healthy and it sounds like they don't feel the need to change. Update your resume and hit the job sites.

Hollow Talk
Feb 2, 2014
The SA Forums > The Cavern of COBOL > Working in Development: Your organisation isn't healthy

PhantomOfTheCopier
Aug 13, 2008

Pikabooze!

leper khan posted:

The thing that made my life easier is having my IDE blame every file. Any cache written by one of those people I assume has a bug in it. I’ve had no false positives.

It sounds like you're not taking your job responsibilities seriously. You see, "we have come to value: Individuals and interactions over processes and tools". We don't value negativity like 'git blame' and metrics that track who introduced bugs; those are processes. We want you you interact with those individuals to guide them to build better software.

They are providing you with an opportunity to become a better developer on the team, so they deserve a promotion. When you are ready to be more agile, you'll be ready to mentor others in the future. I'm sure through collaboration we can respond to our changing needs and build better software together. We invite you to move ahead with us.



Also :suicide:

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

PhantomOfTheCopier posted:

It sounds like you're not taking your job responsibilities seriously. You see, "we have come to value: Individuals and interactions over processes and tools". We don't value negativity like 'git blame' and metrics that track who introduced bugs; those are processes. We want you you interact with those individuals to guide them to build better software.

They are providing you with an opportunity to become a better developer on the team, so they deserve a promotion. When you are ready to be more agile, you'll be ready to mentor others in the future. I'm sure through collaboration we can respond to our changing needs and build better software together. We invite you to move ahead with us.



Also :suicide:

I know you're being facetious but there is value to actually talking to your coworkers (and maybe their managers if it gets that far) and trying to teach them vs keeping a bunch of pent up frustration because you think your coworkers should know better.

redleader
Aug 18, 2005

Engage according to operational parameters

Hollow Talk posted:

The SA Forums > The Cavern of COBOL > Working in Development: Your organisation isn't healthy

It is about time for a new thread title.

Lord Of Texas
Dec 26, 2006

PhantomOfTheCopier posted:

We don't value negativity like 'git blame' and metrics that track who introduced bugs. We want you you interact with those individuals to guide them to build better software.

This but unironically.

Adbot
ADBOT LOVES YOU

return0
Apr 11, 2007

Lord Of Texas posted:

This but unironically.

How do you know which individuals need support without tools (code review/pr, git blame, etc) to see who needs help and how much the need it?

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply