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
prom candy
Dec 16, 2005

Only I may dance
Man I make so much money writing JavaScript and Ruby and this thread has me convinced I'm a simpleton. I've been doing this job for 15 years and there's no way I could ever pass a whiteboard interview.

Adbot
ADBOT LOVES YOU

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


https://twitter.com/ryxcommar/status/1221891444627181568

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

He lost me at the emphasized best solution to Fizzbuzz.

marumaru
May 20, 2013



prom candy posted:

Man I make so much money writing JavaScript and Ruby and this thread has me convinced I'm a simpleton. I've been doing this job for 15 years and there's no way I could ever pass a whiteboard interview.

i was hoping i wouldnt feel this way after 15 years. dangit.

Sagacity
May 2, 2003
Hopefully my epitaph will be funnier than my custom title.
Perhaps it's an indication that whiteboard tests aren't really useful for determining whether someone's going to be good at their job.

"Ah, you know how to build a red/black tree from scratch! Now, please configure webpack for us."

Jose Valasquez
Apr 8, 2005

Sagacity posted:

Perhaps it's an indication that whiteboard tests aren't really useful for determining whether someone's going to be good at their job.

"Ah, you know how to build a red/black tree from scratch! Now, please configure webpack for us."

They are useful for determining whether someone is going to be good at their job. They aren't very useful for telling if someone won't be good at their job. They emphasize false negatives over false positives.

SAVE-LISP-AND-DIE
Nov 4, 2010
Yeah, configuring webpack is easily twice as difficult as implementing red/black trees!

Blinkz0rz
May 27, 2001

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

Jose Valasquez posted:

They are useful for determining whether someone is going to be good at their job. They aren't very useful for telling if someone won't be good at their job. They emphasize false negatives over false positives.

With the corollary they they're really only effective if you tailor the test to the type of work you do rather than a pet algorithm problem. Guess which one most companies do...

marumaru
May 20, 2013



Blinkz0rz posted:

With the corollary they they're really only effective if you tailor the test to the type of work you do rather than a pet algorithm problem. Guess which one most companies do...

you mean you don't use the liu hui pi algorithm daily when writing css?

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS
Further, there's a deeper issue with the way many pet algo problems are delivered and judged, namely that they select for folks who either memorize specific implementations or spend time preparing for the interview by cramming Cracking the Coding Interview.

Interviewing well requires a lot of preparation that most folks who get pulled into the process don't have time or interest in doing.

fourwood
Sep 9, 2001

Damn I'll bring them to their knees.

Blinkz0rz posted:

Interviewing well requires a lot of preparation that most folks who get pulled into the process don't have time or interest in doing.
This is the real secret.

The Fool
Oct 16, 2003


I think it's time this series was reposted: https://aphyr.com/posts/340-reversing-the-technical-interview
part 2 is my favorite: https://aphyr.com/posts/341-hexing-the-technical-interview
part 3: https://aphyr.com/posts/342-typing-the-technical-interview

ultrafilter
Aug 23, 2007

It's okay if you have any questions.



Highly pro-click.

Macichne Leainig
Jul 26, 2012

by VG

prom candy posted:

Man I make so much money writing JavaScript and Ruby and this thread has me convinced I'm a simpleton. I've been doing this job for 15 years and there's no way I could ever pass a whiteboard interview.

I feel the same, and it doesn't help my impostor syndrome at all. But my current boss says he's happy with me and I'm happy where I'm at compensation wise, so no reason to change anything up if I can avoid it.

Surprise T Rex
Apr 9, 2008

Dinosaur Gum

I both love this and don't understand it very well.

Knowing Haskell might help.

Naar
Aug 19, 2003

The Time of the Eye is now
Fun Shoe
Can confirm they do get funnier the more you understand them.

lifg
Dec 4, 2000
<this tag left blank>
Muldoon
Good time to remind people that his twitter account is NSFW, but is also pro-click if you’re into that.

Docjowles
Apr 9, 2009

lifg posted:

