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
gariig
Dec 31, 2004
Beaten into submission by my fiance
Pillbug
I need some Goon help with interviewing some developers at my job. This is the first time we are hiring a new developer in a long time and I don't know what to ask. We don't do anything terribly hard where I'm at it's mostly lots of SQL queries against our existing data, writing file parsing code in C# with lots of Regex, and a couple of legacy VB6 apps running until we get enough budget to move them to .NET. I just need to figure out if they can program.

I was thinking some simple database questions like different joins (inner, left, outer). Maybe have them do FizzBuzz on a whiteboard in pseudo code. Then a few of the broader questions from Scott Hanselman. Is there anything else I should ask?

Adbot
ADBOT LOVES YOU

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

gariig posted:

I need some Goon help with interviewing some developers at my job. This is the first time we are hiring a new developer in a long time and I don't know what to ask. We don't do anything terribly hard where I'm at it's mostly lots of SQL queries against our existing data, writing file parsing code in C# with lots of Regex, and a couple of legacy VB6 apps running until we get enough budget to move them to .NET. I just need to figure out if they can program.

I was thinking some simple database questions like different joins (inner, left, outer). Maybe have them do FizzBuzz on a whiteboard in pseudo code. Then a few of the broader questions from Scott Hanselman. Is there anything else I should ask?

Screw a whiteboard. Give them a laptop running VS201x and have them write FizzBuzz in front of you. After (if) they finish, ask them how they'd refactor it to make it better. Do the same thing with another simple problem, like reversing a string.

The SQL stuff can be handled via a phone interview. Don't waste your time or their time by having them come in for an in-person before you've assessed that they look like they have the technical chops for the job. The in-person is for a few things:
  • Proving they actually can program
  • Asking more in-depth "philosophical" questions about how they go about writing software, rather than the nuts and bolts stuff (like abstract classes versus interfaces and what it means when a method is static) to see if they're a good fit for your team. For example, you might not give a poo poo about unit testing. If you interview someone who does, they might not be a good fit, even if their technical skills meet your requirements. This isn't grilling them, this is an open-ended discussion.
  • Making sure they can present themselves like a normal adult and aren't intensely creepy or have other personality flaws (again, this falls under the "fit for the team" category).
  • Selling them on the company (assuming you like them)

[edit] Those Hanselman questions are mostly horrible. A lot of that stuff is minutae and trivia that is barely relevant for most jobs. There are some good questions in there, though.

New Yorp New Yorp fucked around with this message at 15:38 on Oct 2, 2012

NovemberMike
Dec 28, 2008

Yeah, a lot of those questions aren't great. Some of them can be useful for determining the general technical proficiency of a candidate, but it doesn't tell you how well they can program which is the most important thing.

It's fairly easy for an incompetent person to recite trivia and it's fairly simple for a great problem-solver to forget a definition. Decide which you want and choose your questions accordingly.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

NovemberMike posted:

Yeah, a lot of those questions aren't great. Some of them can be useful for determining the general technical proficiency of a candidate, but it doesn't tell you how well they can program which is the most important thing.

It's fairly easy for an incompetent person to recite trivia and it's fairly simple for a great problem-solver to forget a definition. Decide which you want and choose your questions accordingly.

Yup, that's why getting some examples along with the correct answer is good. For example:
Interviewer: What's the factory pattern?
Candidate: *blah blah blah correct answer*
Interviewer: Can you give me a simple example of when you'd use a factory pattern?
Candidate: *blank stare or bullshit answer*

I've had candidates able to explain how the .NET GC works in excruciating detail, but couldn't write a for loop.

Tres Burritos
Sep 3, 2009

Sometimes I fear I'm the other way around. I know I can code, I'm confident in my abilities, but gently caress me if I can remember some of the stupid little poo poo.

FamDav
Mar 29, 2008
I interview as part of a team so I'm able to be a little more specific with my approach and know that I can still get the full picture, but I usually try and ask "philosophy" questions as well as probe the resume. Specifically, I try and find things on the resume that might be interesting but are either vague or not well explained and see if I can get a dialogue going about that.

qntm
Jun 17, 2009

Ithaqua posted:

Yup, that's why getting some examples along with the correct answer is good. For example:
Interviewer: What's the factory pattern?
Candidate: *blah blah blah correct answer*
Interviewer: Can you give me a simple example of when you'd use a factory pattern?
Candidate: *blank stare or bullshit answer*

