Live data from Hacker News

Ask HN: Should we bring software dev in-house?

news.ycombinator.com

291–300 of 607 posts

Re: Ask HN: Should we bring software dev in-house?

#291
I would first look for someone you can trust who is an experienced software engineer or software engineering manager to take a look at what you're trying to build and give you a gut feel on the scope and schedule. You'll need to factor in some risks on top of that basic gut feel.

I think being in Europe is a plus here in terms of being able to get talent for a reasonable cost. I think you can find good people in any industry but it's never easy. Paying well, benefits/perks and good working conditions are a good start. Count on it taking time and effort. You will need at least 1-3 strong people (one is a bit risky but can also work) and those can help you grow the team and also lead more junior engineers.

What about making some arrangements with your provider with you paying for time/people and them making changes/fixes/custom features for you? Could even be on your premises or some other similar arrangement. That can work if the software has some good bones.

Re: Ask HN: Should we bring software dev in-house?

#292
post #242

I'd recommend against it, but then again, I'm building software products in this exact space with my launching customer being a 200-300M annual revenue logistics company. I don't think they could do it in-house. You don't give a lot of info on the exact niche you are in, but the username tells me that you're doing containers in European context, most likely shortsea or domestic, not deepsea. Me telling you the ISO643…

> 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.

Fair enough. To clarify, my point was not necessarily “I know better”, but that it is incredibly difficult to get a broad view of the market from a single perspective. This market is by definition a chain of steps with parties that may be antagonistic. It is atypical in that way, and writing software in-house may be more difficult in this sector than in others because of it.

While writing software in-house gives you software better tailored to your exact situation it is at the cost of losing the overview of the business and the perspective of the parties you interact with. Whether that trade-off is worth it I’m probably pretty biased on, so take my stance with a grain of salt, but imo the business is intrinsically relatively ill suited for in-house dev considering the high degree of collab with other parties.

Apologies if it came off as arrogance, that was not what I was going for.

Re: Ask HN: Should we bring software dev in-house?

#293
Depending on how niche the third party company is, and how large your company is, is it feasible to consider a takeover? You can then get your issues solved without having to prioritize features you don't need, you get to keep the technical staff and don't have to train up a new team in something your business may not have the expertise in.

You also get to keep the same UI, the same business logic and it means less disruption to migrate to new software.

Just a stab in the dark, probably not feasible but you are looking for interesting suggestions...

Re: Ask HN: Should we bring software dev in-house?

#294
As an alternative you could appoint a software services business to build it for you, to your specifications, then they step back responsibly handing it off to your business. It's more expensive but they will be off your books in 6 to 12 months unlike if you hired your own team. You'd hire a small team to maintain the system, rather than a large one to build it.

Re: Ask HN: Should we bring software dev in-house?

#295
post #269

Can you simply buy the provider? This may be simpler than it sounds. Once you own it, it’s your asset and you can then attempt to fix management to focus on producing a better product. I’ve been involved in a few attempts to do exactly what you’re talking about with varying degrees of success. Feel free to reach out to the email in my bio.

What's the use of buying a team that doesn't do management right? The only possible reason for wanting to buy a software provider and turn them into an in-house team would be if they were a stellar team, with stellar management.

Ah, but it is quite possible that they are only in the situation they are in because they are so niche and they have to focus on unnecessary new features in a vain attempt to get new business.

If you purchase them, you just focus on bug fixes and features you actually need. The developers might be great, you might find you need to get rid of management dead wood. Or it might be that you get a very nimble team who in all likelihood have been itching to fix bugs for years and yet who haven't been able to due to competing interests in the business.

Re: Ask HN: Should we bring software dev in-house?

#297
I have no experience in hiring programmers at all, but here's a couple tips based on my experience working at a company, and also family member's experience who is involved in hiring

So never ever hire a freelancer until after you've talked to a bunch of their previous clients. Not sure if this is possible though, but if you can, its probably really good

I've seen what a non-software engineer hiring freelancer programmers can do to a company. The freelancer can look great on paper, but ultimately be unable to deliver at all, and thus send the company into severe financial catastrophe

Granted for a CRUD app its probably not as big of a risk as in the company I was involved in, that had tried previously to do a groundbreaking engineering project

Also, when hiring a programmer, probably pay less attention to what they know, and pay more attention to the excitement and enthusiasm in their voice

You're probably better off hiring a relatively inexperienced programmer with deep passion for their work, rather than an experienced programmer who's just there for a pay check

Re: Ask HN: Should we bring software dev in-house?

#298
post #62

IME what works best getting new projects kick started is hiring a very small team of senior freelancers, making one of them lead, and letting them loose. I worked on such a team once and it was really excellent. The advantage of this strategy is if the experiment doesn't work out, terminating freelancers is much easier than permanent (I noted you're based in Europe). Contrary to what other people said, I wouldn't try…

This is excellent advice but I would back up a few steps and do a few things before bringing in a freelancer team. Identify a part of this system that can work somewhat in isolation and is non-critical if at all possible. Then document the requirements for this part thoroughly. This allows you to: - Have something smaller for your new team to cut their teeth on. - Ensure you have collected all the diffuse domain know…

Want to second the two parent comments to this. Small freelance / contract team of very very senior very experienced people. 3 to 4 max.

I was fortunate in that I, for the first part of my career, joined teams that were structured like this.

Some additional thoughts:

- keep things small at the start - task your team with at least two goals for the first 90 to 180 days

       i ) to define a small but critical piece of work (actually designing and coding something related to what you need to do). Cannot be part of your core platform but will need to eventually be in the platform. Picking the right piece of work here is critical.

      ii ) to define a design, roadmap and project plan for completing everything you want done with cost, staffing, tech and effort estimates