Good time to remind people that his twitter account is NSFW, but is also pro-click if you’re into that.

I kind of appreciate the danger of scrolling my timeline with a 5% chance of suddenly, buck naked and extremely jacked dude tied up with a ball gag. Keeps things interesting.

Volmarias
Dec 31, 2002

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

Naar posted:

Can confirm they do get funnier the more you understand them.

I spent too much time last night learning clojure just to understand it better, it does indeed.

Keetron
Sep 26, 2008

Check out my enormous testicles in my TFLC log!

Today I hit my peak developer. I merged a PR, it got a weird error which I fixed on master and pushed straight to the acceptance environment where it destroyed the database.
Then I noticed it was 5PM and I went home. I'll solve it on Monday.

Xik
Mar 10, 2011

Dinosaur Gum
Seems weird for a place to be in a position of having required PRs but then also still have the ability to push to master and deploy without oversight.

Keetron
Sep 26, 2008

Check out my enormous testicles in my TFLC log!

PRs are not required but agreed upon, the push was with another developer present but all that makes not for a nice narrative.

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

Xik posted:

Seems weird for a place to be in a position of having required PRs but then also still have the ability to push to master and deploy without oversight.
Yolo deploys are the primary result of overengineering infrastructure as code and automated workflows without caring about whether any of it is actually worth doing in my experience.

Hollow Talk
Feb 2, 2014
Just lol if you don't practice the ancient technique of "push and pray".

Pile Of Garbage
May 28, 2007



Yeet to master.

Rocko Bonaparte
Mar 12, 2002

Every day is Friday!

Cuntpunch posted:

He lost me at the emphasized best solution to Fizzbuzz.

Yeah WTF. A coworker and I will sometimes poo poo out code like that and then delete because we know nobody else can maintain it... and we barely could either.

Macichne Leainig
Jul 26, 2012

by VG
What's the point of
code:
git push origin master --force
if you don't always use the --force flag?

Woof Blitzer
Dec 29, 2012

[-]

Pile Of Garbage posted:

Yeet to master.

I made this my push message just this morning. This is some psychic poo poo.

Volmarias
Dec 31, 2002

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

Pile Of Garbage posted:

Yeet to master.

A good phrase.

Faith For Two
Aug 27, 2015
A coworker submitted a pull-request that adds a new file to our project. This file is structured similarly to one or more other files in the project.

This is C code posted:

typedef u8 (*ThisIsAFunctionPointer)(u8 InParamLen, u8* const InParams, u8 OutBuffCapacity, u8 * const OutBuff);
u8 ThisIsAFunction(u8 InParamLen, u8* const InParams, u8 OutBuffCapacity, u8 * const OutBuff);

I commented that he should make his functions const-correct (don't take in-parameters by non-const reference, don't have declarations with top-level const).

My coworker replied that this change should be deferred to some other time, since making it const-correct would make this new file inconsistent with the existing files of the project. Odds are that when this gets merged, it's going to stay this way forever because no one is going to have time to fix stuff like this.


I feel upset over this. I feel ok with letting the old code remain as-is and preventing new code from repeating the code-smells that the old code has. Got any tips for understanding when consistency does or does not matter in projects?

taqueso
Mar 8, 2004


:911:
:wookie: :thermidor: :wookie:
:dehumanize:

:pirate::hf::tinfoil:

Tell them they need to fix all the other ones too. :colbert:

Anyway, assuming that isn't impossible and isn't a multi-day job, it's what I'd do. The old ones weren't going to be touched until the someday that is today.

Faith For Two
Aug 27, 2015

taqueso posted:

Tell them they need to fix all the other ones too. :colbert:

Anyway, assuming that isn't impossible and isn't a multi-day job, it's what I'd do. The old ones weren't going to be touched until the someday that is today.


It wouldn't take a lot of time. One day or less. But this PR was submitted so late in the sprint, that I wouldn't feel good about increasing the scope of the ticket.

CPColin
Sep 9, 2003

Big ol' smile.

Faith For Two posted:

