The Entrepreneur Forum | Financial Freedom | Starting a Business | Motivation | Money | Success

Welcome to the only entrepreneur forum dedicated to building life-changing wealth.

Build a Fastlane business. Earn real financial freedom. Join free.

Join over 80,000 entrepreneurs who have rejected the paradigm of mediocrity and said "NO!" to underpaid jobs, ascetic frugality, and suffocating savings rituals— learn how to build a Fastlane business that pays both freedom and lifestyle affluence.

Free registration at the forum removes this block.

I want to start a Software Agency.... Where are my software business owners?

Crexty

Contributor
User Power
Value/Post Ratio
76%
Feb 2, 2018
107
81
25
Arizona
I want to start a software agency. No not your run of the mill development agency in India that promises to produce your software for $500, but a professional firm. Not interested in website design as much as creating actual full-stack apps.

I want to help people launch/build software that is inspiring & provides a ROI. I'm not 100% new to the service business model, but new to software.

The biggest question I have is, where do software engineering firms land clients (Other than Upwork)?

What does the process look like from sales, all the way up to the final phase in development?

How do you learn to hire great engineers/innovators?

Is it better to niche down ? What are the biggest challenges to this business?

Any youtube channels/books/resources on building a software agency you would reccomend?

In my previous businesses, i've only had some success when I reached out to people who are doing what I want to do. So thats what I'm doing.
 
Dislike ads? Remove them and support the forum: Subscribe to Fastlane Insiders.

SEBASTlAN

Marketing Wizard
Read Fastlane!
Read Unscripted!
Summit Attendee
Speedway Pass
User Power
Value/Post Ratio
149%
Dec 22, 2014
1,894
2,830
Los Angeles
The biggest question I have is, where do software engineering firms land clients (Other than Upwork)?

I've used TopTal, Clutch and upWork to hire firms/freelancers. None were that great an experience, to be honest - it's still a problem to be solved in my opinion.

Good luck!
 

Mike Stoian

Bronze Contributor
Read Fastlane!
Read Unscripted!
Speedway Pass
User Power
Value/Post Ratio
278%
Dec 24, 2019
80
222
I'm working for a ecommerce agency (at least for now). We make websites for medium-big companies that want to sell their products online.

`The biggest question I have is, where do software engineering firms land clients (Other than Upwork)?`
- We mostly do it via word of mouth.But we are big enough now that it's viable.
- Other things we do are: ecommerce meetups, a bit of marketing, we put our sites up for competitions and other stuff like that that makes sense given our niche.

`What does the process look like from sales, all the way up to the final phase in development?`
- I'm not taking part in the whole process so can't go in details, but once we have people interested in our services, we write a proposal. Huge document showing designs, functionalities, potential sales increase for the client and stuff like that. This proposal takes a long time to be made as it's very specific for each potential client. Then based on that , we go back and forth, change things, and when the customer agrees, it's time for contract stipulation and only after all that is done, we begin to organise the development and how we'd go about it.

`How do you learn to hire great engineers/innovators?`
- Mostly this depends on the persons already in the company. I'm a developer so I would focus on hiring other good developers since that's what I know best. So I would conduct the interviews only regarding other developers, to make sure they are good enough for us. All in all, you need to become a great innovator or engineer, so you can spot others like you. If you cannot be the engineer, find someone who can compliment your skills and let that person take more control of engineering hiring.

`Any youtube channels/books/resources on building a software agency you would reccomend?`
- MJ's books are good in general.
- More software oriented, try 'The lean startup' or 'Zero to one'

`Is it better to niche down ? What are the biggest challenges to this business?`
- Definitely niche down. Who's going to hire a generalist software agency? Software is so complex and wide that it's impossible to be good at building every type of software.
- Challenge is probably going to be getting clients. As you start, you're small and with no reputation. No big company is gonna even look at you. You're likely only going to build pretty basic sites for your local businesses. Not a lot of money to be made at the start, especially if you need to hire someone to do that job for you. The company I work for also started with very small sites.


Also to add, I also haven't had t he best experience with freelancers. In terms of software quality, having in house developers seems better. But I can understand why freelancers are needed.
 

Jon L

Platinum Contributor
Read Fastlane!
Speedway Pass
User Power
Value/Post Ratio
272%
Aug 22, 2015
1,649
4,489
Bellevue, WA
I want to start a software agency. No not your run of the mill development agency in India that promises to produce your software for $500, but a professional firm. Not interested in website design as much as creating actual full-stack apps.