I've had candidates able to explain how the .NET GC works in excruciating detail, but couldn't write a for loop.

To be fair, a blank stare is probably the correct answer to that question.

AmericanBarbarian
Nov 23, 2011
Is there a site that collects a very large number of CS related puzzles, like in a giant never ending list? I enjoy browsing through one or two puzzles a night when I am studying algorithms. I find some value in them identifying the concept behind the puzzle and relating it to the theory in my Algorithms textbook.


Example from cotpi.com posted:

Each of n male citizens knows a different piece of gossip. They are allowed to exchange the gossip they know by phone. During a call, just one of the men speaks and tells the other all the gossip he knows. What is the minimum number of calls required to enable each man to know all the gossip?

Mecca-Benghazi
Mar 31, 2012


Might want to hit up Project Euler.

Plank Walker
Aug 11, 2005
I'm interviewing with an engineering firm for a position primarily using C#. 90% of my collegiate projects were in C# but that was about 3 years ago. Most recently I've been using Java to develop basic Android apps and Python/Django for some web service apps. Any recommendations for resources out there that can help me get back into a C# state of mind? .NET thread links a lot of books in its OP and I'm looking for something more like the "Dive into Python" or "Learn You a Haskell" of .NET

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

Plank Walker posted:

I'm interviewing with an engineering firm for a position primarily using C#. 90% of my collegiate projects were in C# but that was about 3 years ago. Most recently I've been using Java to develop basic Android apps and Python/Django for some web service apps. Any recommendations for resources out there that can help me get back into a C# state of mind? .NET thread links a lot of books in its OP and I'm looking for something more like the "Dive into Python" or "Learn You a Haskell" of .NET

C# in Depth by Jon Skeet is an awesome book.

If you're interested in doing a mock interview for a C# developer position, drop me a PM or give me an email and we can set something up. I've done it for a few other folks on the forums and they at least claimed it was useful in letting them know what areas to brush up on.

Thom Yorke raps
Nov 2, 2004


gariig posted:

I need some Goon help with interviewing some developers at my job. This is the first time we are hiring a new developer in a long time and I don't know what to ask. We don't do anything terribly hard where I'm at it's mostly lots of SQL queries against our existing data, writing file parsing code in C# with lots of Regex, and a couple of legacy VB6 apps running until we get enough budget to move them to .NET. I just need to figure out if they can program.

I was thinking some simple database questions like different joins (inner, left, outer). Maybe have them do FizzBuzz on a whiteboard in pseudo code. Then a few of the broader questions from Scott Hanselman. Is there anything else I should ask?

Some random questions I tend to ask:
"How does inheritance break encapsulation?"
"How do you go about making sure the code you write does what you think it does?"
"Tell me about a difficult bug you had to find and fix"
"Talk to me about code comments"
"What is your favorite language? Why? What do you hate about it?"

shrughes
Oct 11, 2008

(call/cc call/cc)
Edit: Edited to annoy you.

shrughes fucked around with this message at 02:05 on Oct 3, 2012

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

shrughes posted:

So Ranma's questions are horrible and Ithaqua's are okay, except that you need to consider whether asking a question like "What is a factory pattern?" will persuade good candidates to work elsewhere. Just give them a technical question where using a virtual function to return a value is a pretty good idea, and see if they actually do that. It's so much better to see what they do do than to ask what they would do.

I don't actually ask that question when interviewing, I tossed it out as an example of something with a rote correct response that can also be explained with a simple example. I do tend ask if they're familiar with any design patterns, then ask them to explain any patterns they claim to be familiar with. I use it as an early bullshitter check -- they say they know the foo pattern, then can't describe what the foo pattern does.

Also, has anyone told you that the tone of a lot your posts come off as really smug and condescending? Because they do. God help you if you communicate with your peers like that.

tef
May 30, 2004

-> some l-system crap ->
I wrote up what i've ended up doing. It doesn't work that well, but hey, it's *some* structure. (We don't tend to get flooded with applications, but we really should do more phone screens.)


quote:

The interview is code-sample driven. After reviewing the credentials of the programmer, we ask them to provide code samples, or complete a simple afternoon’s task ~1-2 hours at most.

Once we have the code sample, the technical interview begins. We start with the code sample and ask them to explain some of the choices they made while writing it, as well as things they’ve left out. We ask about some changes in operation and how they might best be implemented.

