Question lists like these aren’t just useful for adjusting your interviews, but also for self-checks and assessments. Each company, team, and project often require a slightly more specialized expertise, which often leads to narrower interviews and “tunnel vision”. Looking at other people’s interview questions helps to review and adjust the questions and address the gaps, resulting in a more rounded interview and expertise.
The other day I came across this story by Guy Shachar, in which he shares his experience with hiring people and the lack of candidates.
The struggle is real. All the different startups are competing over the same human resource and let me tell you, the list of proficient talent isn’t as long as you might think. Or as someone once told me, the problem with going after the top 1% of talent, is that there is only 1% of top talent. In fact the only thing that’s harder than finding top talent employees, is finding top talent employees that are interested in working in your startup.
This reminded me of a long rant I wrote about ten years ago – Where did all the PHP programmers go? And I wasn’t even looking for the top 1% of talent at the time. I have been continuously involved in hiring for a number of companies since that blog post. I’ve tried a variety of different approaches with varying success. But the problem is real and it’s getting worse. There’s huge demand, insufficient supply, and the quality of the supply seems to be dropping as well, with many educational institutions falling behind the progress.
And it’s even tougher for the startups, as they don’t have much to throw into the competition with the larger established companies.
This TravisCI blog post welcomes AJ to the team. In it, there is a bit that caught my attention (except, of course, the one about bra burning):
If you’re so inclined, you can follow her on Twitter or run curl cv.soulshake.net.
Wait a second … A what? curl for the CV? I had to try it out. Here’s an even better way, for reading all the slides:
p=1; while [ $p -lt 9 ]; do curl -N cv.soulshake.net/$((p++)); read; done
Oh. My. God. Lo and behold, this is the coolest tech CV I’ve ever seen. Ever. Period. TravisCI is so lucky to have her!
“The Engineer/Manager Pendulum” is a great article about a career shift from engineering to management. Anybody who’s in engineering now and plans or even just wants to become a manager should read this. Anybody responsible for “promoting” engineers to managers must read this too.
1. Becoming a manager is not a promotion – it's a lateral move onto a parallel track. You're back at junior level in many key skills.
— Sarah Mei (@sarahmei) May 11, 2017
CNA shares some interesting news:
A proposal promoting startups visa, aiming to attract entrepreneurs from non-EU countries will be submitted to the next meeting of the Council of Ministers for approval, Cyprus President Nicos Anastasiades has said.
Addressing a graduation ceremony of IDEA, a starup programme co-founded by Bank of Cyprus and CIIM, the President also announced that a proposal from the legal framework for university spinoffs, liking academic research with entrepreneurship will be tabled within the next three months.
“We believe that the Cypriot startup visa will be one of the most competitive and will bring multiple benefits in the medium-term both as regards new jobs as well as promoting innovation and research and the boosting the competitiveness of our economy,” the President said.
Of course, knowing how long things take in this country (especially if the government is involved) and how twisted they get by the implementation time, one shouldn’t hold one’s breath. But there’s hope, if nothing else…
Amitj Aggarwal, former Staff Engineer at Google (2008-2012), has collected a whole bunch of data in regards to engineers salaries, in USA and worldwide. His points seem to be overly optimistic at times, but I don’t have any links handy to contradict his research.
Here are a few points to get you started:
- Zoho, Salesforce pay 40% more than Oracle, Cisco, GE!!!
- Top 7% or so engineers at Netflix, Amazon, Google, Facebook are paid more than $1.4M per year. Next 10% make $700K on average.
- Facebook has lost relevance to Slack, LinkedIn, Snapchat, Pinterest and Quora. If you are working at Facebook ask for a 50% raise else move to a startup.
- Oracle is loosing to cloud startups. If you are working at Oracle ask for a 60% raise else move to a startup.
- ENGINEERS DO NOT WASTE MONEY ON AN MBA. You will make 2X more on average as an engineer.
- Tableau, Splunk, Slack, Airbnb, Quora, Twitter, Facebook, Google pay more than $320K salary to their top hires. Definitely interview at these fine places. Uber top engineer salaries are $190-340K per year.
- Starting salaries for fresh software engineering graduates is now $130K-160K. Ask shamelessly. For the best ones its ~$180K.
- Apple pays 60% more than Samsung.
Following the recent post “10 Favorite Job Interview Questions for Linux System Administrators“, here is a more generic, but a much more comprehensive resource – “101 Most Common Interview Questions with Pass or Fail Answers“. It’s not as technical, but it provides a good summary of common interview questions, from the generic ones like “Why do you want to leave your current company”, through brainteasers like “How many gas stations are there in the United States?”, to stress and communication ones like “What did you do when you had a boss you didn’t get along with?”. The good thing is that you’ll find not only the questions, but also the suggestions on how to answer them.
Altogether, it’s a great resource to go through before your next interview. Most of these questions are very common, no matter which position you are applying to.
I’ve been hiring, firing, and working with developers of all sorts for the last couple of decades. In those years, I realized that each developer is very unique – their strong and weak sides, knowledge gaps, working rhythm, social interaction, communication abilities, etc. But regardless of how unique each developer is, it is often useful to group them into expertise levels, like junior and senior. Companies do that for a variety of reasons – billing rates, expectations, training required, responsibility, etc.
And this is where things get tricky. One needs a good definition of what a senior developer is (other definitions can be derived from this one one too). There is no standard definition that everybody agrees upon, so each one has their own.
I mostly consider a senior developer to be self-sufficient and self-motivated. It’s somebody who has the expertise to solve, or find ways of solving any kind of technical problems. It’s also someone who can see the company’s business needs and issues, and can find work to do, even if nothing has been recently assigned to him. A senior developer would also provide guidance and mentorship to the junior teammates. I’ve also came to believe that people with the real expertise have no problem discussing complex technical issues in simple terms, but that’s just a side note.
Anyway, recently, I came across this very short blog post, which sent me a spree of pages, charts, and discussions:
Because of this “What is a senior developer?” conversation on Reddit, I am reminded of the Construx Professional Development Ladders, as mentioned to me long ago by Alejandro Garcia Fernandez. Here is a sample ladder for developers.
The original article for the Reddit discussion – “The Conjoined Triangles of Senior-Level Development” is absolutely brilliant. In the beginning it provides a chart of the conjoined triangles of senior-level development, which reflects my definition and understanding:
But it doesn’t stop there. It dives deeper into the problem, and, eventually features this Venn diagram:
.. and more. By now, I’ve read the article three times, but I keep coming back to it – it just makes me think and rethink over and over again. Once it settles in my head a bit, I’ll look deeper into the Professional Development Ladder and it’s example application to the senior developer.
Overall, this is a very thought provoking bunch of links.
As someone who interviews a lot of people (mostly for the web development positions though, not system administration), I’m always looking for more ideas on what to ask the candidates. Today I came across “10 Favorite Job Interview Questions for Linux System Administrators“, which has a few of bits that I liked.
First of all, this GitHub repository is super awesomeness. It also links to a few other resources with more questions and ideas. Not only for sysadmin interviews.
Then, this one is funny, yet somewhat challenging:
2. Name and describe a different Linux/Unix command for each letter of the alphabet. But also, describe how a common flush toilet works.
It also checks that you know the alphabet.
9. Print the content of a file backwards.
“I like broad questions where each person could give a different answer depending on their depth of knowledge. My personal answer is 8 characters not including the filename.” – Marc Merlin, Google.
This one caught me by surprise. My immediate thought was “tac some_file“, but that’s obviously not enough. tac only prints the lines in reverse order. Which is not the same as reversing the file. Perl to the rescue, but I wonder what’s the most elegant way to do it without the scripting language.
As always, interview questions are not only useful for the interviews. They are a good measure of your own knowledge gaps and habit pitfalls. This time was no exception.
I enjoyed reading the article “Why Some People Get Promoted (And Others Don’t)“. Unlike many other in this domain, it is simple, direct, and to the point. TLDR version:
- Do great things.
- Tell people.
There are quite a few links to external resources, with research and insightful quotes. Here are a couple of my favorite bits:
‘[S]ent does not mean received’ is a profound thing. Half of your job in this studio is doing your work, the other half of your job is communicating that it’s been done. Because if you do it, and I don’t hear about it, how do I know what’s going on? I’m not trying to control everything, but in an intimate work environment, where we’re really trying to develop something complex, a nod, saying, ‘I got it,’ helps move things along.
And this part, which resonates with my inner blogger:
Asking for help is part of getting better at your job.
3. Work where people can see you.
Gaining visibility might require going outside your office. Maybe you have a side project, or maybe your work culture isn’t a healthy environment to pursue visibility.
Promoting yourself doesn’t have to be on someone else’s terms. Write a book, start a blog, make a side-project, collaborate with new people outside of work, or speak at panels and conferences. Tell people about what you’ve done, what you’re doing, why it’s important, and how you did it. Give talks, teach others, raise your hand for new projects.