Interview Questions to ask a developer

8 Critical Questions to Ask Developers Before Hiring One

When is the last time you hired a developer? If it’s been a while, you should know that things have changed. There are more developers out there than previously. All are competing for your business. That makes choosing the right developer a challenge—especially if you’re not a developer yourself.

Many developers will gladly take your money. The question is: Will they deliver results? The only way to tell beforehand, I think, is to first do your homework on development firms. Then meet with them and ask probing questions. This approach isn’t foolproof, but I’ve found it effective. It helps me tell if I’m hiring a good developer.

Below are eight questions I ask any developer I’m thinking of hiring.  Some questions are more technically oriented than others. But all can help you choose a firm that fits your needs.

Do you understand my business model?

It’s imperative a developer understands both your target audience AND your business model—especially if the developer is new to your industry. This information can help them tailor what they’re doing to your needs. If a developer refuses to learn those things, that speaks volumes about the developer. Find someone else.

May I contact past clients?

Ask a developer about clients its done work for in your industry. The question provides a more objective, relevant, and independent assessment of a development firm. When talking with past clients, ask them how the developer does with deadlines, pressures, and communications. The answers are good indicators of how it will work with you.

How will you update me on progress?

It’s vital the developer stays in contact during a project so you can exchange feedback. Good developers update clients regularly. It keeps the project on track and helps you complete it on time and budget. Good project management/collaboration tools are Asana, Basecamp, Trello, and Jira. Favor a developer that has an established methodology for updating.

Can I see apps you’ve built before?

There’s no substitute for experience. Or, results. The prospective developer should be more than willing to share its work with you. It’s a great way to tell if you’ll get a good return on your investment. If its portfolio shows stellar results, it’s likely a good choice. If it doesn’t have one to show you or balks at showing it, beware.

What’s your development process?

Ask about the average time it took to finish its last project. What unexpected problems cropped up during the effort? What did it do to solve them?   Also, ask if the developer uses agile development on projects. It helps developers finish projects quickly and efficiently, and is a proven approach to producing a minimum viable product.

How do you track bugs? Do you have a bug database?

Bugs are errors in software. They’re also a fact of life in software development. What’s critical is that the developer you choose has a methodology for handling them. Make sure the developer fixes them promptly. You don’t want a small bug to become a huge problem later on.

Do you use version control?

Vrsion control tracks changes in code. Savvy developers use it all the time. Different kinds of versions control software exist, but GitHub is probably the most popular. You simply download all your code to GitHub’s repository daily. You can also use GitHub to review a developer’s commit history. That’s where developers write notes to themselves to track what they did that day.

Do you do user testing?

Good developers have a user testing process. They use it early and often. If they’re testing an app, for example, a developer might bring in 30-60 users to take them through the software and identify problems. Make sure the developer understands and appreciates the value of users testing. Good developers will work with you to make sure that testing happens takes place. If they refuse to do this, keep looking for a developer.

Use these eight questions as the core for any interviewing you do. Feel free to add other questions—technical or business—to the mix. You can also ask for additional questions from teammates. I usually write all the questions down on a piece of paper and use it as a template for all my interviews. I also take notes during the interview.

What to know when hiring a software developer

7 Tips for Hiring a Software Developer That is Right for Your Business

Want to transform your company?
Hire a software developer. That’s right. Hire software developer.

Developers are game changers. They can increase your agility, boost competitiveness, and help cut costs. They also shorten time to market for launching new products and add valuable skills to your organization.

Often, developers are the difference between successfully launching a product having them crash and burn. Sometimes, they’re even the difference between surviving or failing as a company.

If you want to take control of your business, hire a kick-ass software developer.

Hiring Developers is a Challenge

Hiring a software developer that’s a perfect fit for your business is a challenge—especially if you have little or no coding experience or it’s the first time you’re hiring one. In fact, it can be a nightmare if you don’t know what you’re doing.

Below are seven tips that will help you find and hire a great developer. They’ll streamline the hiring process and increase your chances of finding a developer that fits your exact needs:

Take your time

Hire slowly, but fire quickly. It’s an old saying that applies. Don’t rush to hire someone. Create a process that can help you find the right fit for your business, then refine it as needed. Include a phone screening, an in-person interview, and a small test project in the process. Adding a developer to your staff is costly both in time and money. Take time to get it right.

Have a budget

Developers are in demand. And it’s going to get worse. According to the S. Bureau of Labor Statistics, developer jobs are expected to grow 17% from 2014 till 2024. Make sure you know the market price for a developer, then create a budget for hiring a new developer. Know what skill set you can get for your budget before contacting candidates.

Avoid software rock stars

Hiring rock stars or lone wolves can lead to all sorts of headaches. Look for team players instead. You want a developer that responds to timely requests, communicates well, has a positive attitude, and takes part in mandatory weekly/monthly SCRUMS. You want a developer that also respects deadlines and tells you when they’re going to miss one.

Takes feedback well?

Employees that bristle when they get feedback are among the biggest headaches for employers. Feedback is critical to improving processes and businesses. Look for developers that accept feedback well and are coachable. They tend to stay around longer.

Hire for fit and experience

Hiring someone with the right experience is important, but it’s not the be all and end all of adding staff. You also want a developer that’s a good fit for your company. Look for things like determination, persistence, dedication, and any other traits critical to your company. In other words, hire as much for DNA, as for experience.

Adapts well to change

