Earlier quoted context omitted.
> Your biggest pain point is most likely that you know your business very well, but you probably do not know enough about the business context of your partners. I'm not in the market, but FYI, the tone of your post wouldn't make me want to buy your stuff. You sound too eager to lecture your customers instead of being eager to learn from them.
I didn't get that from the tone. I inferred this person was trying to convey the perceived importance of some critical things and gave good examples with clear knowledge of the problem domain in a limited space. IOW, I thought it was very well articulated and helpful, FWIW.
Ask HN: Should we bring software dev in-house?
581–590 of 607 posts
Re: Ask HN: Should we bring software dev in-house?
#582I have worked for various companies over the years and currently contracting for a company that teams up with various Warehouse teams to provide softwares to improve KPIs. And I must say I am totally enjoying the work I am doing currently!
Re: Ask HN: Should we bring software dev in-house?
#583Right now you're making 1 million dollars a year per employee or a 10x or 20x revenue to average employee cost.
The reason your software providers probably suck is that I'm not hearing how permanent or consultant employees can provide the kind of ROI that it will cost to build even basic software.
Let's say you're based in Detroit, MI - somewhere dirt cheap - 3 engineers for 1 year is 350K in salary, another ~300k in benefits and then you'll take 2 to 3 people normally earning money off their real work to be the domain experts.
Let's say 1 million in developers and 2 people providing 10x the value of their 100k salaries as well, and that's 3 million dollars of cost + lost revenue from productive employees.
If your company has a 15% profit margin on revenue and 250M in revenue - you're making 37.5 mil in profit, and you'll be giving up roughly ~10% of the company profits on this venture.
So the question is, do you think you have greater than 70% chance of getting a 3x return on their cost? Maybe 9 million dollars more worth of revenue?
If not, the project will fail just from the ROI expectations of the bean counters.
You could try to outsource stuff to somewhere with cheaper programmers but that just means the 2 million in lost revenue from productive employees becomes 20 million in lost revenue as the outsourced engineers need 10x the handholding because they aren't onsite, watching the people that do the work and interacting with them with a tight feedback loop.
Re: Ask HN: Should we bring software dev in-house?
#584Earlier quoted context omitted.
> It depends. In the end EDIFACT is just a protocol. If you go the Java route Smooks, for example, has pretty decent support to read/write EDIFACT messages. You can also do shim servers to translate between protocols - a long time ago, I had to interface with a Rails app (by another team, so I couldn't modify it) with an Emerson (the industrial giant) SOAP API, and what turned out to be effective was a Sinatra shim s…
I think in this case a well defined modular monolith would be a excellent starting point, especially if you need to (1) build from zero and (2) hit the ground running with a small team (without all the extra things you need to pay attention to and create solutions for when going the microservices route). The great thing about the modular monolith is that it gives you a fantastic foundation to grow: You can still inve…
...unless you still do the same thing I'm advocating for when considering microservices: defining, and treating, each chunk as a discrete product.
If you can do that, great! MM or MS will both work, and you can probably decide between them based on the other factors you're dealing with.
If you can't, I would expect you to end up with a regular old monolith, so you might as well lean into it.
Re: Ask HN: Should we bring software dev in-house?
#585First and foremost -- document your business case and expectations of other Sr Execs as to sales-growth and OPEX comparison for the current state, and then the desired state.
Your current vendor will likely cry foul if you disconnect from them too quickly and without sufficient empathy. Consider the possibility of the current vendor stepping up to fill the gaps if you could negotiate terms with them that give you better ROI than having your own in-house team. And, would you trust them with the extra outlay?
Requirements, Requirements, Requirements -- cannot be stressed enough. Getting those right (even if they are a moving target) saves 10x development over jumping straight in with designers, and 100x savings over just hiring coders with no domain expertise. Most of your existing domain expertise is in your non-technical staff. They need to participate in a reverse-engineering of what your current system is actually doing for you, and help identify gaps in the current tech that would help their productivity or reduce other toil.
As the first hire, I would hire (contract) a top-notch software architect to lead a "requirements documentation" phase of 2-3 months before hiring anyone else to the team.
Does your current team have access to an underlying database schema? Can you quickly and clearly state how many "screens" your team uses in their current workflows? Can you quickly and clearly state how many unique fields there are on those screen? Same questions for EDI/ETL as for workflow screens. The answers to those questions can quickly reveal the size and scope of your existing system.
Re: Ask HN: Should we bring software dev in-house?
#586Earlier quoted context omitted.
If you don't have a 'trusted wrangler' freelancers won't build anything worthwhile as they're not interested in the long term unless forced. Freelancers' careers live or die based on where future work is coming from. Happy clients are good for repeat business. Happy clients refer other potential clients. Happy clients are good for portfolios or case studies. Smart freelancers are all about keeping their clients happy…
In practice this simply doesn’t pan out. There are many many terrible freelancers out there. And without someone technical in-house vetting their work, you’ll have no choice but to judge their based on their output. This is a huge problem. Software needs to be designed with an understanding of the business needs and goals. You need someone who understands how to keep the software well designed (ie. Easy to debug, upd…
Why? There are many terrible everything out there. Eventually you are always relying on the quality of your developers' output and their honesty in explaining it whether they are hired as employees or working freelance.
Crucially that is as true of the technical in-house person as the outside freelancer. I've seen scenarios with my own eyes where an experienced freelancer was better - sometimes much better - than the in-house "senior" people but the latter made critical reports about the freelancer to management. Maybe they were defensive because someone better than them was brought in. Maybe - and I suspect this is more likely in at least some of the situations I'm remembering here - the in-house person was so far below the outside freelancer in ability that they simply didn't realise how much better the freelancer's work was than their own or understand the reasons the freelancer was following certain good practices and the risks they were mitigating by doing so.
So my question to you is this: Why do you believe you can trust someone to evaluate the quality of the work more accurately and honestly just because they are inside your company?
Re: Ask HN: Should we bring software dev in-house?
#587Earlier quoted context omitted.
If you don't have a 'trusted wrangler' freelancers won't build anything worthwhile as they're not interested in the long term unless forced. Freelancers' careers live or die based on where future work is coming from. Happy clients are good for repeat business. Happy clients refer other potential clients. Happy clients are good for portfolios or case studies. Smart freelancers are all about keeping their clients happy…
> Freelancers' careers live or die based on where future work is coming from. Happy clients are good for repeat business. Happy clients refer other potential clients. Happy clients are good for portfolios or case studies. Smart freelancers are all about keeping their clients happy in the long term. It's just good business. Not a freelancer, but this is a classic "market for lemons" situation: designing things for the…
There are enough buyers who can tell the difference. Good freelancers just gravitate towards good clients and vice versa.
Re: Ask HN: Should we bring software dev in-house?
#588Earlier quoted context omitted.
Freelancers.
Any sensible freelancer will have an hourly rate nearly double that of a fulltime employee for obvious reasons. Please stop telling him just to hire a bunch of dev freelancers. Projects like this require UX and business domain understanding. Devs are not going to be doing that. This thread is full of amateurs parading as experienced CTOs.
Re: Ask HN: Should we bring software dev in-house?
#589Earlier quoted context omitted.
Do you know what a freelancer is? You don’t make tax contributions for them. They bring their own hardware and usually software unless otherwise agreed. The rest of the stuff is just a laundry list you made up to try and blow costs way past what they actually could be if you’re prudent. Come on
Stop giving the guy horrible advice. IF you think throwing some freelance devs with no business support/product/UX support is going to help him, you are so mistaken. Trying to rebuild an existing complex software system that handles hundreds of millions in revenue is not going to be an easy task. You are going to put the man into a corner and ruin him. Jesus.
Re: Ask HN: Should we bring software dev in-house?
#590Both the strategies have their own pros and cons. For most companies having an in-house team works best, but then you would need to hire someone to manage them. Getting work done through outsourced agency is always tough. You may try to change the vendor the the challenges would always remain. What works best is to hire a single senior developer to begin with, who can work closely with your third party team. He can i…
My company hired me to replace their terrible software vendor and by their own account it's been a clear success. I visit the factories and stores and work with the employees to tailor make the software for their needs.
We're finally about to hire our second developer next year using the money we've saved by ending out contract with our old software vendor.
We're even at the point now where we can sort of brag about it. Here's the customer story we did with Heroku: https://www.heroku.com/customers/leatherspa