Consider that the software you're using, buggy and kludgy as it is, isn't the reason your business is making (or failing to make) profits. If you bring a software team in-house you run a lot of risks: - Second system syndrome : the software we use today is full of bugs and annoying limitations we have to work around. Let's learn what we can from that system and develop our own bugs and annoying limitations. - Cost ce…
> You might get around the drudge work of automating some of the toil work by hiring freelancers/consultants.
Finding the right people with the right experience and right aptitude is tough (for any role). Whether internal or external resources, my rule of thumb is that maybe 20% are fully capable, 50% are reasonably valuable to some degree, 20% have limited value and 10% are just not in the right role at all.
Whether trying to find a PM or solution architect or technical lead or dev, these same percentages apply. You have to really have experience to have a reasonable shot at finding that 20% person for your most critical position, the technical lead (whatever you call them in your org or project).
If you look at all of the talent out there today, you will see a zillion candidates with extensive experience moving workloads onto the cloud etc. etc., which is a good and valuable set of skills. But those skills and similar tech skills are not what you need to build your core systems.
You need people with the following:
1-Domain experience (you don't want people that have been designing+building streaming video systems their entire career)
2-Experience extracting business requirements, and organizing and managing that information. This is an art that takes a long time to acquire.
The business will tell you they need an alert when inventory is too low, but the real question is why is the inventory low? You need to follow the chain back to the planning system where they are excluding transactions they should not be excluding.
3-Experience creating solutions (functional and technical) that meet the business requirements and other domain requirements not explicitly stated by the business as well as a reasonably pragmatic design that accounts for the various gotchas that a good designer will account for (otherwise you will play a painful game of whack a mole of small/medium issues for years and years never realizing it's because the design was not good enough)