Win a copy of Node.js Design Patterns: Design and implement production-grade Node.js applications using proven patterns and techniques this week in the Server-Side JavaScript and NodeJS forum!

Sam Atkinson

+ Follow
since Mar 08, 2015
Sam likes ...
Mac IntelliJ IDE Java
Hi, I'm Sam.
I graduated in 2008 and have worked in a variety of finance programming jobs ever since, in Hong Kong and London.  During my degree I also worked at a small charity/careers advice website for a year too. 

I'm intensively passionate about clean code and test driven development, as well as CD and CI and spend far too much time evangelising about this stuff!

I run, a website dedicated to helping Java devs not suck at interviews.  Last year I went through hundreds of CVs and interviews and discovered people are terrible at preparing for interviews and need help.

I've just released my book, Java Interview Bootcamp.  I'm very proud of it and I'm sure you'll like it.  Section one covers soft, "fluffy" skills such as how to excel on phone interviews, build a resume or make a great first impression. Don't underestimate this stuff because it makes a huge difference to your chances.  Section two is a core Java review based around example interview questions. You can buy it now from
Cows and Likes
Total received
In last 30 days
Total given
Total received
Received in last 30 days
Total given
Given in last 30 days
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Sam Atkinson

Try to build a relationship with your recruiter. Just sending them your CV is going to turn you into fodder, as people have mentioned in this thread.

Get them to take you for coffee. Explain your background, what you're looking for, what your expectations are. Get a feeling for whether you like them and their style. You and your recruiter should be working closely together to get you submitted for a number of roles, tailored to what you want.
6 years ago
Why not learn a new language instead, like Scala, Ruby or Clojure? Knowing a functional language is more likely to benefit your current coding, and looks good on a CV.

AngularJS, or just JS in general, is good as you can do web stuff but it's risky as the frameworks space is rapidly shifting still. Then again, if you're learning to build web services you could learn AngularJS to put on the front end.

Spring seems to be everywhere so is certainly good to have on the CV, although I dislike Spring personally.

6 years ago
Thank you all. It's been awesome, and I'll be continuing to hang around. It's been fun!

As mentioned, it's digital only copies I'm afraid as physical doesn't exist at this point.
6 years ago
Actually the T-rex chapter got cut; I tend to find most firms have stopped asking that question these days. Lincoln is obviously in there though.
6 years ago
Hi Shridhar,
Yes it covers both of those things. There's a full chapter on "tell me about your system", one of my favourite questions, which deep dives on how to explain the design of a system. There's also a large chapter on collections.
6 years ago
Yeh, it seems very strange to me that so many people on here rate things like the OCJP exams. For me and the people I work with, we do not rate this sort of certificate. It does nothing to prove your ability as a programmer, and just shows your ability to learn from a text book.


Not everyone is like me . There are firms that really do rate this stuff. If I were you I'd just apply for jobs anyway, and then if you feel it's something you want to do then you can do that simultaneously.
6 years ago
Cheers for the question Pallavi!
With regards to the book, it's suitable for all experience levels, but it's particularly focused on the technical aspect. It's not going to cover dev lead type things, and it's structured around someone who's going to be interviewed based on their developer ability.

I'm strictly avoiding the discussion of years of experience. Jayesh points out that that more experienced interviewees would get hit for more soft skills. However, I think this is unrelated to years of experience. I went into dev management for a couple of years and then intentionally dropped out of it and went back to being "just a dev". This was a conscious choice because I hate management and I love programming. But, this means when I'm interviewing for roles I'm going for developer roles, which means I'm less likely to get asked stuff about dev management and more about code java.

All depends what you want for your career though . The first half of the book is dedicated to soft skills and covers some more senior questions like "design this system for me".
6 years ago
This is brilliant! I've always done pairing exercises as a loose approximation for what it would be like working with them properly. Actually getting them in on the job is a fantastic approach, and it works out for everyone as you'll inevitably learn a lot. This is why I've always promoted cross team pollination in my work, having people swap teams for a week or two to try and expose them to new stuff. I imagine 1 day auditions gets tricky as it means people have to take a LOT of time off to do the audition.

As a candidate, the advice is going to be very similar to for pairing exercises. Try to relax into it (particularly if you have all day, it's a long time to win them over), ask lots of questions and don't be afraid to say "I don't know". Never let your guard down; I think one problem is if you get comfortable because it's going well you can let something slip, maybe over a lunch conversation, that could damage your chances. You are in interview mode the WHOLE time, and so act like it (whilst being friendly, of course).

From the screener perspective, I think it's important to have a sensible task lined up in advance. The candidate needs to be challenged and given the ability to prove themselves, and it's got to be done in a fashion that allows you to compare them to other people. So whilst it's great to have them come in to work for a day, it does need to be structured in a way where everyone gets the most out of it.
6 years ago
Haha that's a good question, but unfortunately it doesn't have a good answer. My approach usually is just to be direct and call them out on it, specifically asking how they think my ability to answer stupid question X will show my ability to do my job. If you do it and try to be sincere (e.g. to understand their reasoning) it can go ok, but most people will just be confused or surprised.

I know that the answer on here is usually "if an interviewer is asking that then you don't want the job", but genuinely I don't think there's any way around it. If people ask dumb questions there's not much you can do as an interviewee to fix it.

6 years ago
Ah that's cool. I've been impressed so many people on the ranch seem to have already seen CJIQ which is good!
6 years ago
Hi Surabhi,
You have all options! You've got experience, you've shown dedication and self improvement. Prepare you CV and get submitting it to roles, start practicing for the interview. Check out for a good place to start!
6 years ago
Absolute. You must've learnt a ton about yourself, and new skills like extreme patience and coping under pressure!
6 years ago
Hi Will,
So the book isn't just core Java. It discusses how to do technical tests and programming exercises, how to do whiteboard designing and much more. The first half of the book is also about the journey- resume prep, finding job opportunities, how to do phone and face to face interviews etc. It should cover a lot of peoples needs!

Your point about JUnit, Spring and other bits and pieces are perfectly valid. This book is not the exhaustive everything-and-the-kitchen sink guide. However it should be enough to get people so they feel confident going into their interviews and stand the best chance in their interviews.
6 years ago
Thanks Kevin!
Firstly, a question for you- have you enjoyed being a stay at home dad? I've been trying to persuade my wife that when we decide to have kids she should let me be a stay at home dad, but she's not having any of it .

This book is definitely suitable for you. It's very much suitable as a from-the-beginning guide to the whole process. As I mentioned in another thread, most people seem to be woefully underprepared for interviews so the book really is aimed at people that haven't interviewed for a long time or with limited interview experience. I think it has something for everyone, but it will definitely work for you.

And (small sales pitch) there's a lifetime money back guarantee. Buy the book, and if you don't think it's helping you then you can have your money back. I don't want it! But so far everyone has been very pleased.

6 years ago
Hi Deepak!
Thanks for the warm welcome .

1. The books split into two. The first half focuses on soft skills- resume creation, how to apply for jobs, how to perform well on phone and face to face interviews etc. Second half of the book is core Java review. Instead of being a list of questions with answers, it flips the format on its head- It covers subjects like say, data structures, and goes into a lot of detail. It has example questions as we go through the reviews, so you can learn how to answer them, but in the context of a more in depth discussion. That means you should be better prepared for variations on the questions.

2. I like to think so yes .

3. eBook only I'm afraid! The book doesn't exist in hard copy at this point. However, it will be the premium edition (worth $29), which you can read more about at
6 years ago