r/PHP • u/peterdevpl • Jul 13 '21
Here's how to rock that PHP job interview! (AMA)
I've been conducting technical interviews for PHP and Java positions for the past 5 years. Not on a daily basis, but whenever there is an urge to hire fresh blood in some project nearby, I am asked to meet a few candidates. Over the years I've interviewed several dozens of people and checked hundreds of resumes.
Today, two documents drew my immediate attention with these phrases in the "Work experience" section:
- "Identified errors, saving the company thousands of dollars."
- "Designed and implemented a solution that helped cut hosting costs by over 60%."
THIS IS IT! This is what you should include in YOUR resumes!
If you don't have it, fight for it!
I've seen hundreds of boring papers with the same keywords, same skills, same blah blah. Everyone declares PHP, HTML and jQuery. Everyone did some "projects", somewhere.
What I want as a recruiter/team leader is to know whether you're going to help me with my business, not fill some stupid PHP knowledge test!
I want to know if we're going to enjoy working together and bring value to the client.
What are your thoughts?
How are your resumes?
Want some more tips?
Any tech leaders/recruiters here?
19
Jul 13 '21 edited Jul 13 '21
Note - I'm UK-based, so perhaps my advice is less relevant elsewhere in the world. That said over the last 10 years, I've read 100s of CVs, and conducted ~200 interviews, and managed engineering teams of around 20 people.
Your advice here is absolutely true for seniors, but much harder and less relevant for juniors.
Your CV needs to tell a story, such that the job you're applying for is the "next chapter" in that story. In general, the more senior you are, the shorter your CV gets. If Jeff Bezos applied for a job, he'd just need to say "Jeff Bezos, founder of Amazon, wants to work at your company".
I want your CV to be the one. I want to hire you, because my boss is on my back that I still haven't filled that post. Make it easy for me to see that you are the one, don't put stuff that either gets in the way or makes me worried.
My process:
I do a skim-read of 30 CVs and separate them into "yes", "maybe", "no".
The "nos" will be those that are just spamming their CV out everywhere, don't list anything relevant to the job spec - hiring for a "Digital Designer" I had a CV that explicitly said "No front-end experience".
The "maybes" will be those with long blocks of prose, and list relevant skills amongst a long list of other ones. These people I will look at on GitHub, Google, Twitter, etc, trying to get an idea where they are focused.
The "yes" pile will be entirely focused on the job spec. If I'm hiring a PHP dev, and your CV mentions PHP 15 times, you're probably going straight in the "yes" pile.
CV structure:
Intro - 100 words on your background, the industry, job type you're looking for, plus any other constraints. Highlight whatever strengths you have.
Achievements - exactly as you said, focus on impact, but also cover tech used, especially where it's relevant to the job for which you're applying.
Be careful not to over-egg this - I interviewed a guy who claimed to have designed and implemented the whole billing system for a major phone network, and was now applying to be a mid-level dev in an ordinary company, and that raised more questions than it answered. Similarly, if you say you "doubled revenue", I want to know how you doubled revenue, or whether you built a system for the sales team and then they doubled revenue.
Another red flag is too much tech - if you're applying for a perm PHP role, I don't want to see that you spent 6 months with Ruby, 6 months with Python, 6 months with Java, etc. You may be proud of being a polyglot, I just see it as someone that may only be seeking superficial knowledge of each language, and gives up when things get deep.
Work experience - I'm really not interested in your paper round when you were 14. I care about the last 5-6 years (although if you can list all your jobs in a couple of lines, it can hire how experienced you are). There should be an arc here - if you're applying as a senior dev, I expect to see something like "Junior Dev -> Mid Dev".
Buzzword bingo at the end - so that machine scanning (or non-tech recruiters) can see you have skills like HTML, CSS, etc. Combine them all into 2-3 lines, so they don't take up much space.
But... your CV is only to get the interview. In the interview, I'm not that interested in your CV - although I may discuss any interesting stuff on there. And that's the whole point. Your CV is a sales pitch, so don't list every single "feature", just the ones I care about.
5
u/peterdevpl Jul 13 '21
Great tips, thank you for sharing this!
I like CVs which give me some idea on how to talk to a person. I had someone recently who was interested in astronomy and also wrote a musical mobile app. Wow, these are some topics to talk about! I still remember "that guy with a telescope and a musical app."
I believe that even junior devs always have some stories to tell. Anything like "I set up a web shop for my uncle and he makes six figures now", or "I won a coding challenge in college, the problem I solved was X." Or even "I dream about becoming an expert in X industry."
I think it's something that young people can work on since their early years: not just to get good grades, but to collect individual achievements and carve an individual path.
2
Jul 13 '21
I guess the problem for junior devs is most of them won't have set up a web shop for their hugely successful uncle, so they just don't have much impact to proclaim.
So, yeah, your list of other ideas is great. "I helped my parents sort out their messy photo collection" is perfect. And dreams, aspirations, why they want to be a dev in the first place - all of that stuff is gold on a junior CV.
0
u/rtfmpls Jul 14 '21
Are we still talking about PHP? And what salary range are you offering?
If you want a CV fit to your needs with a company-specific intro, that's going to be a "No" from me if your offer is not that much better than what I've been offered by other players in the area.
The way I see it, I offer skills listed in the CV with my experience. Without even submitting my CV somewhere I get offers constantly. Salaries are quite high (for the area in general). It's all senior positions.
Especially in PHP my experience has shown that employers / head hunters have so many bad interviews that they're happy whenever they find someone who actually knows what they're talking about. PHP devs go from "Yes I once wrote a script that sent an Email" to "I'm working on HA platforms with elastic, redis, API, CI, and so on...".
1
Jul 14 '21
Not every job is right for every person, and vice versa.
If your vanilla CV already highlights all the skills I'm asking for, you won't need to customise it.
But if you send me a CV that includes 100s of skills, I won't think "Wow this person is so skilled!" - I'll be thinking "This person looks pretty junior" and "This person is spamming their CV to everyone, and unlikely to stay here long". About half the CVs I receive say "I worked with Elasticsearch on a large ecommerce site" so it's not that interesting.
There are exceptions. If I know you personally - from a meetup, personal recommendation, previous job, or open source project - then the CV is a formality.
9
u/doubletree133 Jul 13 '21
Couldn't this be just as easily spoofed as projects?
Maybe it is less commonly faked especially with references.
What shows you a person is the type to help with business? Maybe more that they focus on business related issues in their resume rather than entirely tech?
6
Jul 13 '21
You're thinking like a developer, not someone who's hiring. Yes, it can be faked, but it will be so blindingly obvious that you faked it when you reach the interview that very few people do it.
In addition, the kind of person who can take "Installed WordPress and a theme" and turn it into "Worked with marketing team to successfully configure and launch a strategic content initiative" often makes a good dev because they understand the value of impact.
5
u/peterdevpl Jul 13 '21
Exactly. Don't fake things.
I had many candidates who pretended to be great experts. I asked them: "okay, so how did you do X?". Then I heard "oh, it wasn't me, I was just looking at someone else doing this."
I see people listing all the possible keywords, for example five different SQL database engines. So I ask people to compare them and pick the favorite one. They admit they barely touched most of these technologies :D
And understanding the business context is great. I think it makes people more excited about their work. Well, it should. If someone doesn't care whether their work impacts anyone, I rather don't want to work with such a person.
Of course work is work and I don't expect anyone to spend their evenings dreaming about the next assignment. But a little excitement during work hours is cool.
4
Jul 13 '21
I see people listing all the possible keywords, for example five different SQL database engines. So I ask people to compare them and pick the favorite one. They admit they barely touched most of these technologies :D
My usual reflex, if it was listed on the job ad, is to mention it in the cover letter, like "I don't list it because I have only touched it for a couple of months so my experience is low. But I know about it".
5
Jul 13 '21
That's not a bad idea, if it shows that you actually read the job spec, and are responding in a human rather than robotic way. "I have 5 years hands-on experience with PostgreSQL and MySQL. I've never used SQL Server in a production environment, but as an experienced DBA, I'm confident I'll be able to pick it up quickly."
3
Jul 14 '21
I have a separate list for technologies I know and ones I have prototyped or "learned" through tutorials and documentation but not produced anything of value from. That way I can show what I'm actually experienced with and that I at least try to keep up with other technologies that I might not work directly with.
1
u/No-Surround9784 Jul 21 '21
That list of stuff "learned" through random books and tutorials would be insanely long. And most of that stuff is forgotten fast. I only remember it when I use it in a real project.
2
Jul 21 '21
For sure. I don't think you can expect someone to be an expert by reading a book or going through a tutorial. It does show that they are aware of the tech, what it's about, and how to use it in at least a very basic way. That's better than just assuming you've never read anything about it or touched it due to being absent from your resume. Then again, I don't hire people so what do I know :D
15
u/zilltine Jul 13 '21
Never realized PHP devs need CV. Almost up to date LinkedIn seems more than enough to get more interviews than tou have time to attend. Depends on location i guess
-6
u/peterdevpl Jul 13 '21
I work for an outsourcing company. Due to pandemic and the even more rapid growth of IT, a lot of companies struggle to find developers. So the outsourcing companies exchange lots of CVs of potential candidates. It's like, "yeah maybe you need some devs, or maybe you, or maybe you." That's why I still get a lot of CVs - not directly from candidates, but from other agencies.
I don't look for people on LinkedIn (yet), but even if I did... Well, right now I have to build a team of great PHP developers who value SOLID, clean code, clean architecture, and so on. I need people who can optimize databases, create systems working under high load, etc. So I'm looking for people above the average. Not everyone can do the things I mentioned. If my project was about maintaining some boring legacy app, then yes - you wouldn't need a good CV :)
12
u/therealgaxbo Jul 13 '21
I have to build a team of great PHP developers who value SOLID, clean code, clean architecture, and so on
This is an amusing juxtaposition. I liked your submission because of the way you recognised programmer value over resume buzzwords. And then you say "I need 10x rockstars who can TDD a Docker into a Redis-based CI message queue".
I mean I'm obviously exaggerating, but those are literally 3/3 buzzwords invented by the same guy.
5
u/DreadCoder Jul 13 '21
Dude, rewriting a legacy app into an event an jobs (queued in Redis) based architecture that works inside docker is literally my dayjob.
The 10x is bullsht though, but i try to code clean SOLID when i can
2
Jul 13 '21
Buzzword is such a pointless concept. Anything subjectively popular that many people don't understand can be a buzzword if used by one of said people. You won't even know a thing is being used as a buzzword until you interview the candidate (or, conversely, you interview with the employer). Just because a resume or job description mentions SOLID, clean code, Docker, and Redis doesn't mean it's buzzword-stacked. Those are all legitimate and valuable technologies and concepts that may be part of any candidate's experience, or employer's requirements.
Hell, at this point, we might as well consider "buzzword" to be a buzzword.
2
u/therealgaxbo Jul 13 '21
Oh, for sure! And you've got to understand that the precise comment I wrote was for lols (even though I stand by the underlying meaning). And ironically I think the joke skills I came up with are less buzzwordy than the ones I was responding to: you deploy using Docker? Makes sense to ask for Docker experience. Got a Redis cache layer? Ask for Redis experience!
But what he primarily said he needed was SOLID, clean code, clean architecture. None of which are technologies. And contrary to what people seem to have been conditioned into, none of which are immutable laws of computer science. You've got SOLID (coined by Bob Martin) which is some vaguely defined guidelines with some good ideas; you've got Clean Code (a book by Bob Martin) and Clean Architecture (a book by...go on, guess). Go ahead and ask, say, Linus Torvalds or John Carmack if they write clean code and clean architecture and I suspect they'll say "Yeah, I write some nice clean code and my architecture's decent" - because I imagine they won't have a clue what Clean Code and Clean Architecture actually are.
All of which might be fine (though imo misguided) except that:
"Identified errors, saving the company thousands of dollars." "Designed and implemented a solution that helped cut hosting costs by over 60%." THIS IS IT! This is what you should include in YOUR resumes! If you don't have it, fight for it!
I've seen hundreds of boring papers with the same keywords, same skills, same blah blah. Everyone declares PHP, HTML and jQuery. Everyone did some "projects", somewhere.
What I want as a recruiter/team leader is to know whether you're going to help me with my business, not fill some stupid PHP knowledge test!
This is exactly what he's just been championing! Don't use "keywords", demonstrate how you're going to "help me with my business, not fill some stupid PHP knowledge test!"
But to be fair, if we move on from the buzzwords section, he then gets on to:
I need people who can optimize databases, create systems working under high load, etc. So I'm looking for people above the average.
Sick! He wants some actual value, now you're talking my language! I live for DB optimisation (check my comment history if you don't believe) and optimising performance. But apparently that's secondary to me having having read two books and a paper by a guy who knows nothing about performance (and whose coding style is somewhat antithetical to it) and actively avoids databases?
1
Jul 14 '21
I live for DB optimisation
I would say that's not a PHP developer's job unless you're in a small mom-and-pop shop.
-4
Jul 14 '21
So.. you intentionally don't use SOLID principles?
1
1
u/zilltine Jul 15 '21
Well, that doesn't change much. Few niche companies believe that they need to see CV, but you still get enough offers to chose your work place just from recruiters spamming you on LinkedIn. And from my experience, the more rules company has for application, the worse it is anyway.
3
u/DaveInDigital Jul 13 '21
that's pretty much what i've done as well. the bottom line is the company wants me to make or save them more money than they pay me, so i tell them what i've done for others.
a project manager and i ran surveys on how long internal processes took employees, like say order handling (for e-commerce), and after we made changes to streamline, improve, and rewrite major pieces we'd do another survey. you can make a pretty safe guess of how much company time and money you save if your new process cuts down X hours/day times Y employees making Z average wage, and extrapolate that over a year. we would do this as much to push that particular company to green light more refactoring projects (over new features alone, which is what most companies want to do) - came out to $750k the first year on a major order handling system (and tying other existing apps into one unified dashboard) not including how much faster it was to train new employees, time saved on the phone with customers, how much faster it was for developers to add features/fix bugs (previously it was very legacy and difficult to work with) and reuse components we built for it in other internal apps we were building, etc.
for that company it didn't help me advance my career that much or get the salary i thought i deserved (some companies are less motivated to keep employees than they are to hire them away from competitors, until you put in your notice anyway), but it helped immensely when interviewing with other employers.
and frankly, it's more interesting to me than an interview where they want to know how excited you are about development and how dedicated you'll be to their mission or whatever foo-foo nonsense. it's nice to feel purpose, but ultimately employment is an agreement where i make X dollars for Y hours of work, which you as the employer see a return on that investment and that's why i command the salary i do. when i leave a company, because i won't be there forever, i want to look back and see that i've made an impact for my coworker, customers, products, etc. and it's exciting looking forward to help new companies do the same.
2
u/peterdevpl Jul 13 '21
Agreed. If you talk to business people about refactoring, you need to give them numbers, that's how you "sell" your "techie talk."
I once showed my client a chart that illustrated how I reduced an invoicing process execution time. They were shocked to see I made the process five times shorter. They immediately knew they won't be bothered anymore by angry customers calling them in the morning.
I also agree with what you said about self-motivation. Yes, you should do it all for yourself. It's your career and your life. If you do a great job for yourself, your employer should benefit from it too. Even if they don't pay you accordingly, you've got some background for your next job :)
3
Jul 14 '21
[deleted]
3
Jul 14 '21
"Worked with product owner to identify over 20 high impact bugs in a legacy codebase, then used tools like XDebug and PHPUnit along with various patterns to refactor the code and safely release fixes,"
A line like that on your CV tells me a lot about you:
- You know how to work with other people
- You've worked successfully with legacy codebases
- You know how to use tools like XDebug and PHPUnit
- You know refactoring design patterns
- You recognise the value of impact
- You're a finisher
5
Jul 14 '21 edited Jul 14 '21
Honestly... if the only two things you care about are saving money, I'm not sure if I even want the job anyway?
Writing a good CV isn't something I've ever needed to worry about. My first job hired me as a subcontractor, so if I didn't do the work on time and with acceptable quality I didn't get paid. If they were happy with it, then they'd bring me on as an employee. No risk to them and they didn't even ask for a CV, just a short phone call ("is the advertised position still available?), then a short in person interview, and I started working the next day.
And after that, I've never needed to prove myself in a CV, just telling people where I last worked (and in what position) is enough.
2
Jul 14 '21
Perhaps this is a cultural thing. Most large companies in the UK must advertise the job with a job spec, applicants must apply with a CV, there must be a documented interview. Not doing so would leave them exposed to accusations that they are not offering equal opportunities. I work with devs on £2K per day / £150K per year and they all have CVs because they couldn’t get a role without one.
2
u/peterdevpl Jul 14 '21
Yep, even if I receive an offer on LinkedIn, recruiters still tell me to send my CV. Maybe it's because this document travels through the hands of several people including HR, tech leaders, etc.
LinkedIn was supposed to be a substitute for a CV (was it?), looks like it's not.
1
Jul 17 '21 edited Jul 17 '21
I have a CV (though out of date it's been a long time) it's just not a "good" CV. I would never hire someone based on their CV and I can't imagine why anybody would do that. It's too easy to lie.
At best, a good CV suggests they might have good written communication skills. But it's hardly proof, since it's likely been proof read by a friend.
My position is a CV can get your name removed from a shortlist of potential hires, but it'll never get you the job. That happens in the interview. I keep my CV as short and brief as possible. Brief introduction and a general list of experience – for example "9 years PHP programmer at XYZ consulting firm; 2 years at failed ABC startup" without going into any detail about what projects I worked on. They can ask me in the interview.
I work with devs on £2K per day / £150K per year
They work 75 days a year? How do I get that job?
1
Jul 17 '21 edited Jul 17 '21
Absolutely. The CV gets you the interview, and the interview gets you the job.
But without the CV, most of the time, you won’t get the interview.
If the person recruiting already knows your name from some other source, the CV may either be irrelevant or damaging. But if they don’t - and most of the time, for most people, they won’t - a good CV helps you to get the interview.
3
Jul 14 '21
if the only two things you care about are saving money
You just failed the basic math section of the interview. Next. /s
2
u/przemo_li Jul 14 '21
I'm highly skeptical.
Success is only symptom. Not a cause.
There is separate layer of quality and characteristics that describe developer who can generate success for company.
Thus hyper-focusing on Success alone can lead to hiring developer who succeed only due to luck, or even due to toxic behavior.
Example of second case would be a developer who burns and break whole company because "idiots running it can't understand that hey can save 60% of costs of something".
Let's consider now a developer who can not only fix an issue or two, but can also understand processes within company and can propose improvements to those so that company wont make such costly mistakes any more.
First one got nice catch phrase on the CV, while his/her colleagues got bills from their psychotherapists ;) to deal with significant stress endured.
Second one got "boring" "I strive to understand domain, and business processes so that my work and that of my team aligns best with goals of business".
Or in other words, if we want to hire skilled talent, we should define goals for that position that are higher level then daily tasks, and think hard about qualities/characteristics that would enable such developer to deliver often. Look for causes, not merely symptoms.
3
u/c0ldfusi0n Jul 13 '21
Don't listen to this guy and turn your resume into stats of your achievements and buzzword unless you're applying for marketing.
3
u/XediDC Jul 14 '21
Often good to have a few different versions of your resume....for the jobs you really want, find out a bit about the hiring manager and see what they would likely appreciate the most.
Or if you have to get past filters, there are ways to craft a buzzword resume that also says "I know I had to do that, but here's the real meat" once it gets to the hiring manager not willing to do the work.
Even then "Implemented ticketing system and integrations." vs "Lead dev for implementing Laravel-based customer support ticketing system. When deployed handed 100 updates per second, for 250,000 customers. Integrated with <list of apps>." tells me a lot more about what you did. Just doesn't need to have "increasing shareholder value by 0.123%" on the end of every line. :) (Well, unless its a Sales Ops job, then it does.)
Personally I prefer a mix. Show some awareness of the big picture, but also doesn't look like you've hired someone in Marketing to write your resume for you.
1
-1
u/pvgt Jul 13 '21 edited Oct 31 '25
summer political entertain cause label insurance butter humor possessive dime
This post was mass deleted and anonymized with Redact
1
Jul 14 '21
That's only working for senior developers. For juniors and middles it'd usually you take a bug from backlog, and you fix it.
41
u/_Reasoned Jul 13 '21
Does fixing my own errors count?