I want to help people launch/build software that is inspiring & provides a ROI. I'm not 100% new to the service business model, but new to software.
My company does custom business software - anything business process oriented. We're currently doing a app for an ecommerce engine which involves a lot of business process back end. We weren't as familiar with the ecommerce engine portion, and that has been a challenge for us.

If you're new to software, what value do you bring? What type of software would you focus on? If you do custom business stuff like I do, as long as you know business processes well, you wouldn't necessarily need to know the software side, but it helps

The biggest question I have is, where do software engineering firms land clients (Other than Upwork)?
LinkedIn is a good source - get to know people on there. Talk, post. Meet people in complementary industries that would refer people to you.
What does the process look like from sales, all the way up to the final phase in development?
This is more of an essay than a short paragraph. In short, its hard. Sales is all about aggressively (without being offensive), and helpfully, providing value to the potential client. Next is discovery where you ask dozens to hundreds of questions that you'll use to design the product. Development and then testing, delivery and support afterwards. If you'd like to get on a call, PM me, and I'd be happy to go into more detail on any of this.
How do you learn to hire great engineers/innovators?
Find a good engineer that would be willing to help you interview. As you alluded to, your first hire needs to be an engineer, not just a developer. By that, I mean this: How would you reverse a car up a hill if its reverse gear were broken? A 'developer' would build a winch system, use another car, or get a bunch of buddies to help him/her push. An engineer would simply drive it around the block. "Writing beautiful code" and "writing the right code" are not the same thing.

Good engineers question the requirements (or their understanding of them) and recommend changes to them to solve development problems.

Is it better to niche down ? What are the biggest challenges to this business?
Probably, though I haven't. "Business Software" is a broad category. Probably too broad.

Challenge: the feast and famine of project work.
Any youtube channels/books/resources on building a software agency you would reccomend?

In my previous businesses, i've only had some success when I reached out to people who are doing what I want to do. So thats what I'm doing.
 

SEBASTlAN

Marketing Wizard
Read Fastlane!
Read Unscripted!
Summit Attendee
Speedway Pass
User Power
Value/Post Ratio
149%
Dec 22, 2014
1,894
2,830
Los Angeles
@SEOguy what were the biggest issues you had? Poor quality work? Bad communication?

Ongoing support (since most apps crashed/stopped working after a few months), lack of transparency, everything always needed more hours than expected (when you're already paying $85+ per hour), missed deadlines, bad hosting advice, upfront deposits, etc. Nothing unique to hiring people in general, but a little frustrating since you're at their mercy and can't do anything to fix the issues yourself.
 

Jon L

Platinum Contributor
Read Fastlane!
Speedway Pass
User Power
Value/Post Ratio
272%
Aug 22, 2015
1,649
4,489
Bellevue, WA
I've used TopTal, Clutch and upWork to hire firms/freelancers. None were that great an experience, to be honest - it's still a problem to be solved in my opinion.

Good luck!
Custom software in general is a problem to be solved. I certainly haven't solved it. Most of my projects come in within some reasonable amount of on time. I can look at a project and tell you: 1) how long it will take, and 2) how much it will cost. I can always stick to the budget provided the scope doesn't increase significantly. What kills the time estimate is:

1) Customer that isn't available for needed consultation
2) Employee problems (I had one whose mom was in the ICU for 3 weeks recently, which set our project back a month. For a month-long project, that sucked.
3) Taking on projects we're not suited for. I haven't done that for a while, but years ago, we took on a .net desktop app that we had no business doing. It was an awful project. My lead developer and I rescued the project and the client went on to spend a large sum of money with us for a replacement, but it was not a fun experience.

Pretty much all custom software ever developed is software that has never been done before: hasn't been done in that way, by that developer, for that client, under that budget, with that technology (etc etc etc). Its not like building a house. With construction, there is an entire field of discipline that lays out exactly what needs to be done, when. Sure there are issues that come up that require a lot of expertise. With software, its possible, and might even be advisable, to put the bathroom on the roof, so to speak. You'd never do that with a house. In software, though, go ahead if it makes sense.

Even in mature software products, most new features break new ground. I worked for a company that had a product that was 25 years in the making. We'd request new features, and ask the developers what was involved. "I have no idea" came the answer. "I need to research it." And this was a seasoned software engineer giving the answer. Was he BS'ing a bit? Yeah, but he was also telling the truth. He had a general idea of what it would take. But, if I had a dollar for every time a 'simple' 20 minute task took a day to 2 weeks, I'd have at least enough for a cheap vacation somewhere. ... In a current project, we're trying to implement an API that we've used dozens of times. Normally takes 20-30 minutes. We're on day 3.

