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
MononcQc
May 29, 2007

"what if you needed to do X"

"I'd use an open source component."

"what if you needed to implement something else than glue because no lib exists for it yet"

"well I don't know I'd guess I cry myself in a corner"

Adbot
ADBOT LOVES YOU

Shaggar
Apr 26, 2006
tbh idk what value a csv parser interview excercise would really have. if they can code it, well ok. there are plenty of recent college grads that can do that too but i sure as poo poo aint hiring them. im more interested in past experience because thats how developers actually learn. and i have found that knowledge of tools or concepts can be an extremely good way to determine if they know what they claim.

for example a question i used in a recent interview was: "Between stored procs and direct table access, which do you prefer to use and why?"

obv. the correct answer is stored procs b/c they're better for security, performance, and abstraction. The more correct answer is stored procs when possible, but then table/view access with great care when unavoidable.

acceptable answer: "direct db access thru an orm to decrease code time". (this behavioir can be fixed)

bad: idk what a stored proc is.

super bad: i just build a string and send it to the db.

with the last two the interview is basically over so who cares, but with the first two you can then drill into tool details to figure out how much they actually know. what are the limitations of stored procs in hibernate. How do design your transaction management? do you use spring? how do you autowire mappers into beans in spring-mybatis? would you ever let an orm design your db? (this answer should be an emphatic gently caress no). all of the answers to these questions can prove if they've ever actually used this poo poo and how much they've had to deal with the shortcomings. the more you drill into the details the clearer the picture becomes and you can tell if they understand it, sort of understand it but have the capability to learn, or if they're straight bsing.

also their general personality will come out better in these questions which is almost more important. luckily the "no-p-languages" requirement will eliminate autists at the resume screen, but you've got to separate the super narrow vision folks from the true believers.

then maybe if they pass that you can ask them for some code samples.

Shaggar fucked around with this message at 03:18 on Oct 23, 2012

Shaggar
Apr 26, 2006

MononcQc posted:


"what if you needed to implement something else than glue because no lib exists for it yet"



this isnt a thing in java. especially not in enterprise java.

Sapozhnik
Jan 2, 2005

Nap Ghost
Stored procs aren't faster aargh <:mad:>

if you say "derr but the pl/sql runtime can preparse it" i am going to skullfuck you