Change is inevitable in business. So, look to hire a developer that adapt well to change, are flexible, and are willing to learn new things. Ask candidates questions like what programming languages have you learned recently, where do you go to learn new tips and tricks, and what tech conferences do you like the most. Answers to questions like these will tell you if a candidate is adaptable.

Do your homework

Finding developers through a website isn’t risk-free, so do your homework before hiring. Research and verify all aspects of the candidate—from qualifications and credentials to completed projects and work references. Check for reviews, too. And check the candidate’s social media pages. You can learn as much about someone from their Facebook pages as you can from their LinkedIn profile.

Be mindful of these tips when hiring a developer. They’ll help you find one that’s not only a great coder but also a good fit. If you’re hiring someone from an outsourcing firm, start the person off with a small task. It gives you a first-hand impression of what the person can truly deliver.

Also, stay connected with the development community—even if you don’t have an immediate need. Staying connected familiarizes you with what projects a developer is working on and when that person is looking to make a change.

Developers are game changers. They bring a lot to the table. But to squeeze out the most from a developer, you need to hire someone that has the right skills and experience and fits in well with your company.

Hiring the right developer can not only put you back in control of your company but also transform it from good to great.

How to secure your software

Build Security into Software Now or Pay Later: 9 Best Practices

Cloud computing. Big Data. SaaS. If you’re like many of today’s businesses, you’re leveraging these IT tools in your organization. And why not? They’re productive. They boost productivity, increase efficiency, and cut costs. Plus, they provide a healthy return on investment.

But these advancements also present unique security challenges—challenges that expose your most sensitive data to risk. That’s asking for trouble.

A proven way to beat these unique security challenges is to integrate security into your software development process—especially when it comes to web apps.

Web apps are easy prey for hackers. They can quickly penetrate them and gain access to your sensitive data before you know they’re there, leaving you with a legal and public relations nightmare to deal with after they’ve gone.

Hardening Web App Defenses

To harden web app defenses against an attack, you need to make security a primary concern during the development process. Below are nine best practices on how to weave security into your development process. They’re practices we’ve gleaned over the years while building web applications for clients:

  • Assume attackers are smarter than you — While you may know security well, your attacker probably knows it better. Plus, they may be using automated tools developed by a third party who also knows security well. That puts you at a significant disadvantage. Your best bet is to take steps beforehand to thwart any efforts hackers may make to exploit vulnerabilities once your site goes live.
  • Use existing solutions — Developing your web security components for things like authentication, encryption, and authorization, may seem like a good idea at the time, but it’s not. Use battle-tested solutions instead that have stood the test of time. Solutions to tough but common web security problems exist for most languages and frameworks. They save time, money, and aggravation.
  • Put the right foundation in place — You can’t take for granted that other people will protect your system. They probably won’t. So, put the right groundwork in place when building a web app, and make sure the critical parts of your system, like how you protect users’ data, are as fortified and scrutinized as they can be.
  • Implement proper logging — Inevitably, something will go wrong with your app. Maybe you forget to do something or there’s a bug no one saw before going live. When that happens, you must respond quickly before the situation explodes. That’s when you need to have proper logging implemented. That will provide you with data on what occurred, what led to the incident, and what else was happening at the time.
  • Encrypt everything you can — Even though you have a firewall and other defenses protecting your app, it’s still a good idea to encrypt everything—not just HTTPS. Better yet, look at encryption holistically when it comes to protecting your web applications. That might seem a little over the top, but scrutinizing security in isolation or one part of it is begging for trouble. Protect data both at rest and in transit.
  • Harden everything — You may want to harden everything, once you’ve encrypted your data. When we say everything, we mean everything—from operating system to software development and frameworks. Consider questions like ones below when securing your app, then make adjustments where needed:
  • Is your web server using unnecessary applications?
  • Is your software language using extra modules or extension?
  • Where do you store your session information?
  • Is all outgoing and incoming traffic restricted?
  • What’s the script execution time set to?
  • Keep it simple — Seems obvious, right? But developers aren’t immune from creating complex solutions where simple ones will do like the rest of us. Complexity, however, is the death of software and architectures because it quickly compounds itself. Stay vigilant and try to keep it simple when developing web apps. Simpler and leaner code makes checking and updating vulnerabilities easier.
  • Model potential threats — You should model for potential threats whenever you build web apps. Modeling these threats and testing for them will save you headaches later on. You should also be aware of new threats. They evolve and emerge all the time. If you have a development pipeline, don’t make it static. Continue to review to and modernize it to make sure that it’s working the way it should. Continuous real-time monitoring delivers results.
  • Build for the future — You can detect and nullify many attacks with minimal effort if you prepare properly beforehand. So, when it comes to investing in web app security, consider the cost of lost confidence, post-mortem forensic investigation, and significant redevelopment to harden your defenses when a breach occurs before deciding on a security action.

These nine best practices will help you build security into your web apps when developing them. Following these practices will help lay a solid security foundation for your apps, one that will make it harder for hackers to get at your sensitive data.

One final thought: The job isn’t over just because you’ve launched the app. The responsibility for an app ultimately lies with you. Stay current with what’s happening in the field, keep your software up to date, and never stop learning about security.

Also, stay abreast of the latest vulnerabilities. You may be well versed in your industry’s threats, but new ones are coming all the time. Staying up-to-date on what’s happening will help you beat the unique security challenges posed by IT advancements like the Cloud, Big Data, and SaaS.