Interview ideas to remember

Topics to be able to discuss during an interview.

Comments

Questions to ask in an interview for CS job
(copied from reddit.com) (lost the link)
I just graduated from university and have my first interview on Monday. I was wondering what questions should I ask in the interview?
The job is support for their product

I have a list that I copied and pasted in, hopefully this helps and is not just a long list that no one will read.
i. Questions for Managers
a) What is your style of managing?
b) What accomplishment they are most proud of
c) How they develop team cohesiveness
d) What is the next big step for the team, or company
e) What's your staff turnover rate?
f) How do you motivate people?
g) What the company does to help develop their management skills
h) What motivates them
i) How much do they work
j) Do you support continuing education?
k) Do you give developers an allowance to order technical books?
l) Are employees required to sign a non-compete contract?
ii. Questions for Developers
a) What software development methodology do you use?
b) What parts of the software development life cycle does this position apply do?
c) Do you have coding standards?
d) Does the project use continuous integration? - Does the software build cleanly right now?
e) Does the project do peer code reviews?
f) Do you build unit tests?
a) Are unit tests supported by management?

ß) Is there adequate time to build and maintain unit tests?

?) How often are they run?

d) What is the current success rate?
g) What do you like best about working there?
h) What do you like least?
i) What would you change if you could?
j) How are conflicts resolved? technical, social? (this was a major problem at one of my previous jobs)
k) What end-users do you deal with? How do they feel about the app?
l) How do you balance technical/business goals?
m) Does management set reasonable goals & expectations? How do you handle missed deadlines?
n) Do you have any sort of technical principles or vision?
o) Do you do testing? Can you release with failing tests?
p) Do you have source control? code reviews? docs? QA group?
q) How would I fit in?
r) What might a typical day look like?
s) What are the policies on releasing work as open source?
t) Hours?
u) On-call?
iii. Questions About the Work Environment
a) Can I see my workplace – area or specifically my desk?
b) What's the company policy on downloading software?
c) How locked down are the PC's?
d) Do developers have admin rights on their PC's?
e) Can I choose my own development tools?
f) What equipment is provided to the developers?
iv. Joel Test
a) Do you use source control?
b) Can you make a build in one step?
c) Do you make daily builds?
d) Do you have a bug database?
e) Do you fix bugs before writing new code?
f) Do you have an up-to-date schedule?
g) Do you have a spec?
h) Do programmers have quiet working conditions?
i) Do you have the best tools money can buy?
j) Do you have testers?
k) Do new candidates write code during their interview?
l) Do you do hallway usability testing?
C. Salary Negotiation
i. Never say how much you will take, only “okay” or “higher”
ii. I am much more interested in doing (type of work) here at (name of company) than I am in the size of the initial offer. iii. I will consider any reasonable offer.
iv. You are in a much better position to know how much I'm worth to you than I am.
EDIT: Formatting
permalink
[–]masqueradestar 5 points 1 year ago
I am amused that your progression to distinguish levels of depth encompasses uppercase letters, Roman numerals, lowercase letters, and Greek letters... without once using plain ol' base 10 numbers.
permalinkparent
[–]yellowjacketcoder 5 points 1 year ago
Ask what version control they use. If they use something you've never heard of, anything older than SVN, or they don't use any, run.
Ask what IDE they use for programming. If they say "none" or "notepad", run.
Ask if you're an administrator/superuser on the machine you'll be working on. Seems like a silly question, but it is super frustrating to want to install something to make you more productive, and having to wait for IT approval, and then someone to come by and install it for you, is not worthwhile.
Ask what typical overtime is like.
Ask what size team you'll be on. By yourself can be scary, in a 'team' of 100 it's not really a team anymore.

First rule of career planning: do not plan your career. You have no idea what the industry will look like in 5 years; if you optimize for what it looks like now, you'll be obsolete in 5 years.
Instead, keep your eyes open for little opportunities now that can become big opportunities later, and jump at them whenever possible. And in the meantime, spend time practicing your skills so you're in a position to jump later.
I've been out of college for 5 years now. I started off by joining a financial software startup that I'd interned at twice before. I stayed for about 20 months and wrote 2 products for them, practicing my coding skills, learning some finance skills, and picking the brains of our interaction/web designer. Then a friend from college asked me to found a gaming company with him, so I quit and did that for a year. It failed, but I used the web programming skills I learned from that (plus a connection I'd made working on a Harry Potter fansite in college) to snag a job as a front-end engineer at Google. I've since established a reputation as the go-to guy for when people want something impossible done in JavaScript and they want it yesterday.
Some things I wish I'd realized as a new grad:
Don't worry so much about career advancement. Life is long, and career accomplishments ultimately fall short at filling it. Even if you reach a position that your college-graduate self would never have dreamed you'd accomplish in your lifetime, you'll still be thinking "Well, but there's this other guy, and he's so much more famous/wealthy/accomplished/powerful than me." Because there always is that other guy, and the only way to avoid feeling inferior is to avoid playing the "let's rank everyone in the world by how successful they are" game.
Instead, ask yourselves these questions at the end of each workday:
* Am I having fun?
* Can I feel good about the work I'm doing?
* Do I like the people I'm working with?
* Am I learning new things, or am I just coasting?