Earlier quoted context omitted.
Ive never seen it work in practice. Every time I see it end up with Appv1, Appv2, Appv3 all running at the same time because the new systems cant move quick enough to add new features so they get added to the older versions. But the newer systems offer unique things the older didnt. So they all coexist and never die.
That sounds like you're trying to rewrite the whole app, NEVER do that[0]. You shouldn't end up with appv1, v2, v3. You should have appv1 along with appv1-foobarmeasurement-v2 running. Then you slowly move traffic to v2 of foobarmeasurement until it can handle 100% of the load and has all the features - then you remove that feature from appv1 completely. Then you GOTO 10 and pick a new feature to slowly strangle. [0]…
Ask HN: Should we bring software dev in-house?
561–570 of 607 posts
Re: Ask HN: Should we bring software dev in-house?
#562Earlier quoted context omitted.
> Building and running your own software team is probably around $5M/year Do people just pull random numbers out of their ass with no actual experience? 99% of developers do not live in Silicon Valley on 1m salaries.
Cost is not just salary. To begin with, health insurance and other benefits. And they'll need dev environments, they may need additional cloud resources depending on how the project goes, and there will be additional overhead when the team interacts with other departments.
But let’s say they have a 5 man team for in-house development. 1.5m/yr would be a stretch to spend.
Re: Ask HN: Should we bring software dev in-house?
#563I think, for a company of appropriate size (and I think yours is at least that), that you should have internal development.
The IT department is a service organization within the company, and the dynamics of business never seem to stay static. They're always changing, always in flux. Either internally, through external competitive pressures, or external regulatory and other policy pressures.
Nobody knows your business better than you do.
I've worked on the small dev teams of several companies and organizations like yours, and we were never without work to do. Also, having in house dev simply makes that resource available to your company. It's a sunk cost, they may as well use it for their new programs for marketing, for analysis, etc.
And if something comes up, a problem in the system, an external event, you have staff who's priorities you directly control that you're able to focus on such an event.
A simple example of that was when I was working for a magazine publisher, and they canceled one of their new magazines. So, suddenly, we have this need to print 5000 checks. You may have never printed a check, I can assure you there's all sorts of controls and gates in the system around printing checks, and when your normal routine is to print "dozens" of checks per week, 5000 is "a lot".
We basically had to go in through the "backdoor" of the accounting system to convince it that it had properly printed the 5000 checks. I can say it was with trepidation when I threaded the boxes of checks into our large printer, as this was the moment when all sorts of things can go wrong. Normally, there were done on a smaller printer in Accounting. Maria printed the checks. Always be on Marias good side. She was a very nice lady.
The point being that your contracted help may not have the bandwidth to adapt to your internal emergencies when they happen.
One thing I learned installing accounting systems is that as generic as accounting is, everybody does it, at the same time, everybody does it differently. Off the shelf systems almost always hit that 80-90% of "what we need". It's that remainder that's always the challenge. That part of how you do business vs how the accounting software does business.
And being on the busy end of the outsourced consulting contractor, I know how painful it can be when we're busy, and a customer has an urgent need.
As a developer, I enjoyed working for mid size companies. There's tangible value handing over a new report or point out a new field, or piece of functionality that's there specifically to make Suzy in Shippings job easier.
I watched a lady running the Trial Balance at the end of each day. TB are busy and slow reports (particularly back in the day of slow machines). She'd run the report, print out the 3/4" plus of paper that comes flowing off the printer, grab the last page, tear it off, and dump the rest into the recycle bin. She was after a single number off of the summary page (open balances I think). This process took over a 1/2 hour. You can imagine the delight when I saw her doing this, asked what she was doing, acknowledged that it was a slow process at the end of the day, and came back the next day with a single page report that ran in 10 seconds to do that same thing.
All that said, maintaining institutional knowledge coded into software is REALLY hard. It really hard to not have That Guy that Knows Everything. Not just what's where, not just how things work, but also how things don't work. Why certain fences are put in place that may not be intuitive to someone not well versed in the business. As my friend says, it's always important to understand why a fence was put up, why a process does some "silly" thing, before you go tearing the fences down. And it's really hard to communicate that kind of thing.
But this is a problem intrinsic to computer software and organizations. Whether the folks are in house, or not. Even if folks write up the best documentation in the world, it doesn't mean it gets read, or even found by the person who simply doesn't know what they're looking for.
One place I coded up new pricing incentive plans that were different every year. All sorts of deals, volume discounts, combo offers, and what not (I won't even get into the royalty agreements, oh man). Even by the third time there wasn't really enough commonality to make me go "lets write a generic pricing system that they could configure". But the key thing, is that the orders had to be calculated with regards to the pricing system that was in effect at the time of the order. It's not as if you could toss out the old code each year, oh no. Several years later, the people that even conceived of the pricing model in marketing, may well not even be with the company any longer. But, institutionally, you had to retain that knowledge, particularly in case of challenges or credits to old invoices, or lawsuits, or all sorts of things.
That stuff is just plain hard to deal with. But it's simply the truth of it. And it's hard to get management to pay for it. It's just a friction in the system. But it's also another reason to perhaps keep it closer and within the company.
Re: Ask HN: Should we bring software dev in-house?
#564Earlier quoted context omitted.
> Building and running your own software team is probably around $5M/year Do people just pull random numbers out of their ass with no actual experience? 99% of developers do not live in Silicon Valley on 1m salaries.
> Do people just pull random numbers out of their ass with no actual experience? That’s a weird question to ask someone who stated their relevant experience in the first sentence of their comment. I just looked him up on LinkedIn and it checks out, you can do the same. If you have substantive objections to what he wrote, perhaps it’s better to state them explicitly? You seem to say that the figure he suggested is bas…
Re: Ask HN: Should we bring software dev in-house?
#565Then we built an ongoing relationship with them, going on to do multiple projects after just the first one.
Re: Ask HN: Should we bring software dev in-house?
#566Earlier quoted context omitted.
I'm not sure they necessarily need to know it cold at the start, but they do need to have access to someone who knows the business cold, and they need to care a lot and be willing to dive into the business details.
> but they do need to have access to someone who knows the business cold Yes. Very close access, to the point where that someone will spend almost as much time working on the software as the software developer.
Re: Ask HN: Should we bring software dev in-house?
#567Earlier quoted context omitted.
I saw a presentation on e-commerce back in the 90s, and this was an astroturfing strategy that was pitched even back then. Don't post a thread about your company, post a question on one account, and then on another account post that your company is the answer. Really it's a strategy that's been around for a lot longer than the internet. Not saying that this is astroturfing, just that this format has been around forev…
Ya, if it’s two accounts controlled by the same person I agree it’s disingenuous. I think (hope?) that’s not the case here though
Re: Ask HN: Should we bring software dev in-house?
#568I used to run the Singapore and Seattle offices for Pivotal Labs and helped a couple of companies build in-house teams to do exactly this. My first question is to check the basic economics: $2-300M in annual revenue, ~15% margins, you’re probably looking at earnings/profits around $30-45M. Building and running your own software team is probably around $5M/year, which feels like it could be a substantial hit to your m…
I have a fully staffed team it’s not 5m a year. For a company twice his size. These are very generous consultant pitch #s not reality. We doubled running 1-$200k/guy … 2x full stack devs (me) 2x data guys 1x MSP for IT. That team was awesome and did serious buzz saw damage because we shipped solutions that made the company better every day. Didn’t have to be huge. Just help someone do something better.
I don't think the numbers OP chose really matter. The point is to do the exercise. Try and work out some numbers on how much the current software is costing, how much room there is for improvement and how much investment it will take to get there. Add a big margin to account for all the uncertainty with building something out.
If the numbers still work out significantly in favour of writing your own software then it may be a project worth considering.
Re: Ask HN: Should we bring software dev in-house?
#569Earlier quoted context omitted.
> Do people just pull random numbers out of their ass with no actual experience? That’s a weird question to ask someone who stated their relevant experience in the first sentence of their comment. I just looked him up on LinkedIn and it checks out, you can do the same. If you have substantive objections to what he wrote, perhaps it’s better to state them explicitly? You seem to say that the figure he suggested is bas…
His prices are so wild that I would be surprised if anyone agrees with him.
Re: Ask HN: Should we bring software dev in-house?
#570Focus on the functions/features you currently use and can not live without.
Try to build an MVP (or as many microservices as needed) which serve as a proof that you can build the missing 20%.
Don’t bother building flashy GUIs, try to build the actual logic first. If you fail building this 20%, you avoid wasting funds for the flashy 80%.
Been there, done that. We built the flashy 80% and everything came to an abrupt stop when leaders realized we can not build the most important parts because the underlying platform does not support what was supposedly supported (miscomm with standard platform supplier during req engineering).