I am notoriously bad at picking good people. How do I make a good hire?
I am looking for a database developer that will do the work at a reasonable cost. I have a database to develop with the possibility of an app down the road. For now I am in the market for a developer (database) and am notoriously bad at picking good people. Therefore, this finds me cautious and lacking confidence in who I choose.
There are three things you should look at when hiring. Two of them are readily available and the third you have to dig at.
1. Do they have the requisite skills do do the job? This is fairly easy to judge and there are a number of ways you can do this, for example, work history, certifications, etc.
2. Do they have the right domain experience? That is, do they know enough about your industry and what you are looking for to be able to accomplish this task. For a database developer this might not be terrible important.
3. Do they have the right "DNA" to do the job? That is, will they fit into your culture, will they have the work ethic you're looking for, how are they motivated, what drives them? And, a ton of other issues. This one is very tricky. As a start I usually use an assessment tool from www.talentanalytics.com (I have no financial stake nor interest in them, I just like what they do.)
It is incumbent upon YOU to write a good job description and tell them exactly what is expected of them (for example, are they expected to work 9-5 or are they expected to work as long and hard as it takes to get the job done?)
I had a client once who couldn't understand why people behaved a certain way. I asked him "do people know what's expected of them at work?" He said "I'm not sure" and then he went out and told each person exactly what was expected of them (a lot of cultural stuff here too). Results improved quickly, and a few people left.
I empathise with your problem as I come across this on weekly basis with clients.
The issue most clients face is Databases are a bit of a Dark Art and as professionals we do not help anyone including our own industry by speaking a lot of jargon to keep the myth going (and the high fees!).
Most clients have not spent enough time defining their needs, or to use the software development terminology “Requirements Capture”. This cannot be achieved in a couple 1 hour meetings with a salesperson, but requires people who understand their business to document what their business does. It then requires someone who understands how software and databases work to translate that into a database relationships, dependencies and interactions. This is a highly skilled job and requires different skills to a Database writer and salesperson. Usually you deal with either a salesperson or a database engineers and that is where things go wrong.
That is why we have Solution Designer as a specific function in our business which is not the same person as writes the database or designs the front end of the application or the website ( all completely different skills).
To help clients create a database or any database dependent application we give the following advice:
1. Define your operational needs and objectives
Customers are notoriously poor at this. People know their business and have a vision of how things should work but rarely do they document this in a useful format that can be used as basis of creating an application or database. This typically needs full description of the processes involved including schematics, flow charts, input-output, etc. If the database is created from sketchy information or from a “Wish List”, your project generally ends up in trouble.
2. Consider “What if”
Most client's do not think about different scenarios and do not anticipate their changing needs in the future. Worst still is when they assume their processes with their business runs like a clockwork 100% of the time (never come across any company that could claim that in real life). In most cases databases and applications are created to solve today's problem with little thought about the future needs or those cases that are dealt with “Common Sense” or “Human Intercept” today. This is how many of the UK Government's data projects run into trouble (UK is not unique in this).
3. Do not reinvent the wheel
There are many databases and applications that are already on the market which can cater for most people's needs but because they are not being used in the client's sector, customers dismiss them and start reinventing the wheel. Here is an example for you. Last year we were approached by a Boat Charter company to create a website and database for chartering boats. Once we started to examine what they wanted from their database and website, we quickly realised we can achieve everything they want by using our existing database we were using for Real Estate and Vacation Rental industry. Our biggest problem was convincing the client to appreciate that renting boats and houses are the same. You have an asset (House or Boat) that you want to allocate (rent or charter) to a client for a specific period of time at a different rates during the year (Seasonal Rates in Hospitality). Our client had a hard job getting their heads around this because all they could see was a Vacation Villa and not a Boat! All it needed was to imagine their Data Labels and Replace the traditional Vacation Rental labels, such as Berths for Bedrooms, Galley for Kitchen, Beam Length for SQM, Terrace/Garden size with Deck size, etc.
Databases can be created at reasonable cost if you are lucky enough to find an existing database that is being used for other sectors or applications which can then be adapted to your needs. However creating a database from scratch is never a cheap exercise, as it requires in-depth understanding of the client's business, processes, and objectives. This is time consuming and requires specialist's time which can escalate costs considerably.
All of this conspires to make it difficult to assess the capabilities of a supplier given that most clients do not have a valid reference point to assess the ability of the supplier to deliver. After-all how can you assess people's judgement until you have experience their judgement first hand.
I hope this helps frame the problem you are facing and of course we will be very happy to help you in your project.
I use an academic approach to hiring because researchers have already discovered many traits related to high performance, unfortunately I see them rarely applied in real world recruiting. Some of the traits that stuck in the front of my mind is cognitive ability, motivation and leadership experience. For strong cognitive ability I look for proof like, where did they graduate in their class? Did they ace any vigorous tests? A joke comes to mind, what do you call the person who had the lowest score on the Medical Exam? A Doctor! Who do you want operating on you? For motivation, you need to find out what motivates the person and if what you are offering would be motivating to them. Finally, leadership experience, is a strong indicator of future performance. What I see people do is create criteria around specific experience with specific platforms when really leadership experience trumps all of that. – Anyway, with all that said, I’d love to help you with your database! Would you mind in boxing me the specifics? I’m trying to get my consulting business off the ground, so I am more motivated to give you a top notch product at a lower than market rate.
I'm with David. As a business and marketing strategist, and coach to business owners and leaders, particularly in smaller businesses the reason for a failed hire is not because they could not do the job... it is because of a mismatch in their core values, attitude, work ethic, etc.
Define those things for yourself and your business, determine the right questions to aks to get at that, check references with respect to those issues, and preferably even test them to provide you a behavioral analysis of them -- all of which make great tools to hire that right person.
Asking them what database development and business problems they have encountered, why, and how they overcame them is useful. Even if you're not technical, just pay attention to your gut feel and this can be very helpful. Ensure they have developed databases in the same software languages and similar business domain before. They need to understand the key needs of your users. Rates: their first offer is never their lowest. Always take 2 verbal references from previous client's.
Databases are somewhat of a dark art when it comes to high-performance applications but do a decent job in most cases. If you're not after sub-millsecond response time, nor millions of rows, you're not necessarily after an expert. In the office, we had to design a mid-size, data-intensive database and I know our requirements in terms of hiring were beyond the skills of a number of candidates that visited us.
For small applications (let's say less than 1GB of data on disk), I would suggest that you choose an application developer with some database design experience and hook this person for your future developments: this person will have in mind the features that will come in handy when time comes. Multiplying contractors is likely to cause bad decisions on the way and no one responding for it.
Now, when you say " I have a database to develop with the possibility of an app down the road", I suspect you really mean that you need a minimum application at least to feed data in. This would confirm my suggestion.
I'm sure you will have lots of candidates to support you but it would be a pleasure to help you at least with the requirements gathering process.
in general terms, what would be:
1) Content - like customer list, course content, etc.
2) Scale - hundreds, thousands, millions of rows?
3) Usage - for what purpose - generate mailing lists, ettc.
4) Technology - what DBMS are you comfortable with in order to access data?
Recruiting is one of the most difficult thing for a business leader. Candidates are highly prepared and you can easily miss some of their weaknesses. My recommandation is to add some practical exercises in your hiring process like in assessment centers to make sure that people you hire have really the knowledge, accurate behaviors and skills that you expect and need.
Get clear on the ABC's of what you are looking for in a hire.
Do you know why the last was a bad hire? Put pen to paper and write down what didn't work.
Then consider the Attributes, Behaviors, and Characteristics of an ideal candidate. When you are hiring there are only three questions:
1. Can they do the job (skills / attributes)
2. Do they want to do the job? (passion / behaviors)
3. Will they fit in the company? (characteristics, culture)
You need to be clear on who you are looking for and how you work, then you will know what to ask them to figure it out.
Ok this post is double pronged, I thought you wanted advice on picking good people, but it turns out you're looking for someone to do database development. There's enough people here addressing your database needs so I'll just stick to your other issue.
I do Brand Development which requires a strong knack for reading into people and their motives through whatever info I'm able to observe. So far from what I'm seeing about your situation is it isn't that you attract bad people, you some how wind up putting people in situations that bring out the worse in them.
For starters, when someone feels the need to emphasize "reasonable price" its' because they've been all over the world and back and everyone they've consulted with gives them a large number. Then because they don't understand just what it is they have to do and are usually under the assumption that their needs are simple, they feel like everyone is trying to rip them off. When in reality some of those huge numbers may have been great deals, which are "reasonable" prices... which means that person is really looking for a "low price". Other times they just flat out don't want to pay for what they want so anything over a hundred bucks or so is "too much".
What this does is limit the person to College kids and new Entrepreneurs who feel the need to do everything for a "lower price" in order to build their portfolios so they'll jump on the project not realizing what they're walking into. Something about what you want may be impossible to do in the way they've been taught and they don't know it yet. The scope of the project may drag out to where they're hurting theirself drastically at the price they're being paid. As a result they start to buckle and come up short and from your perspective the problem is them and not your requests.
Then there's those who honestly are bad and flat out LIE about what they do who make the problem worse. An example of this would be how there's Graphic Designers out here who use template designs for Advertisements and fliers and LIE saying they're doing everything from scratch and will give a Client 10 completed examples to choose from the next day for under $50.
This mis-educates the client on what's realistic to expect and what's not, so when they come across a Designer who actually does do everything from scratch and they quote a price that's 10 times what the other guy charged and takes a week or two to do.... that Client looks at them like they've lost their mind and says things like "no... I KNOW it can be done because the last guy I dealt with did it... AND they had ten samples ready the next day AND they only charged $40.... so what;s YOUR problem?".
Due to things like that a lot of people make very unrealistic demands on those they contract work to and when the goals can't be met they blame the person they hired and deem them incompetent.... which makes them feel bitter and frustrated because no matter how hard they try they can never get you to see the light.
Another thing I noticed, is you didn't specifically ask for any type of database developer which shows you haven't done much research into it to discover which methods would best suit your needs. To YOU database development is database development and the method doesn't matter as long as they can get it done. But in reality there's SQL databases that works off of a table structure like Microsoft Excell and there's NoSQL languages such as MongoDB that stores information in documents to help resolve issues people run into with table based databases. Then there's the means of how these things will be used on the website which can be programmed with either Ruby, NodeJS, JSON, Python etc. which all have their own strong points to consider.
So to resolve your issues with running into "bad people" I urge you to really dig into each area of your Business and look into how everything works. You can go on youtube and watch tutorials on SQL and MongoDB just to see first hand what your developers have to do... even if you don't understand it at first or ever plan to do it yourself it's good enough to become familiar enough with everything to know what's actually going on under your roof. It will also help you figure out which solution is best for your needs as well as shed more light on some of the problems people run into that you're currently unaware of.
This same thing applies to videos and graphics. before hiring a graphic designer, watch some video tutorials on how to do the things you need done and get a feel for all the ways it can be done so when you happen up on somebody who can do 10 high quality extremely detailed designs in less than a day claiming to do it from scratch you know they're pulling your leg because you've seen how just ONE of those tasks required could take up to 4 hours alone... and that's doing it FAST with the quick shortcuts and features adobe provides. Start looking into different web languages and watch videos on that to know what your options are and what would make one a better fit for you over the others, as well as where they may cause you problems and require a work around of some sort. It would also help to join different forums where these experts meet and help one another so you can ask questions about what might work best for your needs and get different points of views from people who all do it for a living... which would help you do more pin pointed research and find videos to watch.
I'm sure you're thinking "If I'm going to do all that I might as well do it myself"... which is a reasonable argument... BUT..... you're only one person and there's only 24 hours in a day... it's impossible to do everything yourself and keep up with the flow of everything. But seeing that this is YOUR BUSINESS you should be proficient enough to be able to step in and manage every area of it to a functioning degree if you ever need to until you can get someone to take care of it for you.... while everyone else is doing the other parts of course. Otherwise it's like buying a space ship and jumping in it to fly it without knowing what all the buttons do... you're more likely to crash and kill everyone than you are to make it into space.
If doing this will put you behind schedule.... so what... it's better to do it next year than to TRY to do it this year and have it not work and wind up doing it next year anyways. The more you're able to understand about what people have to do catering to you the compassion you can have towards their position which means you'll be making more realistic demands and know exactly what you're about to put them through when you do provide them with a nearly impossible challenge. Nothing makes somebody feel worse than being someone's guardian angel keeping everything together for them and THEY NEVER KNOW IT!!!!... this makes people spiteful and more likely to deliver some type of jab on their way out the door.
I'm emphasizing so much on to YOU more so than "them" because essentially people regard you in whatever way you encourage them to regardless to how good or bad of a person they may be.... You can take a thief n murderer off the street and provide them with a way to survive and thrive without having to steal and kill and they'll be loyal to you even transforming out of that way of life. You can also take the nicest most honest person in the world and treat them like crap and they'll eventually kill you and steal everything if they can't remove theirself from the situation. Not saying you should avoid good people and go hire a bunch of criminals or anything lol, but just showing how versatile human nature can be.
If you don't heed to this you'll forever be unknowingly insulting people in some way , asking the impossible without being aware of it and always being blind to who's actually valuable to you unaware of just how hard they had to fight on your behalf. I apologize if you feel I'm wrong in my estimations towards you, but I guarantee if you were able to get in touch with a lot of these "bad people" and asked their honest opinion of you and gave them the floor to openly explain their case on why they did whatever they did that made them "bad"...... they'd have a LOT worse to say about YOU that you would never expect anyone to truly think of you.
I would hire on culture fits and perceived work ethic. As for technical type positions, I would request work they have done in the past and multiple references since it's sometimes hard to know if they are really good. But again, culture first!
What is your Company's Mission and Vision Statement and find someone who at least agrees with it and then go from there.... You need to understand your organization from an Outside In Perspective--he/she does as well
Picking good people is not the easiest thing for small businesses to do, so you're not alone. Here are 2 posts which would be helpful to you...
May I ask what "good people" mean, in your opinion? What qualities, abilities and values they have, besides the professional requirements?
Also, monitoring your state before and during the interview, might give you some useful insights, in order to see what are the thoughts (and maybe underlying beliefs) that make you act cautious and lacking confidence.
I hope this helps. :)
Forget the DATABASE for now,
The real question, is WHY do you need a Database vs. something else that can do a similar job like AirTable or Google Sheets, because I don't know the requirements as you have not listed it.
What is the goal and purpose of your creation, Why does it matter to you and your audience?
Answers those first. Then you will know how to pick the right candidate when you have clear objective and direction of your project.
Here are technical considerations as well:
What is your Integration strategy? What is your analysis outline? What is your Data Architecture and information planning? What is your backup and recovery plans? Who maintains this system?
How will you handle database crashes? Who upgrades or updates?
Who will correct the bad data? What is your disaster recovery procedures? What is your hosting needs and storage requirements? What is your capacity and volume requirements?
These are just the few questions involved when implementing a database system.
It is quite involved to manage a database much more than just developing it
You not only need developers, you need Admins to maintain and support it.
But I do know this, that it is better to only capture DATA for what you only need, don't capture everything, it will cost you time and confusion in knowing how to manage it.
start small and use AirTable.com, it is a new disruptive database technology designed for simplicity and great user experience, cloud service to remove a lot of the questions.
I've done database consulting, data warehouse, & business intelligence for over 15+ years and this is something I wish I had back then and for the masses. I am a proponent of simplicity and making things simple.
The way to pick someone is based on gut first, and then give them small tasks or milestones to complete, based on analysis. If they say they can finish a task in 1 week, then put this in the contract with consequences of not finishing, such as no payment and they must finish what they promise.
Find the doers, not the promisers. Ask really deep questions. Here are some I like to use.