Loading...
Answers
MenuWhat 3 questions to pose to a developer, to gauge his expertise level?
If you're looking for a skilled developer, but knows nothing in programming - you're just aware of the existence of languages like ruby on rails, java script, python, etc..
Answers
If you're not technical yourself, then you might not be able to gauge the efficiency of a candidate's algorithms or critique her code.
But there are still some higher-level, more behavioral things that a non-technical interviewer should be looking for in a strong development candidate:
1. What are some tech blogs that you follow? Explain an interesting article to me that you read from one of them.
The software development world changes all the time. Best practices are constantly evolving and new libraries are regularly released which make developers more productive. If a candidate doesn't keep up with the latest software news, that might be a red flag that they're not curious or trying to improve themselves.
Also, having them explain a technical concept to someone who's non-technical is a great way to gauge their communication skills. Do they seem like someone you could work with and understand easily? Do they care about pausing to make sure you understand, or do they just drone on with jargon? If you feel overwhelmed while they're explaining this answer, imagine how you'll feel when they're telling you why the product has bugs or isn't going to be done on schedule.
2. Tell me about a time you ran into a big roadblock with something you were building. How did you get past it?
It's inevitable that a software developer will get tripped up or have to solve some Gordian Knot. Everyone has to bang their head against the wall from time to time. Maybe an API didn't have the data they needed or some function was running too slow and they weren't sure how to speed it up.
You're looking to see how they are as a problem solver. Did they come up with a clever but hacky solution? Were they methodical or did they fly by the seat of their pants? Did they go back to the stakeholders and see if the feature's requirements were flexible? Did they work on it for hours and hours trying new things? Did they ask for help from colleagues or on the internet?
No right or wrong answers here, but you want to get the sense that this isn't someone who throws up their hands when they hit some friction.
3. Tell me about your favorite project that you worked on. What work are you most proud of?
By asking them about the project they're most proud of, you'll get to see what it is that they value most. Maybe one candidate is most proud of a side project they built, even if it wasn't that technically complex, while another candidate is proud of their esoteric PhD project or some specific algorithm they improved.
Again, no right or wrong answers, it really depends what type of candidate you're looking for. But it lets you see into their mind a bit, and get at some of the aspects that can make someone a strong development candidate.
If you want to talk more specifically about hiring for your team, I'd be happy to do a call!
It's hard to evaluate a technical candidate as a non-technical person. Probably the best thing you can do is find another technical person you trust to do the evaluation.
That said, there are some tertiary skills you can definitely verify. If somebody is going to be reporting to nontechnical personnel (which is probably true if you're trying to evaluate them, being a nontechnical person yourself) then things like clear communication, expectations management, and raising concerns before they become problems are all really important.
When evaluating a technical person who's going to report to non-technical management, I would ask things like this:
1. Show me a report you've written to advise upper management.
Somebody who has clear communication skills with management will have a track record where they've demonstrated those skills. Depending on confidentiality issues, they should be able to pull up an email, a document, a presentation, where they advised a nontechnical person. Maybe they were approached to evaluate a technical direction for a product, a team, the whole company, etc.
2. Tell me what you did when a project had serious problems.
All projects have problems sooner or later. The question is how you handle them. A good engineer should raise concerns, accurately, promptly, and clearly, and be ready to discuss possible changes in course. However some organizations shoot the messenger, so be careful not to judge a person for a whole organization's dysfunction.
3. Show me a project you're proud of.
A good engineer will have a demo of something to show you. Don't get caught up too much in how closely it matches what you're hiring them for--it's hard for a nontechnical person to judge whether software is alike or different under the hood. Instead focus on how they communicate. Do they explain the problem well? Do they explain the solution? Does it work well?
Keep in mind the candidate may have had factors outside of their control (customers, management, technology) that explain some deficiencies in what they've built. But how do they respond when challenged? Are they hostile? Are they empathetic? Do they start to problem-solve? Those behaviors are probably ones that will carry forward if they're hired.
It's hard to judge a programmer at programming if you're not one yourself. That's why you should go to another programmer you trust to get an opinion. But you can definitely judge his/her communication skills. And if your developer is reporting directly to you, that's going to be equally, if not more important.
#1 Ask their opinion about language X or framework Y
Programmers should be opinionated. There should be a language or tool that they believe is the best (until something better eventually convinces them otherwise). This is because they've gone through growing pains and faced challenges that they were able to solve with some specific language or tool.
I always tell people that a red flag is when a developer has no preference. I've used many languages and currently work with 3-4 throughout any given day, but there is one that I'm most excited about.
Remember to ask "why" a lot, but you don't need to understand how the languages, frameworks, or tools work. You're just trying to dig for more and maybe even add a little pressure. You're looking for interest, motivation, and enthusiasm.
You can also, sometimes, determine here if the person is good cultural fit...Sometimes being over opinionated can be a bad thing. You certainly don't want someone who is really negative on a team.
This is a really good entry into the next two questions.
#2 Ask about challenges they may have solved.
This should be very natural coming off the last discussion because, again, they likely use what they use because it helped them solve a difficult problem in the past.
Nothing is easy about programming (especially for the web or mobile). You should never hear from someone that they didn't face any challenges. If you do, then they likely aren't experienced enough.
This question is important to see how they understand business problems too. Look for that. Ensure that they understand business goals and how sometimes the code isn't exactly how they'd like...But it helped the company make money or made the client happy.
There's a give and take to web programming that many programmers don't get. This leads to a lot of frustration because something wasn't done "properly" or up to some standard. Believe me, I've warned people many a time and I'm not always happy with the code I have to work with...But I've also seen "bad" code make millions of dollars.
#3 Ask what communities and projects they belong to and contribute to.
Most web developers should be into open-source projects and tools. They help us get the job done faster, plain and simple. They also help us learn.
To see a web developer unaware of any, not using any, or not engaging with people (even to ask a question or file an issue on GitHub)...This is a huge red flag in my book.
You want a developer who is active in the community because they likely then can reach out to others to solve problems that they have a tough time with.
Contributing to open-source projects also means they understand process and how to work with a team (usually) because these projects have guidelines and a process for contributors.
This can, yet again, be a signal for cultural fit. Does the developer go off and argue with people in the community? Or are they constructive and friendly? Do they not even bother to talk to others in their industry? Why?
These are all high level questions that pretty much naturally fit together and are what I've been using for years...And I'm a developer! I could ask more technical questions, but at the end of the day it's the cultural fit, motivation, and ability to learn and problem solve that interest me more.
I don't want someone who knows only X language and is even the best at it. I want someone who can learn X, Y, and Z should they need to.
I've been a developer, consultant, manager. I've conducted hundreds of phone screens and interviews. Even now, I can tell you that it's difficult to gauge someone's experience, particularly in a short timeframe. I doubt I could accurately gauge someone's experience in three questions.
Technical assessment is hard. There's no simple solution, so I can't give you something totally reliable. The two most reliable ways I know to assess someone are:
- Referral: If you trust someone's judgement and they've worked with that person before and they strongly believe that person can help you, that's usually been pretty reliable for me.
- Actual Work: If you have a very small list of candidates, preferably one that you're seriously considering, start doing some actual work with that person, but keep your options open. Start building trust with regular delivery of working software. Get some early deliverables defined, have that person deliver you an early work product -- maybe a prototype. Continue to build on that incrementally. Either the candidate will show you with each incremental delivery that they can get the job done, or they won't, and you'll be able to make ongoing decisions about whether or not you want to trust the rest of your project to that candidate.
But, back to the meat of your real question -- how would you quickly assess a potential candidate to see if they might be a good fit? To be honest, I think trying to assess detailed technical skills if you don't have them isn't really going to work. Any question I could give you, they could fake easily enough if they're more technical than you are. You'd be better off trying to relate to them in the way that you expect to -- as someone who doesn't know programming and will rely on them to bring that skill-set. Ask them questions you want answers to about how easy and hard parts of your project will be. Ask them to help you understand how they will accomplish parts of the project. You won't necessarily be able to assess the detailed technology they're describing, but you will get a sense for whether or not they seem like they know how to go about your work, and whether they'll be able to communicate well with you and give you the information you need.
Once you find the right person who can communicate with you, then go back to my earlier response, and work on building trust through continuous delivery of software.
I've interviewed hundreds of folk for coding roles and indeed, I still have to do it in my own startup.
Although I myself am a coder, I still use a lot of non-coding techniques to sift through other coders. There are a few options nowadays, all of them you have to go fish a bit and there are a few pitfalls with this which can result in false positives/negatives, so don't rely on any one option as your only source of truth. Combine the results and make sure to get a decent sized historical record where they exist.
1. Go to sites like Stack Overflow and see if they are on it and what their ratings are.
2. Check if they have a GitHub account. You won't be able to verify their code, but look at how often they've done stuff recently, what they're contributing to, check their icket contributions and discussion, how many commits they've made in the codebase etc.
3. Read their blogs. Again, useful as a historical record.
4. When speaking to coders, make sure they're talking about the value they deliver to you, not just the code. Code isn't written for code's sake, it's got some value to it.
As others above have said, there is definitely mileage in evaluating the way they communicate as well. Since you'll be working with them and if they can't communicate with you, then you'll both be a bit stuck.
I've missed out a lot of detail here. Give me a prod if you need me to goo into more detail for you.
To understand how experienced a Web Developer really is, you must understand what options they have, because experience may differ from how your company views it from the other companies. Look from a Developer’s perspective as if you are a developer yourself:
1 – You can work for someone (a company)
2 – You can work for yourself (freelancing)
3 – You can work for someone AND yourself (do freelancing on the side)
Here are a few questions you can ask them:
1. Tell me about a project you are particularly proud of. What did you do that worked out well?
It is best to ease your developer candidate into the interview gently. Their response will also give you an early indication of their ambitions and perceived view of success and way of working. For example, did they mention other team members during their answer, or just focus on their own efforts?
2. Tell me about a project that disappointed you. What would you change?
Continuous self-evaluation is a must for a developer. You do not want to employ someone who continues to make the same mistakes.
3. What is hard about coding?
This is, for all intents and purposes, another way of asking the web developer what his/her weaknesses are from a technical perspective.
4. How do you do testing? And what do you think about this? How would you improve QA?
Good code means a less buggy web applications and fewer coding crises. A good web developer should value testing and respect the QA process, because it will cut down on the number of late nights where they try to find an issue which has been uncovered in the code.
5. How are you keeping up with the latest developments in web development?
In other words, this will determine if your candidate continues to learn programming and makes the effort to stay on top of his skills. You can ask your candidate about their favourite programming-related Twitter accounts and why they like it, for example. If your candidate does not use Twitter, ask which tech publications they read and authors or personalities in the dev world they admire and why. Web development is always changing, so being curious about the latest trends and forming opinions about them is typically a good sign.
6. Talk about your preferred development environment
It does not matter whether your candidate is working with your exact development environment or not — but you do need to find someone who is adaptable to different environments and will voice their opinions. It will also give you an indication of whether they have experience with frameworks, version control systems, unit testing, and others.
Besides if you do have any questions give me a call: https://clarity.fm/joy-brotonath
Related Questions
-
How can I manage my developers' performance if I don't understand IT?
Whenever you assign them a task, break down the task into small chunks. Make the chunks as small as you can (within reason, and to the extent that your knowledge allows), and tell your devs that if any chunks seem large, that they should further break those chunks down into bite size pieces. For instance, for the overall task of making a new webpage, _you_ might break it down as follows: 1) Set up a database 2) Make a form that takes user email, name, and phone number and adds them to database 3) Have our site send an email to everyone above the age of 50 each week When your devs take a look at it, _they_ might further break down the third step into: A) Set up an email service B) Connect it to the client database C) Figure out how to query the database for certain users D) Have it send emails to users over 50 You can keep using Asana, or you could use something like Trello which might make more sense for a small company, and might be easier to understand and track by yourself. In Trello you'd set up 4 columns titled, "To Do", "Doing", "Ready for Review", "Approved" (or combine the last two into "Done") You might want to tell them to only have tasks in the "Doing" column if they/re actually sitting at their desk working on it. For instance: not to leave a task in "Doing" overnight after work. That way you can actually see what they're working on and how long it takes, but that might be overly micro-manager-y At the end of each day / week when you review the tasks completed, look for ones that took a longer time than average (since, on average, all the tasks should be broken down into sub-tasks of approximately the same difficulty). Ask them about those tasks and why they took longer to do. It may be because they neglected to further break it down into chunks as you had asked (in which case you ask them to do that next time), or it may be that some unexpected snag came up, or it may be a hard task that can't be further broken down. In any case, listen to their explanation and you should be able to tell if it sounds reasonable, and if it sounds fishy, google the problem they say they encountered. You'll be able to get a better feel of their work ethic and honesty by how they answer the question, without worrying as much about what their actual words are. Make sure that when you ask for more details about why a task took longer, you don't do it in a probing way. Make sure they understand that you're doing it for your own learning and to help predict and properly plan future timelines.LV
-
What companies have successfully implemented both B2B and B2C products or services? Which should I start with for the non-profit sector?
I would suggest the first question to ask is "what problem do I solve?" And of those people I solve problems for "who do I create the most value for?" In the non-profit world you need to add "How does my business help the non-profit run better and/or help the group the non-profit focuses on?" For example, if you've created a platform that drives donations, your company "has created a platform that helps you reach fundraising goals faster." What you don't want to do is market and sell to B2B and B2C audiences simultaneously. They have different ways of buying - a B2B audience needs to have their benefits quantified (using your thing makes me x amount more) - and it's extremely hard for a startup to be able to do both well. Better to start with one, execute really well and move into the other. Feel free to give me a call and we can dig into who your most valuable audience is.AV
-
What are the key accomplishments for the first year of a startup?
A generalized question can only get a generalized answer. The most significant accomplishment is validating that the product you have built is a fit with your target market. This is demonstrated primarily by engagement (the people who sign-up or who previously visited, continue to return) and secondarily by growth, ideally based on word-of-mouth or viral growth but effectively converting paid traffic is a great second prize. Other significant accomplishments include: Not running out of money Recruiting and retaining great talent who believe in the founders' vision. Your loved ones not thinking you're as crazy as they thought you were a year ago. I'm happy to talk to you in a call to give you more specifics about what you want to set as your goals more specific to your startup.TW
-
How much should I charge to develop a WordPress site?
Take the # of hours it takes you to do it and charge $50/hour. That's the price. Eventually you can charge $100/hour but that will require a bigger customer. If the customer is small < $1M in gross sales per year - charge $50/hour If the customer id medium < $1-5M / sales - charge $75 Over $5M - charge $100 The challenge you'll face is clearly defining the expectations and handoff so that you're not stuck doing stuff that you can charge for and always getting interrupted from past customers.DM
-
What is the best method for presenting minimum viable products to potential customers?
Whoa, start by reading the Lean book again; you're questions suggest you are making a classical mistake made by too many entrepreneurs who live and breath Lean Startup. An MVP is not the least you can show someone to evaluate whether or not building it is a good idea; an MVP is, by it's very definition, the Minimum Viable Product - not less than that. What is the minimum viable version of a professional collaboration network in which users create a professional profile visible to others? A website on which users can register, have a profile, and in some way collaborate with others: via QA, chat, content, etc. No? A minimum viable product is used not to validate if something is a good idea but that you can make it work; that you can acquire users through the means you think viable, you can monetize the business, and that you can learn from the users' experience and optimize that experience by improving the MVP. Now, that doesn't mean you just go build your MVP. I get the point of your question, but we should distinguish where you're at in the business and if you're ready for an MVP or you need to have more conversations with potential users. Worth noting, MOST entrepreneurs are ready to go right to an MVP. It's a bit of a misleading convention to think that entrepreneurs don't have a clue about the industry in which they work and what customers want; that is to say, you shouldn't be an entrepreneur trying to create this professional collaboration network if you don't know the market, have done some homework, talked to peers and friends, have some experience, etc. and already know that people DO want such a thing. Presuming you've done that, what would you present to potential users BEFORE actually building the MVP? For what do you need nothing more than some slides? It's not a trick question, you should show potential users slides and validate that what you intend to build is the best it can be. I call it "coffee shop testing" - build a slide of the homepage and the main screen used by registered users; sit in a coffee shop, and buy coffee for anyone who will give you 15 minutes. Show them the two slides and listen; don't explain, ONLY ask.... - For what is this a website? - Would you sign up for it? Why? - Would you tell your friends? Why? - What would you pay for it? Don't explain ANYTHING. If you have to explain something, verbally, you aren't ready to build your MVP - potential customers don't get it. Keep working with that slide alone until you get enough people who say they will sign up and know, roughly, what people will pay. THEN build your MVP and introduce it first to friends, family, peers, etc. to get your earliest adopters. At some point you're going to explore investors. There is no "ready" as the reaction from investors will entirely depend on who you're talking to, why, how much you need, etc. If you want to talk to investors with only the slides as you need capital to build the MVP, your investors are going to be banks, grants, crowdfunding, incubators, and MAYBE angels (banks are investors?! of course they are, don't think that startups only get money from people with cash to give you for equity). Know that it's VERY hard to raise money at this stage; why would I invest in your idea when all you've done is validate that people probably want it - you haven't built anything. A bank will give you a loan to do that, not many investors will take the risk. Still, know not that your MVP is "ready" but that at THAT stage, you have certain sources of capital with which you could have a conversation. When you build the MVP, those choices change. Now that you have something, don't talk to a bank, but a grant might still be viable. Certainly: angels, crowdfunding, accelerators, and maybe even VCs become interested. The extent to which they are depends on the traction you have relative to THEIR expectations - VCs are likely to want some significant adoption or revenue whereas Angels should be excited for your early adoption and validation and interested in helping you scale.PO
the startups.com platform
Copyright © 2025 Startups.com. All rights reserved.