Then use the 90 to 120 days and the two tasks above to evaluate:

    i) if the folks and team you have put together works:

        a) as a team and 

        b) with your existing business ( can they do the work, can they work effectively with the rest of your business, is the design the come up with solid and does it give you confidence that they can tackle the real core work you need done)


   ii) if you can get a sense of what it will cost (what did the 90 day project cost and was it delivered on time and budget per the team's estimate )

   iii) if the team can put together a road map with support of the business for the broader objective in parallel to executing the piece of work chosen

   iv ) if the solution if palatable from a cost perspective ( money, people, tech, disruption ) 

   v) if the staffing model , architecture and integration proposed for the project by your new team could work (get feedback from the rest of the business about what is proposed by your new team ) 

    vi) if your business can work with this new tech team ( feedback from your existing staff about the folks doing the work and their product for the small piece of work they tackled )


- It is really critical that they be 'senior' people - 'senior' here meaning they have done and seen a lot. The title will not tell you if they are. You have to actually look at what they have done. Look for senior free-lancers with a variety of (longish 4 to 5 years) experience using a variety of technologies (C / Java / PL-SQL / Perl / Rust / C++ whatever etc etc - but boring old tech is better, you will eliminate another variable from your project complexity ) in variety of industries / verticals ( 3 to 5 industries. This is a signal of effectiveness at learning new things and delivering effectively in new fields with new people in new environments.

- it is critical that your freelancers not just be developers: they have to be "business-goal oriented". Consider asking for references who are not developers and consider filtering your freelancer hires through their networks in LinkedIn - do they have a good mix of senior and non-senior people in their network who are NOT developers? That is a good indicator they worked effectively enough with other non-software parts of the business that the people on that side of the fence (marketing, ops, finance etc etc ) are comfortable being associated with them. Pick the areas that matter to you.

- Consider filtering for delivered results when you talk to candidates and in resumes: look for achievements / projects / work delivered rather than work done as this 'could' be a signal that the person is focused on actually 'owning' projects (not work ) and closing out on projects / goals (could also be a signal that the person did not not consider put delivered work in their resume so there is that - so, if you don't see it, just ask something like "what projects have you owned start to finish and how did you architect, design and execute on them" and interpret the response ).

- Key skills to look for in free lancers:

               - systems integration (making systems 'talk' to each other - you will have to make your existing system talk to your new system + you will eventually have to get your data off wherever it is now to your new environment and you will have to make the new system work with all the other tech systems you have now)

               - system architecture: designing software solutions

               - database architecture & design

               - project & program management 

               - lean six sigma / green belt ( means they have may have worked with ops people to optimize operations )

All the difficult stuff is going to happen in the background (batch processing, integration etc etc) so don't bother with front end development skills at the start - that is actually relatively easy to hire for.

You will definitely find folks who have the right profile who will work with you - the key is decent (not crazy) pay, benefits and elements of stability attached (contracted duration with pay guarantees for performance, performance bonuses if possible etc etc).

- Plan on developing a bench from the freelancers so hire some mid-level junior folks to work alongside them for when the freelancers inevitably move on. You will have to hire from outside (try and get mid-level people in the industry, not senior folks, so that it is clear that your senior freelancers are the leaders / owners of work ) but try really hard to source at least a few of these folks from existing staff if possible ( people in other job functions - and are good at those jobs - who are programming inclined ) as they are a good source of how things work to integrate into the team or as new hires. They do not have to be as as senior but they have to be able to keep up. These people start as grunts for your freelancers and learn the system as it is built - they are your future tech staffing.

- Plan ahead for what WILL go wrong. I strongly strongly strongly recommend reading two books

                - The Phoenix Project - https://www.amazon.ca/dp/0988262592
                - The Unicorn Project - https://www.amazon.ca/dp/1942788762
They deals with how executives and staff tackled a situation very similar to what you are dealing with and explains how to tackle some of the key structural problems you WILL run into. It is also a great resource for understanding how to run a project like this and understand how things could go right and more important, how things can go wrong and what to do WHEN they do go wrong (because they WILL ). The books will give you a very strong set of foundational thoughts about how to think about running this project if you decide to commit to doing it.

Re: Ask HN: Should we bring software dev in-house?

#299
post #242

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.

> You sound too eager to lecture your customers instead of being eager to learn from them. One does not necessarily exclude the other, in my experience. Personally I love being told when I’m wrong, and I think the OP was actually fishing for this kind of feedback.

My cheesy tagline for this is “The customer is always right about their problems, rarely about the solution to it”. They know their business inside and out, and I’m not about to tell them otherwise. Metaphorically: if they need to cross a river, that doesn’t make them bridge engineers. But boy will they tell me if the bridge is in the wrong place.

Re: Ask HN: Should we bring software dev in-house?

#300
post #269

Earlier quoted context omitted.

What's the use of buying a team that doesn't do management right? The only possible reason for wanting to buy a software provider and turn them into an in-house team would be if they were a stellar team, with stellar management.

Ah, but it is quite possible that they are only in the situation they are in because they are so niche and they have to focus on unnecessary new features in a vain attempt to get new business. If you purchase them, you just focus on bug fixes and features you actually need. The developers might be great, you might find you need to get rid of management dead wood. Or it might be that you get a very nimble team who in…

> The developers might be great, you might find you need to get rid of management dead wood.

In my experience great developers do not stick with mediocre managers, because they quickly find better options. My experience with poor managers is that they are only able to retain middling engineers.

> Or it might be that you get a very nimble team who in all likelihood have been itching to fix bugs for years and yet who haven't been able to due to competing interests in the business.

That would be closer to a win scenario, but I think OP would have had a strong feel about it - from the way they describe there interactions, it doesn't seem to be the case?

Post reply on HN