They can say no
You want to find someone who can say no to you. So many times, even in banking, I see people say yes when they either don’t have the bandwidth or know it’s not within their capabilities. This can be due to societal norms, a desire to please, nerves, etc, but regardless of the reasons, the results are disastrously the same.
It is common for clients to ask for features that are not possible, not worth the cost it would incur in manpower, or are not scalable. You’ve hired the engineer not only for their ability to build but also for the experience and expertise in their field. It’s important to find someone who can tell you no when it’s needed and can articulate why. Being able to effectively articulate the why can make the difference between a good programmer and a great programmer.
It’s important to find someone who can tell you no when it’s needed and can articulate why.
Respects what you have to say
This goes hand in hand with the ability to tell you no. In my experience in the startup world, I have seen technologists scoff and deride users or clients to their face, shirking requests or questions with a wave of their hand as if to say ‘I know more than you and don’t waste my time’. This is an understandable attitude but an awful one – we don’t scoff and roll our eyes at people who are learning a new language or who it’s their first time learning to ride a bicycle (and if you do then take a good hard look at yourself, meanie).
Sometimes, especially after a long day, it can be difficult to communicate with someone who doesn’t ‘speak your (tech) language’. It’s a challenge to shift your brain from tech mode to social mode and instead of taking a moment or two to readjust one’s mindset, it can be easier to just wave it off or dismiss it. Now on the other hand, if you’re a software engineer who has had an overbearing annoying client, then *do not take the job*, we’ve all been there and it’s not worth your mental health!
Can give and follow timelines
Another thing I’ve seen is the promise of something being completed in a week, payment made (or not), and either the finished product isn’t quite so finished or else the programmer shirks the responsibility altogether. I find it a bit ironic that it can seem as if many programmers are like misunderstood artists who balk at hard timelines.
I think the reality is that unless you are an exceptional programmer, it can be very difficult to estimate timelines. You never know what goliath bug will pop out of the woodwork, or which third-party packages/plugins will refuse to play nice with each other. If you want to build a large app and a developer gives you a week or less, they are probably either overestimating their abilities or are a god. As a client don’t be alarmed if an engineer says it’ll take longer than you expect.
And if you suspect that a developer is taking advantage of you by telling you a project will take a long time, then ask for them to break it down into steps and show you what progress they have made every week.
At the end of the day, find someone with who you can establish a good rapport while still maintaining respectful boundaries. If you think something is a bit fishy or you don’t like someone’s attitude then don’t work with them – trust your gut while also using your brain.