Programmers

bloodycelt

Chin's Bartender
Joined
Nov 6, 2015
Posts
1,568
The worst interviews I've had are when they ask me to solve a problem, I give the answer, and then they make up some BS to make me give another... then another, making me fish for the "right" answer.

Example: I was asked to whiteboard code that would ensure uniqness, I used a hash... this stumped the interviewer who asked me to pretend Hashes did not exist...

(I went with it, but you generally lose the interview if you stump the interviewer )

Also, Fuck Fibbonacci.
 
Last edited:

SudoShinji

Zero's Tailor
Joined
Mar 9, 2014
Posts
554
The worst interviews I've had are when they ask me to solve a problem, I give the answer, and then they make up some BS to make me give another... then another, making me fish for the "right" answer.

Example: I was asked to whiteboard code that would ensure uniqness, I used a hash... this stumped the interviewer who asked me to pretend Hashes did not exist...

(I went with it, but you generally lose the interview if you stump the interviewer )

Also, Fuck Fibbonacci.

You had to write code snippets on a whiteboard based on individual problems? Is this how familiar with a language I need to be going into an interview? I always thought a uml diagram with how the problem would be solved would suffice for some reason.
 

bloodycelt

Chin's Bartender
Joined
Nov 6, 2015
Posts
1,568
You had to write code snippets on a whiteboard based on individual problems? Is this how familiar with a language I need to be going into an interview? I always thought a uml diagram with how the problem would be solved would suffice for some reason.

Never had to use UML, usually its code or sometimes pseudo code. Granted this is web development, I suspect large companies that do software engineering might... require UML.
 

eek

Mature's Make-up Artist
15 Year Member
Joined
Mar 11, 2006
Posts
1,373
You had to write code snippets on a whiteboard based on individual problems? Is this how familiar with a language I need to be going into an interview? I always thought a uml diagram with how the problem would be solved would suffice for some reason.

For a lot of companies now yes, being able to whiteboard is required. Some places are much tougher than others, like Google, Facebook, Amazon.. I got my ass kicked with Google's technical phone interview. I had 40 mins to write code on Google Docs while talking to the interviewer on the phone.

Take a look at Interview Cake for examples. I
 

SudoShinji

Zero's Tailor
Joined
Mar 9, 2014
Posts
554
For a lot of companies now yes, being able to whiteboard is required. Some places are much tougher than others, like Google, Facebook, Amazon.. I got my ass kicked with Google's technical phone interview. I had 40 mins to write code on Google Docs while talking to the interviewer on the phone.

Take a look at Interview Cake for examples. I

Good god I'm under qualified, I guess I'll Google it and get back to you isn't a great answer.
 

eek

Mature's Make-up Artist
15 Year Member
Joined
Mar 11, 2006
Posts
1,373
Good god I'm under qualified, I guess I'll Google it and get back to you isn't a great answer.

Some places are just really really hard. A lot of places just ask you to do Fibonacci and/or FizzBuzz.

I just did a phone interview for a place where it was a bunch of general programming fill in the blank questions, and then ruby/rails specific questions. If I pass that round,

Round 2: take home Rails project. no time limit.
Round 3: Another Tech phone interview but this time screen sharing and coding with their engineer.
Round 4 :On site with numerous rounds of white boarding with their engineers.

That's more rounds than Google. I'm definitely continuing to look in case things don't work out.

Take a look at this, this may help you get ready: Awesome Interviews
 

SudoShinji

Zero's Tailor
Joined
Mar 9, 2014
Posts
554
Some places are just really really hard. A lot of places just ask you to do Fibonacci and/or FizzBuzz.

I just did a phone interview for a place where it was a bunch of general programming fill in the blank questions, and then ruby/rails specific questions. If I pass that round,

Round 2: take home Rails project. no time limit.
Round 3: Another Tech phone interview but this time screen sharing and coding with their engineer.
Round 4 :On site with numerous rounds of white boarding with their engineers.

That's more rounds than Google. I'm definitely continuing to look in case things don't work out.

Take a look at this, this may help you get ready: Awesome Interviews

Damn that's intense, thanks for the links they are real eye opener in terms of where I need to be.
 

SpamYouToDeath

I asked for a, Custom Rank and, Learned My Lesson.
15 Year Member
Joined
Oct 3, 2005
Posts
6,059
Take a look at this, this may help you get ready: Awesome Interviews

I looked through their "C" listing and a lot of it is... well, garbage. Semantic pedantry, trivia, history, etc. - one asks about use of the "register" keyword. This isn't the 80s!