After that, we move onto their credentials and experience - we work through each language, tool or product used and talk about their experiences with it, as well as some trivia questions to gauge the depth of the knowledge. Rather than focusing on obscure parts of the product, we focus on common gotchas and problems faced.

We often explore the depths of the candidates experience as well as just broad knowledge - focusing in on some detail. I tend to ask deeper and deeper questions until I exhaust my knowlege or the candidates.

Eventually we move onto the ‘big problems’ in the job - the domain we spend most of our time in (networking, data processing)

There is more to it than that, but essentially to interview a programmer, it’s best to have a good one to start with.

So far, the biggest failure we've had with this process is when the code sample is outside the team's experience/domain. It's really hard to hire someone who is good at something you are not.

The biggest success has been getting people to talk about their code - avoiding those who are rather emotionally attached, or difficult to communicate with.

quote:

I was thinking some simple database questions like different joins (inner, left, outer). Maybe have them do FizzBuzz on a whiteboard in pseudo code.

I really hate whiteboard coding in interviews. Sometimes, a whiteboard is useful when you need to draw something rather than talk through it. Just stick them infront of a laptop and see if they can pair :v:

quote:

Then a few of the broader questions from Scott Hanselman. Is there anything else I should ask?

You need to make sure you can answer the questions too, rather than going by answers provided. It is good to have some topics to cover in advance, and you should be able to think of new questions in the interview, based upon the candidate's answers.

Avoid brain-teasers or stupid trick interview questions - unless you want to warn the candidates that you're a terrible place to work.

I'd say the biggest hurdle you face is finding someone with the right attitude - willing to put up with the legacy systems as the painful migration process continues - it's a hard find.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

tef posted:

I wrote up what i've ended up doing. It doesn't work that well, but hey, it's *some* structure. (We don't tend to get flooded with applications, but we really should do more phone screens.)

I actually insist on a phone screening even when I'm the interviewee. I don't want to waste my time, either.

Sab669
Sep 24, 2009

Is it a bad idea to go through Amazon's job postings and apply for every and any role I might be qualified for? :ohdear:

Don't want to look desparate, but if I'm going to find a good paying job not in Rhode Island I need to do it soon.

hobbesmaster
Jan 28, 2008

Sab669 posted:

Is it a bad idea to go through Amazon's job postings and apply for every and any role I might be qualified for? :ohdear:

Don't want to look desparate, but if I'm going to find a good paying job not in Rhode Island I need to do it soon.

Unless Amazon is special in this regard, the only way that could annoy someone is if theres a unified application somewhere on their website and you force some HR person to consolidate everything or toss them out and make you use that process.

Sab669
Sep 24, 2009

Yea, I figured even if it is for just 1 location it'd be more than 1 HR sap digging through them all so I didn't think it would be an issue.

Cicero
Dec 17, 2003

Jumpjet, melta, jumpjet. Repeat for ten minutes or until victory is assured.

Sab669 posted:

Is it a bad idea to go through Amazon's job postings and apply for every and any role I might be qualified for? :ohdear:

Don't want to look desparate, but if I'm going to find a good paying job not in Rhode Island I need to do it soon.
Do it! Could use more goons here. :)

Ninja Rope
Oct 22, 2005

Wee.

Cicero posted:

Do it! Could use more goons here. :)

Hey, I don't suppose you work with the AWS side? I interviewed there a few years ago.

Cicero
Dec 17, 2003

Jumpjet, melta, jumpjet. Repeat for ten minutes or until victory is assured.

Ninja Rope posted:

Hey, I don't suppose you work with the AWS side? I interviewed there a few years ago.
Nope, I'm a Kindle bro.

Johnny Cache Hit
Oct 17, 2011
OK, this is more of a "business of programming" question. I've been recently approached to do some contracting for a startup as a side gig.

What should I do to cover my own rear? I'm going to be sure to carefully manage expectations regarding my time. Should I think about a contract, or is that way overkill for something part-time?

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed
Unless you're getting paid upfront or daily, if you're doing work for money you should always have a contract.

Johnny Cache Hit
Oct 17, 2011

Plorkyeran posted:

Unless you're getting paid upfront or daily, if you're doing work for money you should always have a contract.

I figured as much. Are there any decent pre-made contracts out there for programmers that you know of/could recommend? Or is this firmly in "get a lawyer dummy" territory?

Cicero
Dec 17, 2003

