I was wondering if anyone else had any questions they always asked the interviewer in the “we’ll give you five minutes at the end to ask us questions” bit in interviews.
Personally I always ask what the staff turnover rate is. Mainly because in my first dev job I was one of four people who started on the same day. One of the other guys left after two days, I left after six weeks, and another guy left after two months.
Another I’ll be asking after my current job is if they have a mainframe. I’ve now worked at three companies with mainframes and they all were old corporations where they were outsourcing loads of stuff to unhelpful companies (often IBM) which generally meant lots of headaches.
Here’s a few from me:
How many separate projects are developers working on at any given time? (Because I want to know if they expect developers to be context switching all the time.)
Is anyone sitting there with a stop watching checking what time I get into work in the morning? (Because I’m not hourly and don’t expect to be treated as such.)
Describe the work-life balance.
Are you agile? Not agile? Scrum teams?
What might an average day look like for me? Walk me through from when I sign in and log off for the day.
How do you perform automated testing here? (if they don’t, I’m concerned)
Do you enforce code formatting?
How do you deploy your code? (if it’s not a CICD pipeline, I’m concerned)
How involved in DevOps are developers? (Will o be expected to work on CICD code? Infrastructure as Code?)
What version control system do you use? (Of the answer is nothing, the interview is over. I will not work there. If it’s something other than Git, I’m not excited about it.)
Is Docker used here? (Docker makes me very productive, I’m concerned if Docker is a tool I’m not allowed to use.)
Are there any other programming languages I’ll be using other than <advertised language for the position here>?
Are SOLID principles common practice here? Or rejected as unnecessary? (I love SOLID and think it’s useful much more than not. If SOLID is frowned upon, I probably won’t be happy there.)
Can I choose what sort of machine I get to work on? (If I can’t work on MacOS, it could be a deal breaker… I love MacOS for development, sue me! 🤷♂️)
There are places that hire developers, but don’t use a version control? I’m so shock at this.
For agile thing. I would ask them to describe how they do agile also. You can have a waterfall that called agile as well. Or Agile that estimate ticket with time instead of complexity.
Yeah, there are. There are places that don’t use CICD, don’t use TDD, don’t consider DDD beneficial, don’t like to have development teams talk to product/sales/users directly… all of these are massive, horrible red flags.
I work as a pentester in a medium-sized company, and since it was my first job, I didn’t realize for years that we’re actually not using VCS for any scripts or internal development. Even though I work on a hobby game project, and have used it for my personal project ever since highschool, I just for some reason didn’t realize it. Maybe because I wasn’t doing much internal developemnt, or that we didn’t share scripts that much and usually just used tools off github anyway.
But then I switch to part time, and got another part-time in a small indie studio, and we used VCS for everything. And that was when it hit me - I was supposed to develop a script for something in the pentest job, and since I was by that time pretty used to “first, make a repo.”, I started looking for one without a second thought. And realized that no, we don’t have any kind of company git and it was never needed.
I still don’t get how didn’t I realize it sooner - by that time I was there for 3 years. And it was suprising that noone, including seniors with decades of experience, ever saw the need for it. I guess it’s because we usually work alone on projects, or onsite, and since we are doing announced tests with AV disabled, there’s no need to recompile or edit open sourced tools, so there’s not that much to share.
We still don’t have a repo, but all of my tools or scripts related to work are on github now, which we share with a few colleagues.
But how does your team collect works as a reference or whatever? Like just upload then to the cloud or something?
We have a shared drive for that, on a VPN.
I guess asking for version control is the reverse-interview version of coding FizzBuzz.
Believe it. The world runs on garbage software. 🌎