Edit:
Also, some are comically wrong:
11) Can I use “int” data type to store the value 32768? Why?

Answer:No. “int” data type is capable of storing values from -32768 to 32767. To store 32768, you can use “long int” instead. You can also use “unsigned int”, assuming you don’t intend to store negative values.
Who the hell still makes a C compiler that defaults to 16-bit ints?
 
Last edited:

p3lagic

n00b
Joined
Dec 17, 2015
Posts
49
all these interview questions and white boarding is bullshit in my opinion. I'll take a github account with some good contributions any day.
 

bloodycelt

Chin's Bartender
Joined
Nov 6, 2015
Posts
1,568
Something you should be aware of before becoming a salaried employee.

The main difference between a salaried worker and a prostitute is a prostitute can charge extra for anal.

Investigate contracting, they get paid for every hour they work. Salary doesn't get overtime.
 
Last edited:

ebinsugewa

Rosa's Tag-Team Partner
10 Year Member
Joined
Jul 7, 2013
Posts
2,495
I looked through their "C" listing ... Semantic pedantry

Sounds like you're not very familiar with C then.

A few random thoughts:

On the whiteboarding/interview front if you want to be 100% prepared you're going to have to learn a ton of seemingly useless shit. A good resource is 'Cracking the Coding Interview', particularly if you have not had a formal CS education. If you want to work at a 'big name' company chances are you're going to get a ton of extremely algorithmic type questions also likely dealing with time complexity in addition to extreme minutiae of the language they want you to write in (and often even ones they don't). Other companies will ask purely behavioral or general problem solving/"How much should you charge to wash all the windows in Seattle?" questions. It's hard to really be prepared for everything you could run into. In my experience nobody gives a fuck about what's on your github unless it has a million stars, but that's not to say you shouldn't use one for personal projects and the like.

If you're starting today and have no interest in web stuff you should be learning Java, C++, or Python. If you are, then really just pick anything. Many companies have their own particular stack and the frameworks and flavors of the month change so much that you'll likely have to learn a ton of new shit anyways. Javascript and related frameworks are a safe bet.

Don't start with game programming unless you really have to be motivated by 'liking' something to learn it - it's a shit job market and has very little applicable crossover with 'industry' coding in terms of the specific subskills it requires beyond just beyond knowing how to code.

Get used to the issues you had with Ruby - nowadays one of the biggest hurdles with starting in this realm (with some technologies more than others) is simply getting your environment set up. I'm having similar frustrations with Go right now.

Certs are entirely useless if you have any experience in your field at all or unless they are required for promotion.

You had to write code snippets on a whiteboard based on individual problems? Is this how familiar with a language I need to be going into an interview? I always thought a uml diagram with how the problem would be solved would suffice for some reason.

Yes. You should be intimately familiar with the standard library of your language. Considering it's all stuff you can look up in docs anyway when you're on the job it's fucking retarded, but you will absolutely be tested on this kind of stuff at some companies during whiteboarding. Literally never encountered UML in my entire life outside of college intro classes. YMMV.

all these interview questions and white boarding is bullshit in my opinion. I'll take a github account with some good contributions any day.

Are you a hiring manager? This is absolutely not standard interviewing practice nowadays, for better or for worse.
 

SpamYouToDeath

I asked for a, Custom Rank and, Learned My Lesson.
15 Year Member
Joined
Oct 3, 2005
Posts
6,059
Sounds like you're not very familiar with C then.

Elaborate? I'm talking about "write Hello World with no semicolons", questions about digraphs/trigraphs, and dumb stuff like that.

EDIT: Maybe that's more appropriately "lexical pedantry".
 
Last edited:

p3lagic

n00b
Joined
Dec 17, 2015
Posts
49
Are you a hiring manager? This is absolutely not standard interviewing practice nowadays, for better or for worse.

I'm a programmer not a hiring manager, but I interview programmers all the time. I work for a small company so our hiring practices are probably non standard, but in my experience doing well on whiteboarding has no correlation to programming competency.
 

ebinsugewa

Rosa's Tag-Team Partner
10 Year Member
Joined
Jul 7, 2013
Posts
2,495

SudoShinji

Zero's Tailor
Joined
Mar 9, 2014
Posts
554
Lots of good info in here, I think I'm going to use python as my re-entrance since it seems so logical and straight forward them segway back into java and maybe JavaScript from there.
 

ebinsugewa

Rosa's Tag-Team Partner
10 Year Member
Joined
Jul 7, 2013
Posts
2,495
Python is great. If I had to choose one language to write in forever it would be that one. That being said the Python 2/3 schism is an annoyance. I feel like it offers great readability and requires minimal 'boilerplate' code to just get things to work. It's especially good at data science and webscraping among other things. My main language will always be Java, but I would recommend Python to anyone as an excellent starting language that you can continue to use throughout your career.
 

Tacitus

Volatile Memory Construct - SN://0467839
Staff member
Joined
Apr 26, 2002
Posts
15,120
The real "purpose" of certs is twofold:

1. Affirm a baseline knowledge of the skills/information for your job.
2. Make hiring managers' life easier by allowing them to shortcut through stacks of resumes.

Most people know they're kind of garbage. Most exams are simple regurgitation of knowledge after memorizing a book. I'd say you likely retain a relatively small amount of information. If you grasp the concepts well, it's really the point.

Microsoft certs are garbage. The knowledge you gain and short term person advantage expires out in 2-3 years, if you're lucky. Sure there's lots of legacy stuff out there but that doesn't matter.

Focus on more vendor neutral, "professional" certs. Most decent ones have a CPE requirement. Ensure you're aware of this up front, there's significant commitment for the top flight ones, with a few exceptions.

Never focus on passing the exam. When you get to a job, you'll find out that most people have a wide range. The people who succeed are knowledgeable. Best people I've worked with had very few, if any certs. Get them to confirm your knowledge, they're not a golden ticket to success.

If you're getting them for professional development or salary bump, they're a good idea. Make sure your employer is paying for them. If they're not, definitely position for some sort of financial reward. They're going to benefit, business-wise, from your knowledge and skills.

You're not going to fly through the ranks based on letters after your name. You're also not going to pull down a decent salary without switching companies and positions. Technology outside of the west coast is heavily commoditized and woefully underpaid.

The biggest pay increases come from jumping ship. Most tech companies, particularly MSP's/Consulting, pound the idea of "you're lucky to have a job" and "efficiency/billable is all that matters" down your throat. It makes for extremely toxic culture and churn. Competition is great, but it turns into CYA and passing the buck based on project outcomes. Everyone lead the project when it's a success... everyone else is the problem if it tanks.

As for certs, I will tell you that I probably have more than any two people combined here. There were only maybe 3 or 4 certs that I look at as really "worthwhile" and they were extremely high end ones. They really "taught" more than anything and all but one comprised of a practical/defense or some sort. The exams are always very difficult and they're not the type you can go to a VCE site and pass. They're also the kinds of letters that get you headhunters or aggressively pursued. If that's your motivation and you're ACTUALLY GOOD AT YOUR JOB, it's definitely a road to take.

If you've got less than 5 years in the industry, make sure you change companies and get exposed to as much stuff as possible. I tell people that you should spend your first 10 years in technology figuring out what you want to do for the 30 after that.

Never turn down a disaster. You learn quickly, figure out what works and what doesn't. Practical knowledge trumps anything you do to contoso.com. On top of that, you'll get a great reputation. Nothing you will do will make things appreciably worse and you demonstrate value quickly. When people are dug in on a disaster, you will never be bothered. People either want nothing to do with one or they will leave you alone because they fucked it up. That's where you advance.. be known as a reliable resource, extremely knowledgeable and willing to take on anything coming at you.
 

sparksterz

Camel Slug
Joined
May 2, 2013
Posts
511
Never turn down a disaster.

That's probably the best piece of advice right there. I first started working at a company and stayed for about 4 years before I couldn't take it anymore and left. I moved to a company that had an absolute disaster project. I ended up managing it, and well did the best I could given the utterly unrealistic goals. I learned a lot, hated life for a while, but I needed that experience. Now I'm in a place where I'm not looking to leave anytime soon.
 

SudoShinji

Zero's Tailor
Joined
Mar 9, 2014
Posts
554
Python is great. If I had to choose one language to write in forever it would be that one. That being said the Python 2/3 schism is an annoyance. I feel like it offers great readability and requires minimal 'boilerplate' code to just get things to work. It's especially good at data science and webscraping among other things. My main language will always be Java, but I would recommend Python to anyone as an excellent starting language that you can continue to use throughout your career.

Having said that is it better to stick with 3 as its newer? I thought about jumping into java again since I have familiarity with it but I actually enjoy the idea of learning python even though I'm sure it won't help my career any.
 
Top