Jumpjet, melta, jumpjet. Repeat for ten minutes or until victory is assured.
I think there are some legal sites that have decent pre-made contracts for situations like this for a reasonable price. If you don't get a good answer here, you should look into the law thread or The Business of Art thread (obviously you're not an artist but this seems targeted at freelancers).

AmericanBarbarian
Nov 23, 2011

Johnny Cache Hit posted:

I figured as much. Are there any decent pre-made contracts out there for programmers that you know of/could recommend? Or is this firmly in "get a lawyer dummy" territory?

I've seen pretty good freelance work contracts that graphic artists use. Examples to what should be included in the contract in the first link, detailed listing in second.

http://www.davidairey.com/using-freelance-graphic-design-contracts/

http://www.davidairey.com/graphic-design-contract-advice/

jooky
Jan 15, 2003

Johnny Cache Hit posted:

I figured as much. Are there any decent pre-made contracts out there for programmers that you know of/could recommend? Or is this firmly in "get a lawyer dummy" territory?

http://vimeo.com/22053820

Good video that covers probably more than what you're asking, but it's very informative about the subject.

Outer Science
Dec 21, 2008

Daisangen

Relambrien posted:

Trip report from the Amazon group coding assessment interview that I posted about a few days ago:

I can't say much due to NDA, but I was really happy with how it was organized and what we were doing. Apparently Amazon has been doing this for some of their candidate groups for about a year now, and they're still very much in the process of refining it. Overall I think it was a good way of assessing us candidates' abilities as software engineers, and it was fun. Also they're reimbursing me for expensive food so I'm not complaining.

Now I have interviews with Google and Palantir this week. This is in addition to a bunch of other work, but I guess that's a good problem to have :v:
Update on this: Amazon gave me a fulltime offer! :woop:

Just wanted to thank this thread. It's been a big help in my job search and played no small part in helping me get that offer. I haven't really posted here outside of asking about the group coding thing but you guys have been an invaluable resource just to read.

Zamujasa
Oct 27, 2010



Bread Liar

Relambrien posted:

Update on this: Amazon gave me a fulltime offer! :woop:

Nice one! Congratulations on landing it.

oRenj9
Aug 3, 2004

Who loves oRenj soda?!?
College Slice

Relambrien posted:

Update on this: Amazon gave me a fulltime offer! :woop:


That's awesome to hear, congratulations. In a year or so, I will hopefully replicate your success.

BirdOfPlay
Feb 19, 2012

THUNDERDOME LOSER
Went to a party Friday and, at some point, this cat finds out that I "can code." He ends up asking for my contact info right then and there for this low-level programming job his boss is trying to fill and emails me a link to the job as posted on the HR website (company is among the major employers in my city). I know I should chase after cause a) I'm unemployed and b) it'd be a loving coding job, but I really don't know how aggressive I should be about pursuing it.

The big things are that I've not completed college and I kinda don't believe him when he says they're just "looking for someone who can program, at this point [ed. roughly]." I mean, is FizzBuzz really a pretty standard interview tech question that actually weeds people out? I mean, I solved it fairly easily but had to double-check the answer cause there had to be a trick in there. Is the ability to program willing that hard to find?

And, lastly, is the starting wage, my eyes were starting to glaze over when I saw the pay scale/range for the position. I mean, it's about average to a little below average for CS/tech starting salaries, but I be raising my income by several multiples and have a hard time believing that I'd be "worth" that much.

TL;DR I met a (drunk) guy at a party who offered me a good-paying coding job that he thinks I could do, but I'm afraid to go and see.

Tres Burritos
Sep 3, 2009

BirdOfPlay posted:

TL;DR I met a (drunk) guy at a party who offered me a good-paying coding job that he thinks I could do, but I'm afraid to go and see.

Hey man, what's the worst that could happen? They think you're an rear end in a top hat and you don't get the job and you're embarrassed the next time you see him at a party?

gently caress that poo poo. Right in the butt, man. If you can do the job, and they want to pay you to do the job, give it your best loving shot. It's not like you have anything better to do :v:.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

BirdOfPlay posted:

I mean, is FizzBuzz really a pretty standard interview tech question that actually weeds people out?

Yes.

BirdOfPlay posted:

Is the ability to program willing that hard to find?

Program well? Yes.

BirdOfPlay posted:

have a hard time believing that I'd be "worth" that much.