I feel ok with letting the old code remain as-is and preventing new code from repeating the code-smells that the old code has. Got any tips for understanding when consistency does or does not matter in projects?

"Consistency" is a pretty bad reason to refrain from making improvements, imo. Standards evolve and improvements shouldn't be avoided simply because everything can't be improved all at once. You could always file a follow-up ticket to bring the rest of the code up to the new standard. Of course, if you all never get enough time to take on work like that, you have additional problems here.

Xik
Mar 10, 2011

Dinosaur Gum
"I sort of agree that it's usually better to go with consistently, but this is some technical debt that's been in the firing line for a while. It would be good to start committing what we want it to look like, at least then whenever someone touches the old files we can point to this one and say "if you have to touch them make it look like this instead"."

taqueso
Mar 8, 2004


:911:
:wookie: :thermidor: :wookie:
:dehumanize:

:pirate::hf::tinfoil:

Seems like if this is preventing you from doing good things, it's a process smell.

rjmccall
Sep 7, 2007

no worries friend
Fun Shoe
Const-correctness is actually quite frustrating if a large amount of established code is doing it wrong: you either find yourself editing a massive amount of code or const_casting all over the place. The deep problem is that C gets the default wrong.

Carbon dioxide
Oct 9, 2012

Faith For Two posted:

A coworker submitted a pull-request that adds a new file to our project. This file is structured similarly to one or more other files in the project.

Please use code tags instead of quote tags in the future thanks.

quote:

I feel upset over this. I feel ok with letting the old code remain as-is and preventing new code from repeating the code-smells that the old code has. Got any tips for understanding when consistency does or does not matter in projects?
When in doubt I use the boyscouting rule. Clean up whatever you touch, don't touch other things. Sometimes this leads to big refactoring work, e.g. when you discover a certain core framework is getting in the way more than it helps and you either have to use it everywhere or not at all. In that case making it a separate ticket is better.

Faith For Two posted:

It wouldn't take a lot of time. One day or less. But this PR was submitted so late in the sprint, that I wouldn't feel good about increasing the scope of the ticket.
The moment in the sprint when something happens shouldn't be a deciding factor for whether you do something or not. I know reality is often more difficult than that, but since a sprint is not a deadline but more like a rough outline of the planning of the next couple weeks it's okay to finish a ticket in the next sprint. This isn't a bad thing. It's important to count code quality improvements as an integral part of your sprint velocity. This will make the velocity go down a bit, but that just means the PO has better insight in how much work you can do when you want code to be maintainable.
I like to have an explicit reference to these code quality attributes https://iso25000.com/index.php/en/iso-25000-standards/iso-25010 in my team's Definition of Done, and to explain to the company why these are important (less maintenance needed, fewer production incidents and bugs, and so on). In my experience, usually companies are willing to accept something like this, at least if the explanation comes from an experienced developer who's been in the company for multiple years.

In any case, the balance between good code and perfectionism is a difficult one, and so is the balance between writing quality code and delivering fast. The DoD and a list of quality attributes aren't going to fix that entirely, since those will always be subjective measurements. I found I got a feeling for what's right after a couple years of doing this job. Everyone in the team will have a slightly different idea, but together you can find a compromise.

Sagacity
May 2, 2003
Hopefully my epitaph will be funnier than my custom title.

Faith For Two posted:

It wouldn't take a lot of time. One day or less. But this PR was submitted so late in the sprint, that I wouldn't feel good about increasing the scope of the ticket.
If your process is so bad that having an extra day of work to clean up code isn't an option, at least create a ticket that will be immediately picked up in the next sprint to handle this.

It's just process busywork, but if it works for you then :shrug:

Faith For Two
Aug 27, 2015
My coworker did only a couple of changes I recommended. The rest, he put in a new ticket.

I went ahead and approved the PR because I don’t want to argue about stuff.

Adbot
ADBOT LOVES YOU

JawnV6
Jul 4, 2004

So hot ...

taqueso posted:

Tell them they need to fix all the other ones too. :colbert:

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