________

I do know what improves custom software development:

Process.

  • Assigning tasks to people skilled with that particular type of work. You don't assign complex front-end code to a back-end developer. (don't talk to me about full stack developers. That ain't a thing. Not when you're talking about complex stuff, anyway. Beyond that, someone that can code at the level of a seasoned specialist in all areas of the stack is going to be incredibly expensive. They will also gravitate to and be better at certain aspects than others, so even there, use them for what they're good at.)
  • Having an incredibly thorough design process. I asked a recent client if his previous developers asked the kinds of questions I do. "Nope. Not at all." (I ask a lot of questions.)
  • Running that design past development, in detail
  • If useful for a particular project, implementing a system to make sure development understands the requirements. For us, that means that I design the database (first pass, anyway). There's a ton of stuff you can learn from a database design, and my team and I can debate and discuss the fine detail of a project based on what i come up with. "Oh, you meant this? I didn't realize that." or "I think we should do it this way instead."
  • QA - it goes without saying that testing is important, but you can't QA bad code and turn it into good code.
  • Division of responsibility: on a larger project, having just a single developer doing everything isn't a good plan. Certain people are good at certain things
  • Project manager that keeps things on track, and clears bottlenecks.
 

Crexty

Contributor
User Power
Value/Post Ratio
76%
Feb 2, 2018
107
81
25
Arizona
Custom software in general is a problem to be solved. I certainly haven't solved it. Most of my projects come in within some reasonable amount of on time. I can look at a project and tell you: 1) how long it will take, and 2) how much it will cost. I can always stick to the budget provided the scope doesn't increase significantly. What kills the time estimate is:

1) Customer that isn't available for needed consultation
2) Employee problems (I had one whose mom was in the ICU for 3 weeks recently, which set our project back a month. For a month-long project, that sucked.
3) Taking on projects we're not suited for. I haven't done that for a while, but years ago, we took on a .net desktop app that we had no business doing. It was an awful project. My lead developer and I rescued the project and the client went on to spend a large sum of money with us for a replacement, but it was not a fun experience.

Pretty much all custom software ever developed is software that has never been done before: hasn't been done in that way, by that developer, for that client, under that budget, with that technology (etc etc etc). Its not like building a house. With construction, there is an entire field of discipline that lays out exactly what needs to be done, when. Sure there are issues that come up that require a lot of expertise. With software, its possible, and might even be advisable, to put the bathroom on the roof, so to speak. You'd never do that with a house. In software, though, go ahead if it makes sense.

Even in mature software products, most new features break new ground. I worked for a company that had a product that was 25 years in the making. We'd request new features, and ask the developers what was involved. "I have no idea" came the answer. "I need to research it." And this was a seasoned software engineer giving the answer. Was he BS'ing a bit? Yeah, but he was also telling the truth. He had a general idea of what it would take. But, if I had a dollar for every time a 'simple' 20 minute task took a day to 2 weeks, I'd have at least enough for a cheap vacation somewhere. ... In a current project, we're trying to implement an API that we've used dozens of times. Normally takes 20-30 minutes. We're on day 3.

________

I do know what improves custom software development:

Process.

  • Assigning tasks to people skilled with that particular type of work. You don't assign complex front-end code to a back-end developer. (don't talk to me about full stack developers. That ain't a thing. Not when you're talking about complex stuff, anyway. Beyond that, someone that can code at the level of a seasoned specialist in all areas of the stack is going to be incredibly expensive. They will also gravitate to and be better at certain aspects than others, so even there, use them for what they're good at.)
  • Having an incredibly thorough design process. I asked a recent client if his previous developers asked the kinds of questions I do. "Nope. Not at all." (I ask a lot of questions.)
  • Running that design past development, in detail
  • If useful for a particular project, implementing a system to make sure development understands the requirements. For us, that means that I design the database (first pass, anyway). There's a ton of stuff you can learn from a database design, and my team and I can debate and discuss the fine detail of a project based on what i come up with. "Oh, you meant this? I didn't realize that." or "I think we should do it this way instead."
  • QA - it goes without saying that testing is important, but you can't QA bad code and turn it into good code.
  • Division of responsibility: on a larger project, having just a single developer doing everything isn't a good plan. Certain people are good at certain things
  • Project manager that keeps things on track, and clears bottlenecks.