(n.b. i am mostly a member of the stored proc camp but let's agree on why they actually ARE a good thing first)

also Shaggar look me in the eye and tell me that whatever trainwreck of an enterprise project you maintain doesn't link Commons and Guava and Spring and whatever the hell else and it mixes and matches utility classes from all three plus it has some other gigantic loving dependency that is only used for like a single hex converter class or whatever and it still has crappy half-assed utility classes encrusting it in random places like barnacles

because if you say it doesn't then i won't believe you

EDIT: apparently i write like a redditperson when i decide to miss half a night of sleep, poo poo i need to go to bed

Sapozhnik fucked around with this message at 03:36 on Oct 23, 2012

homercles
Feb 14, 2010

store your data in redis and write your business logic in server-side lua

problem SOLVED

Shaggar
Apr 26, 2006
stored procs will be limited in scope making them faster than a stupid orm thats gonna spend more time filling out its objects with data you probably wont ever touch. not to mention how bad the actual sql is that hibernate generates. then you've got stuff like the ability to easily tweak locks (in procs) which i guarantee you the standard orm user doesnt even know about.

my maven projects are dope as hell. all my spring is runtime. all my junit is test. slf4j-api only in my parent.

also i would never build a system so tightly integrated that a dependency in one project could cause a conflict w/ another. i've had to fix this in other peoples code a ton from old stuff left behind by people long gone. its so gross and i hates it.

Catalyst-proof
May 11, 2011

better waste some time with you
oh poo poo! it's a

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde

HORATIO HORNBLOWER posted:

best of all it saves everyone the indignity of trying to draw curly braces on a white board
smh that this is really a problem for people, maybe they've never seen a musical brace before or is it just that i'm left handed and don't have to reach across my body to write at the left margin?

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde

wolffenstein posted:

Learnable Programming by Bret Victor

How to make programming learnable with examples and Shaggar-esqe opinions.
mods please change thread title to Programming Languages: Why do we expect programmers to "look up" functions in "documentation"

Cocoa Crispies
Jul 20, 2001

Vehicular Manslaughter!

Pillbug
stored procs are for when you can get away with an old busted single-point-of-failure database and just plan to go down when Jeff bezos fucks your entire datacenter instead of replicating and operating in multiple sites all over the world

"I want the part of my system that stores data to also host instructions for processing it in addition to the other part that hosts a different set of instructions for processing it" - nobody smart thinks this

tef
May 30, 2004

-> some l-system crap ->
code is just data, man

duTrieux.
Oct 9, 2003

tef posted:

code is just data, man

so's your mom, but you don't see me posting about it

vapid cutlery
Apr 17, 2007

php:
<?
"it's george costanza" ?>
is there any actual talk about programming here

vapid cutlery
Apr 17, 2007

php:
<?
"it's george costanza" ?>

duTrieux. posted:

so's your mom, but you don't see me posting about it

you just did. mind = blown

Nomnom Cookie
Aug 30, 2009



Shaggar posted:

wrong as heck. you're going to end up with something that suits your one need at the time before you move on to another project at which point you'll come back with another case that you missed in your first parser attempt. so you'll end up spending 10 times as long trying to hit all the edge cases and still not having something that works as well as an open sores that autists have spent the last couple of years maintaining and improving to the point that its gonna do everything you'll ever need and be bug free.

people who refuse to reuse code, even simple stuff, are the worst and cause all of the headaches.
If you want to parse any csv sure. I didn't, don't. Sometimes the problem is actually small and stable and depending on a few KLOC from a third party is a greater risk than doing it yourself. Same project I found out halfway in that Commons IO was poo poo and there were no other libraries I could find that even claimed to do what I needed.

tef
May 30, 2004

-> some l-system crap ->

duTrieux. posted:

so's your mom, but you don't see me posting about it

yep, data is all that is left.

tef
May 30, 2004

-> some l-system crap ->

vapid cutlery posted:

is there any actual talk about programming here

yes. but you need the decoder ring

vapid cutlery
Apr 17, 2007

php:
<?
"it's george costanza" ?>

Nomnom Cookie posted:

If you want to parse any csv sure. I didn't, don't. Sometimes the problem is actually small and stable and depending on a few KLOC from a third party is a greater risk than doing it yourself. Same project I found out halfway in that Commons IO was poo poo and there were no other libraries I could find that even claimed to do what I needed.

i only use bespoke artisanal libraries created by an army of croatians

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde

Cocoa Crispies posted:

"I want the part of my system that stores data to also host instructions for processing it in addition to the other part that hosts a different set of instructions for processing it" - nobody smart thinks this
"it's better to just let every team do whatever they want with the tables" -- a lot of people think this at some point and end up praying for death a few years later

salted hash browns
Mar 26, 2007
ykrop

Cocoa Crispies posted:

stored procs are for when you can get away with an old busted single-point-of-failure database and just plan to go down when Jeff bezos fucks your entire datacenter instead of replicating and operating in multiple sites all over the world

"I want the part of my system that stores data to also host instructions for processing it in addition to the other part that hosts a different set of instructions for processing it" - nobody smart thinks this

haha

vapid cutlery
Apr 17, 2007

php:
<?
"it's george costanza" ?>

Gazpacho posted:

"it's better to just let every team do whatever they want with the tables" -- a lot of people think this at some point and end up praying for death a few years later

The story about amazon transitioning to a fully service-oriented design internally is pretty cool

duTrieux.
Oct 9, 2003

tef posted:

yep, data is all that is left.

:smith:

oh.

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde

vapid cutlery posted:

The story about amazon transitioning to a fully service-oriented design internally is pretty cool
they havent finished fyi

Nomnom Cookie
Aug 30, 2009



vapid cutlery posted:

i only use bespoke artisanal libraries created by an army of croatians
Also spring

Sapozhnik
Jan 2, 2005

Nap Ghost
i like spring but it really went off the loving deep end recently so i'm trying to limit my usage of it now

as an explicit dependency injection system it's pretty nice, the old web stuff is kind of stupid though and the new web stuff more of the insane untyped global-effects-caused-by-some-annotation-somewhere New Spring which I want no part of.

So I wrote my own Java web framework in TYOOL 2012 (by which I really mean "a 2 KLOC thing that coherently routes and constructs URLs") and I'm sure it's the most brittle and inflexible thing ever but it Suits My Needs

X-BUM-RAIDER-X
May 7, 2008

Shaggar posted:

tbh idk what value a csv parser interview excercise would really have. if they can code it, well ok. there are plenty of recent college grads that can do that too but i sure as poo poo aint hiring them. im more interested in past experience because thats how developers actually learn. and i have found that knowledge of tools or concepts can be an extremely good way to determine if they know what they claim.

for example a question i used in a recent interview was: "Between stored procs and direct table access, which do you prefer to use and why?"

obv. the correct answer is stored procs b/c they're better for security, performance, and abstraction. The more correct answer is stored procs when possible, but then table/view access with great care when unavoidable.

acceptable answer: "direct db access thru an orm to decrease code time". (this behavioir can be fixed)

bad: idk what a stored proc is.

super bad: i just build a string and send it to the db.

with the last two the interview is basically over so who cares, but with the first two you can then drill into tool details to figure out how much they actually know. what are the limitations of stored procs in hibernate. How do design your transaction management? do you use spring? how do you autowire mappers into beans in spring-mybatis? would you ever let an orm design your db? (this answer should be an emphatic gently caress no). all of the answers to these questions can prove if they've ever actually used this poo poo and how much they've had to deal with the shortcomings. the more you drill into the details the clearer the picture becomes and you can tell if they understand it, sort of understand it but have the capability to learn, or if they're straight bsing.

also their general personality will come out better in these questions which is almost more important. luckily the "no-p-languages" requirement will eliminate autists at the resume screen, but you've got to separate the super narrow vision folks from the true believers.

then maybe if they pass that you can ask them for some code samples.
this post is so shaggar it's almost surreal

trex eaterofcadrs
Jun 17, 2005
My lack of understanding is only exceeded by my lack of concern.

Shaggar posted:

wrong as heck. you're going to end up with something that suits your one need at the time before you move on to another project at which point you'll come back with another case that you missed in your first parser attempt. so you'll end up spending 10 times as long trying to hit all the edge cases and still not having something that works as well as an open sores that autists have spent the last couple of years maintaining and improving to the point that its gonna do everything you'll ever need and be bug free.

people who refuse to reuse code, even simple stuff, are the worst and cause all of the headaches.

shaggar, i'm gonna take back some of the things i've said about you

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip

incidentally, the answer to his particular problem there is named arguments. i read through the whole thing, sadly, and at the end there was nothing more understandable than before. "up and down the ladder of abstraction" or whatever he called his earlier talk was much better imo, although in many ways it was reinventing in a primitive form tools that are already commonplace in the engineering disciplines (although the automation was novel and would be helpful in lots of places)

MononcQc
May 29, 2007

Shaggar posted:

this isnt a thing in java. especially not in enterprise java.

"Whenever I feel the urge to implement something else than glue in Enterprise Java, I lie down until it goes away"

Shaggar
Apr 26, 2006

Nomnom Cookie posted:

If you want to parse any csv sure. I didn't, don't. Sometimes the problem is actually small and stable and depending on a few KLOC from a third party is a greater risk than doing it yourself. Same project I found out halfway in that Commons IO was poo poo and there were no other libraries I could find that even claimed to do what I needed.

commons-io isnt trash, you're probably trying to do something really stupid and wrong. commons-io is 90% convenience wrappers around existing java io.

Shaggar fucked around with this message at 14:37 on Oct 23, 2012

Shaggar
Apr 26, 2006

Mr Dog posted:

i like spring but it really went off the loving deep end recently so i'm trying to limit my usage of it now

as an explicit dependency injection system it's pretty nice, the old web stuff is kind of stupid though and the new web stuff more of the insane untyped global-effects-caused-by-some-annotation-somewhere New Spring which I want no part of.

So I wrote my own Java web framework in TYOOL 2012 (by which I really mean "a 2 KLOC thing that coherently routes and constructs URLs") and I'm sure it's the most brittle and inflexible thing ever but it Suits My Needs

spring is great for things like mybatis or cxf where its used primarily for dependency injection.

then theres the whole spring mvc thing which i've never used nor have i any desire to use it in the future. although tbf, no matter how messy any web framework is you have to give them some credit because they're trying to fix an unfixable problem (html/js/css)

Shaggar
Apr 26, 2006

Cocoa Crispies posted:

stored procs are for when you can get away with an old busted single-point-of-failure database and just plan to go down when Jeff bezos fucks your entire datacenter instead of replicating and operating in multiple sites all over the world

"I want the part of my system that stores data to also host instructions for processing it in addition to the other part that hosts a different set of instructions for processing it" - nobody smart thinks this

yeah if your data or performance doesnt matter then it doesnt matter if you use stored procs or not.

Kung-Fu Jesus
Dec 13, 2003

sql is a really bad language to do business logic in and when you have stored procs the temptation to put too much poo poo in there is high. just do the set operations. please.

Cocoa Crispies
Jul 20, 2001

Vehicular Manslaughter!

Pillbug

Gazpacho posted:

"it's better to just let every team do whatever they want with the tables" -- a lot of people think this at some point and end up praying for death a few years later
nobody's saying you just let every team touch tables

Kung-Fu Jesus posted:

sql is a really bad language to do business logic in and when you have stored procs the temptation to put too much poo poo in there is high. just do the set operations. please.
we do the business logic in ruby which means we can use a database that doesn't have sql and instead has useful properties like "availability" and "partition tolerance" cap theorem bitch look it up

0xB16B00B5
Aug 24, 2006

by Y Kant Ozma Post
nosql: apologizing for data loss since whenever

Shaggar
Apr 26, 2006

0xB16B00B5 posted:

nosql: apologizing for data loss since whenever

Shaggar
Apr 26, 2006

Cocoa Crispies posted:

nobody's saying you just let every team touch tables

we do the business logic in ruby which means we can use a database that doesn't have sql and instead has useful properties like "availability" and "partition tolerance" cap theorem bitch look it up

this is p-language-apologist for "we used mysql cause we're poor and stupid and it was poo poo so we decided to use something even worse"

Shaggar
Apr 26, 2006
"our no-sql is so bad we have to put it on an infinite number of nodes to achieve performance + uptime. but atleast we dont have to worry about data integrity!"

Cocoa Crispies
Jul 20, 2001

Vehicular Manslaughter!

Pillbug

0xB16B00B5 posted:

nosql: apologizing for data loss since whenever

if you're losing data buy better hard drives and quit running mongo

Adbot
ADBOT LOVES YOU

wins32767
Mar 16, 2007

Shaggar posted:

tbh idk what value a csv parser interview excercise would really have. if they can code it, well ok. there are plenty of recent college grads that can do that too but i sure as poo poo aint hiring them. im more interested in past experience because thats how developers actually learn. and i have found that knowledge of tools or concepts can be an extremely good way to determine if they know what they claim.
I ask a csv parserish question so I can see how many edge and corner cases they can think up. Do they handle IO problems? What if the file is malformed? What if a record is malformed? Do they handle unicode? I also look for other best practice things. Do they close their resources (or use the new Java 7 feature)? Do they use the right data structures/classes? How many of those potential issues they handle gives me a rough idea of what level of experience they actually have.

quote:

for example a question i used in a recent interview was: "Between stored procs and direct table access, which do you prefer to use and why?"
...
all of the answers to these questions can prove if they've ever actually used this poo poo and how much they've had to deal with the shortcomings. the more you drill into the details the clearer the picture becomes and you can tell if they understand it, sort of understand it but have the capability to learn, or if they're straight bsing.
I don't particularly care if anyone has any specific knowledge about any given technology. I try to figure out if they can learn stuff and think. If they can then whatever specific knowledge they'll need they can pick up. By asking about some specific technology you are limiting yourself to being able to evaluate candidates where you and the candidate both share a reasonably deep knowledge of certain technology.

I generally ask about how they keep up with new technologies, ask them about the most difficult problem they've solved and how they solved it, and what about their current development process they want to change. I'm not looking for particular answers, but a mindset. I want to see people who fully think problems through, identify problems where other people might not, and are willing to learn. I'll almost always ask multiple open ended follow ups based on their initial responses to try to get at those points, so I agree with you that letting them talk really helps.

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