You're worth whatever someone is willing to give you. A good programmer is worth a lot more than a lovely one. Assuming pay is commensurate with skill (of course, it's not in the real world), I'd rather have 2 programmers making 100k than 4 programmers making 50k. My employer has a guy who makes less than half of what I do, and I've seen his code. I see why. I'd rather work alone than have him "help" me on a project.

One bad developer on an otherwise good team makes a lot more work for the good developers. A team of all bad developers will never attract (or keep) good developers, and will pretty much always suck until someone who knows what's up comes in at the top and dumps them all.

New Yorp New Yorp fucked around with this message at 20:47 on Oct 7, 2012

Cicero
Dec 17, 2003

Jumpjet, melta, jumpjet. Repeat for ten minutes or until victory is assured.
As far as entry-level positions go, the software development job market is pretty insanely lucrative right now. I think ChemE/PetroE might pay even more but I think many of those jobs suck in other ways, and they certainly don't have the raw number of open positions that CS does, or the ability to get a job without a degree.

Bruegels Fuckbooks
Sep 14, 2004

Now, listen - I know the two of you are very different from each other in a lot of ways, but you have to understand that as far as Grandpa's concerned, you're both pieces of shit! Yeah. I can prove it mathematically.

BirdOfPlay posted:

And, lastly, is the starting wage, my eyes were starting to glaze over when I saw the pay scale/range for the position. I mean, it's about average to a little below average for CS/tech starting salaries, but I be raising my income by several multiples and have a hard time believing that I'd be "worth" that much.

You need to get over that guilt fast - there have been times when I've gotten paid over 1k per line of code checked-in. Always look out for number one.

BirdOfPlay
Feb 19, 2012

THUNDERDOME LOSER

A couple of goons posted:

Go for it!
Ok. I'll even go ahead and re-add my "Competencies" section where I list languages known before I send it off to him.

hieronymus posted:

You need to get over that guilt fast - there have been times when I've gotten paid over 1k per line of code checked-in. Always look out for number one.

It's not guilt so much as the big clash in prospects. I had been looking for some crappy minimum wage, full time, non-tech job for the past month or two but now in walks some random person thinking I'd be a good fit for a job making at least 3x that amount. It's a little hard to process. Also, for the rest of that night he talked to me about how CS people need business sense and to learn how to sell themselves, so I get where you and the others are coming from.

So, I'm willing to assume that something might come of this, which means I should act like it, I suppose. Is there a good resource out there for programming problems, either language independent or Java or C# specific? And no, I don't mean interview-grade questions, but solutions that should take me a day or two to get working just so that I can start remembering Java/learning C# (the two languages listed as being needed). That way, I shouldn't make too big of an rear end of myself if an interview does come my way. :v:

NextTime000
Feb 3, 2011

bweeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeee
<----------------------------
I recently started a position for IBM at their relatively new Michigan Delivery Center. the only real requirement for hiring was that I understood basic Object-Oriented programming principles. The first few weeks here they got me learning basic Java, SQL, XML and what have you before they toss me onto a client project. hopefully I can get on a project that would not need me to travel out to an an out-of-state client for the majority of the week, as I am a babby who just moved out of his parent's house, so I would like to keep things least-complicated as possible.

the position will last 3 years, but they said they are really focused on trying to keep people here after that time. who knows how things will be for me in 3 years, but for now I at least don't have to be all :supaburn: over student loans.

Zhentar
Sep 28, 2003

Brilliant Master Genius

BirdOfPlay posted:

I mean, is FizzBuzz really a pretty standard interview tech question that actually weeds people out?

From what I've seen, I have a hard time believing FizzBuzz weeds that many people out. But maybe the people who say that just really suck at screening resumes. And it definitely is true that the majority of people applying for programming jobs, even many with good grades from reputable universities, are barely capable of simple programming tasks.


BirdOfPlay posted:

And no, I don't mean interview-grade questions, but solutions that should take me a day or two to get working just so that I can start remembering Java/learning C# (the two languages listed as being needed).

Project Euler is pretty good for practicing.

Adbot
ADBOT LOVES YOU

Sab669
Sep 24, 2009

Phone interview in an hour :ohdear:

I interviewed with the company back in August then the position was no longer available after two interviews (out of three). So I'm just doing some quick review, feel like I'm missing some things for a C# consultant / dev position (really it's all a big Microsoft shop, not specifically C#).

-Difference between an interface & abstract class
-Prepared thoughts of projects / experience I have
-Various SQL clauses for select statements
-Difference between all the types of joins

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