This is exactly the type of stuff I want to read! Thank you for the insight! Do you have a process when estimating how long a project will take? Or is it more of a "i've seen/done this before so I just know it will take X hours" kind of feeling?
 

Jon L

Platinum Contributor
Read Fastlane!
Speedway Pass
User Power
Value/Post Ratio
272%
Aug 22, 2015
1,649
4,489
Bellevue, WA
This is exactly the type of stuff I want to read! Thank you for the insight! Do you have a process when estimating how long a project will take? Or is it more of a "i've seen/done this before so I just know it will take X hours" kind of feeling?
Yeah its more of a seen it / done it kind of thing.

I have a potential client that brought me a 'super easy' app to build. Um, yeah, no. Its not super easy. Its not even easy. Its a $50k project, minimum, and that's cutting corners. "but you just do this this and this and its done!" "Nope. I can see how you'd think that, but I absolutely guarantee that there will be a ton of edge cases you'll need to control for, and you need to do it in a way that doesn't overcomplicate things. That's not easy." (On our call, I can get into this one in a bit more detail. I don't want to call out anyone in a public forum.) ... I might be wrong on this, but I've done discovery work on a bunch of projects by now, and I can smell complexity. This one has it in spades.

Another project: I quoted $45k. That is that a previous team did an MVP for $25k. They were US based, and mine is overseas. The MVP completely missed all the back end admin stuff they'll need in their system. I've done stuff like that before, and know what is involved. Its a month of me asking questions, a month of development and a month of test. (a month of me asking questions is a lot. Usually, its more like a week. But, this is a brand new company, and they haven't thought through a lot of the back end processes they'll need to run the company.)

Here's a typical series of questions I ask:

When I'm first getting into a project:
  • Why are you doing this project?
  • What would happen if you didn't do it?
  • What other options have you looked at?
  • Why aren't you using those options? (Why custom software?)
While these questions sound aggressive and designed to prevent a sale, what they're really there for is to prevent a bad sale, and to help me get to know the project on a high level. Later, when we are debating color of a button, or some other inane thing, I can say, 'will this help us achieve our primary project purpose?' Or, if we are going off on some tangent design-wise, I can ask that same question and get us back on track.

When I'm in a project, into the details:
  • How does this list of information get into the system?
    • 'it just is there'
  • Magic is awesome! ... But seriously, who puts it in? Where did they get it from?
    • They have to get it from Accounting
  • Where does accounting get it?
    • Accounting has to produce a report
  • How do they produce that report?
    • They have to do it manually actually. Someone has to call each sales rep and ask a series of questions.
  • how long does that take?
    • It takes about 200 hours each time they put this report together
  • Holy crap. That's a lot of work. What if we didn't gather this information? How necessary is it? Should we automate it somehow?

You can tell that this level of detail is excruciatingly complete. Clients have to be dedicated in order to sit through it. Some clients can't, and they aren't worth your time. RUN from them. Seriously. "Just build me a point of sale system. I don't have time for all this stuff." Right. Tell you what, here is the contact information for Upwork.com. Best of luck.

If you're doing custom business software, though, this is the only way to build good software. If you don't ask a question, you'll make the wrong assumption somewhere, and a business process will break, and people will be upset with what you build. "Well you should have known that we do X." They're right ... you should have known. You would have if you asked the question. ... Obviously, things will be missed, but you want to keep those to a minimum. Hopefully the misses will be small and not 'Oh, I didn't know 3/4 of your employees needed to be able to access this system offline on their phones!"
 
Dislike ads? Remove them and support the forum: Subscribe to Fastlane Insiders.
Last edited:

Raja

Silver Contributor
Read Fastlane!
Read Unscripted!
Speedway Pass
User Power
Value/Post Ratio
90%
Dec 31, 2019
740
668
I asked a recent client if his previous developers asked the kinds of questions I do. "Nope. Not at all." (I ask a lot of questions.)
@Jon L
I have been reading spin selling, how to win friends and influence people, and never split the difference.

They all point out that asking questions are the key in negotiations and sales in general.

They also points that some questions are more effective than others.

What kind of non-generic questions you ask?
 

Post New Topic

Please SEARCH before posting.
Please select the BEST category.

Post new topic

Guest post submissions offered HERE.

New Topics

Fastlane Insiders

View the forum AD FREE.
Private, unindexed content
Detailed process/execution threads
Ideas needing execution, more!

Join Fastlane Insiders.

Top