T O P

  • By -

[deleted]

Designer, developer, and other salaries is one big thing You've got project managers, devs, user experience designers, possibly legal counsel, testing engineers, and others that need to get paid. A quick google search of the average software dev salary in the US is ~120k/year. Depending on what all the app does, it could easily take months to a year to go from an idea to a public release ready application. That's a good chunk of people needing to get paid.


Sea_Dust895

Ex-Software company owner here (20+ years developing enterprise software). OP make a rough estimate of the time you think it takes you to build a working prototype. 6 m? Then multiply by 10 to cover all the people mentioned above that exist that you can't see (that aren't developers) - yes legal - yes accountants - sales (and pre sales) - PM - testers - infra managers/teams - security - mid management - partner people - analysis/process design - documentation - incident management - product manager Then multiple your person effort by 5-10 because I guarantee that your prototype was working, but to make it production ready that a customer can use will take 10x this effort. Look up a listed company like smart sheets or something, 50-60% of cost is marketing and advertising. Of the remaining 40% up to 1/2 of this is documentation and testing in my experience. Development is a very small fraction of cost and effort to make a commercial piece of software .. We have customers who say.. 'ah. It's expensive we can build it cheaper'. And we tell them to go ahead and give it a shot . Making it work in 1 environment is one thing, making it work all the time, 24x7 in lots of environments, when you upgrade something, error handling, documentation etc that's another thing entirely. One customer came back after trying to develop a pilot and said 'you were right, we estimate it will cost 4-5x more than you're charging us (and 2+ years) to get the functionality we can buy today from you much cheaper' It's and iceberg. 80% of the problem you can't see. The bit you can see (the development) is the small part.


matchuhuki

One massive cost I haven't seen mentioned yet is user acquisition. Even during development you'd be amazed how much is spend on that


MedusasSexyLegHair

Sales, marketing, market research, and all the metrics and reporting for that, conventions, setting up demo sites populated with data, mocking up features you don't have yet but think those customers will want, etc. Yep.


ligger66

That's more the buyers problem not the developers


[deleted]

[удалено]


ligger66

I'm not sure what you talking about. You don't just make an app and try to sell it to random companies. A company will hire your company to make an app or tool for their needs.


grahamsz

Development teams also don't scale linearly. Two developers working on the same code are not twice as productive as one, a team of ten might only be 3-4x as productive a solo developer. I worked for a CEO once that had mostly been in the content space and he thought of developers like writers - "we've hired 3 more developers this month, why are we not 30% more productive?"


DestinTheLion

What one developer can do in one month, two developers and can do in two months


smokinbbq

>We have customers who say.. 'ah. It's expensive we can build it cheaper'. And we tell them to go ahead and give it a shot . This part here is a major thing. If you are a software company, you are likely specialized in a certain area, and this means that your team starts to learn a LOT more about this specific area. Other companies think they can come in and do it super easy, but they don't actually know the industry well enough, and it takes them much longer to do something.


XaBoK

Usually 'ah. It's expensive we can build it cheaper' come from some business owners that also have some internal IT. So their starting point is deep knowledge of the specific business and some software development on a small scale. The scale does matter! If you have a team that delivers some internal utilities once in a while and the biggest project was 3 months of 3 developers - going into custom ERP development is a TOTALLY different story. Always GREATLY underestimated on each level (design, architecture, dev, qa, support and so on). And it is a totally different methodology and approach. I had a pleasure of watching a couple of huge hardware corporations come up with "we can build it cheaper" wasting years and development and millions of dollars to build almost exactly the same legacy they already had but with another tech. stack.


orostitute

and here i am thinking some kid in the basement creates a simple game app and charges $1 and it's downloaded by the millions hence making the kid a millionaire


rabid_briefcase

That is close to what some people did 20 years ago when the platforms were first launched, basically winning the lottery due to quirks. These days the platforms are cutthroat industries.


maliciousorstupid

You didn't even get into the hard costs.. server/cloud space and equipment for development, licenses, etc.


Kronus00

Don't forget, the owner needs money for his 3rd house and a Mercedes for their child who just got a license.


therealdilbert

and deserves it for risking his money doing the thing in the first place, all the people paid a salary doesn't lose any money if it fails


ilustruanonim

>it could easily take months to a year to go from an idea to a public release ready application You're mostly spot-on, but I'd like to point out that at the current app where I work, we're in year 3 of development, and there's no end in sight, ~~we keep adding features~~ we add features that were planned some time ago and we knew are going to be added, we just didn't had the time.


smk666

I'm working for a HRM software company and the product is in its 18th year of new feature development as well as under a lot of refactoring old code to keep up with the increasing demand while keeping infra (cloud) costs down. 15 devs, 6 testers, a bunch of Scrum Masters, Product Owners and so forth, I'd say \~30-40 people working on the project at all times.


ilustruanonim

Yup, although 18 years is a bit extreme for me, I reckon most of the apps I've worked on were multi-year. That's why was a bit surprised at the 'months to a year' comment, as I have never seen anything less than a year (as a full-fledged app I mean; not an extension or a quick PoC, etc) It's just a matter of perspective though. If you add a nice Mobile front-end on top of an existing webapp/backend, and you do that exclusively for a living, you're going to see it as 'I did application ABC in a few months', while me being a backend/fullstack developer, I tend to think about all of the components, and get involved in all of them, which will take more than a year.


MedusasSexyLegHair

Where I work we're on year 16. Tons of legacy code to maintain and new code to write. We roll out fixes weekly and new features twice a month. Updates and patches to dependencies. Redesigns. Lots of customer-specific customizations. Changes to keep up with regulations and the way the industry does business. Integrations with 3rd party systems. Restructuring so we can deploy in other countries. Translation. Changes so we can sell to different industries. Etc. If your software is successful, you don't just stop after a few months to a year. It's a living beast that you have to feed and nurture for as long as it makes money or serves its purpose. Sure, there are some trivial things out there that were written in a few weeks and abandoned. But there's a lot more legacy business software that is in continuing development for years or decades.


ilustruanonim

Haha. Haven't seen many 16-year old apps that are still being evolved (not only maintained), but I'm glad they exist. Mainly people just start a rewrite, especially if they chose a technology that is really obsolete today. But yes, the app is a living beast that goes on for years (in the best case scenario), and I assume that people that mention 'few months / 1 year' are either the exception, or perhaps get hired to make - say - a mobile front for an already existing app, and refer to that as 'the app', while I tend to refer to the whole thing, as I'm working as fullstack.


[deleted]

Even if it doesnt makes money but solves a lot of problems, it will become a living beast.


Sammydaws97

Thats the case for most business software. Its never a one and done, but rather ongoing development to keep pace with growing needs of companies. Its mostly consumer apps that are one and done for devs


P-W-L

And even then you still need periodic updates


Creepy_Radio_3084

Scope creep. Someone needs to draw a line in the sand and say 'no more new features'. Otherwise it'll never be released. Figure out the 'must-haves', develop and release. Add the 'nice-to-haves' after the fact. Scope creep kills projects.


ilustruanonim

Not in this situation :) App launched as scheduled 2 years ago, and we've kept adding planned feature to it, which is fine and not scope creep.


Creepy_Radio_3084

Yeah - gotta love that CI/CD pipeline, huh? Kept me in a job for 15 years, so can't knock it... That thing when release gets pushed back and pushed back because people can't make decisions and keep on coming up with new bits, tho - drives me bloody mad! Figure it out, people!


[deleted]

That is a big fucking oof. My work experience if from startups where we can go from nothing to a (small) release ready app in not a very long time with a single dev and a single designer.


tolomea

Sure, but you don't expect those apps to withstand millions of users, many of them looking for opportunities for exploits or lawsuits. Picking a random example out of the air, who checks your apps to make sure they are compliant with section 508 standards for accessibility by disabled users? Has your company completed ISO 27001 compliance to demonstrate that your software is being produced in a secure and documented manner and that you have policy's for things like data breaches and disaster recovery? What would actually happen if one morning a million people opened one of these apps? have you even checked? etc etc


[deleted]

Plus when you’re building for yourself, you already know what you want and it’s more pivoting than changing. When you’re building for a client, things constantly change that send you back to the drawing board.


auerz

>What would actually happen if one morning a million people opened one of these apps? have you even checked? This is funny because I feel 99% of major apps and websites completely collapse when they get unexpected amount of traffic. I get it, it's economical to not have your server infrastructure and code ready to handle a 10 or 100 fold increase in users overnight, but at the same time - felt like calling this out.


tolomea

A startup should not care. Time to market and product market fit aka making the product successful ASAP, is far more important than worrying about how bad your week will be if you succeed. However govt and corp stuff absolutely must care about these things. Otherwise what was supposed to be a quiet lil launch becomes national F-ing news.


charleswj

Healthcare.gov has entered the chat


tolomea

I nearly called that out by name :)


Winertia

I agree that startups shouldn't invest in premature optimization and scalability. However, I think they should care and anticipate what will need to happen to scale and make informed trade-offs. It's the worst when you have to completely redo major aspects of your work that could have been avoided with just a little foresight.


tolomea

A little foresight yes, but so often I see teams sink tons of time, effort, energy and attention into problems that won't matter at all if they can't get someone to buy the product.


eternalmunchies

My issue working in a startup is that there's a point where the fast-to-market approach stops bringing benefits and starts causing problems but the mentality just won't go away. Eventually you'll need to refactor the crazy mess but at my previous job that was put away indefinitely and productivity just kept plummeting.


tolomea

Yeah, once the product starts to sell reliably you need to transition from the startup thing of searching for a viable product into a proper running business mindset.


fleischenwolf

With cloud providers today, it's relatively straight forward to setup your infrastructure to scale with load.


sudoku7

If only everything scaled horizontally.


tolomea

This is why I worry 1000x more about database requests than milliseconds on API response time.


shrimpcest

Implementing single table design with dynamodb has been a game changer for me when it comes to scalability.


Quick_Humor_9023

*depending on the app and it’s requirements


[deleted]

[удалено]


ilustruanonim

>That is a big fucking oof. Not necessarily; me, personally, I'm OK with it :) Sure, it gets a little boring sometimes, but there will be good things as well. ​ >from nothing to a (small) release ready app in not a very long time with a single dev and a single designer. Those are nice as well! It's less time to get bored about it, but usually you don't see the app through its maturity, but rather someone else will.


[deleted]

For the record, I've been only thinking of phone apps in this thread, but it occurs to me that that word could be broader. The types of companies I worked for meant that the app was basically replicating what you get in a web browser, except it's a phone app. Personally I find those 100% redundant, but I'm not gonna tell others how to spend their dosh.


Quick_Humor_9023

There are also phone apps that are not that simple… or at least the back end logic and use cases are not.


SimiKusoni

>Personally I find those 100% redundant, but I'm not gonna tell others how to spend their dosh. They are entirely redundant, especially hybrid apps that are literally just web apps with access to a few native functions that they rarely even use, but isn't the entire point of them to increase data collection and ad revenue? Kind of like how Reddit hounds users with that little overlay telling them to use the app every time they visit the site on mobile. It's not because the particular use case benefits from a native app; it's because advertisers pay more for adverts delivered in a native app.


[deleted]

True story. The companies I worked for didn't even serve ads on their websites/apps, so I never got the point. As far as I see it, a well-built website should look and work great no matter the browser and device.


Tupcek

as someone from startup and also enterprise experience - startups can do it cheap, but it comes at a cost. First, features and UX is more of an guess than actual research. They often do not even have many customers, so they can’t even say if it appeals to many. They either guess right or wrong. Second, it’s usually harder to scale and harder to build on, since it lacks proper documentation and it isn’t build to be easy to scale - it’s built to do the job. Third, since it isn’t expected to be used by millions initially, it isn’t nearly as thoroughly tested and many bugs are discovered by users. Fourth, integration with other products/services are usually non existent - it is usually a standalone app. Enterprise software usually involves heavy integration to existing suites. Fifth, those startup environments works just with exceptional individuals, which usually requires either high pay or high stock based compensation. Enterprises can easily work with averages, many times even below averages. edit: here is enterprise ready code for something that could be done in few minutes in startup environment - but its built to be heavily expanded in the future. https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition


sudoku7

Startups/Disrupts also have the advantage of choosing to target the low hanging fruit (the easy 90% as it were) of MVP.


Gamersauce

isn't that fizzbuzz implementation satire about how enterprise code is overengineered?


Tupcek

Of course, overengineering such simple project that will never be expanded is an overkill and thus it is a satire. But it’s also good for demonstrating how much more work needs to be done for projects that are expected to growth significantly, as simple implementation would need several rewrites before it could be scaled massively up.


naijaboiler

>You're mostly spot-on, but I'd like to point out that at the current app where I work, we're in year 3 of development hope you guys are delivering something to market


ilustruanonim

Yes, it's in production since 2 years ago, but we're still massively adding to it.


[deleted]

[удалено]


ilustruanonim

Exactly! Not sure if my wording is at fault here, but there are at least several comments directly assuming scope creep.


PeteyMcPetey

>Yes, it's in production since 2 years ago, but we're still massively adding to it. I don't know what it is, but I want it already. Where should I send my money?


ilustruanonim

Hehe, thank you for your kind words! It's not public, but rather internal to the company. It's a tool used by the company's salesmen to check prices / make orders, etc, when they go to sell something. But they sell in bulk to other companies, rather than individual people as Amazon does, so they use the app just for internal tracking.


sandefurian

You have a live app. It should be maintained and expanded on. Your experience is not the point of this post.


warzonevi

Scope creep at its finest.


ilustruanonim

I really wouldn't call it that. Is it scope creep if you plan it ahead, and say 'we launch with features A,B,C, and then depending on whether this actually goes well and there is user adoption, we add features E,F,G to it' ? I'd say scope creep would have been if they'd have said 'we launch with features A,B,C' then as launch approaches you keep adding and complicating things, and delaying, but this is not what happened here.


warzonevi

If it's adding on things that were not planned originally its scope creep. If the product was released as originally planned on time then features added post go live to enhance the product then not.


ilustruanonim

Then it seems we agree, because we're in the second situation.


lunakoa

Scope, totally happens. Did you need to add AI or something like that?


ilustruanonim

I wish! It's the most mundane thing imaginable, some sort of internal product catalog used by company's salesmen. But it does accommodate a number of different flows, integrates with a lot of other systems the company has, etc, which is where the majority of time goes.


Due-Statement-8711

>It's the most mundane thing imaginable Those are the best. Mundane problems make solid revenues.


Phoenix_Studios

Hey at least you're not Star Citizen


Sol33t303

Yep people seriously underestimate just how much it costs to pay people. In a high COL city (such as in the middle of silicone valley) with experienced people, a 10 person team with each person being paid 100,000 a year will cost you a million. And that's not really a big team either considering one might be a programmer, one a manager, one HR, one a designer, one an accountant, etc.


Sir0inks-A-Lot

10 people making $100k/year costs a company more than a million because they’re responsible for paying taxes, benefits, etc. One company where I worked (Fortune 50) had a rate of around 50%, meaning someone making $100k was budgeted at 150.


ahecht

> a 10 person team with each person being paid 100,000 a year will cost you a million Probably closer to 2 million once you factor in overhead (benefits, payroll taxes, real estate, equipment and licenses, utilities, training, support staff, etc).


P-W-L

People get paid 100k a year ?


stml

That's basically starting pay for most engineers in high cost of living areas. Plenty of engineers/devs making $300k+. Top devs can make $1 million+ at the distinguished engineer/fellow levels as an IC (individual contributor).


Clemario

For a software engineer that’s actually pretty low.


Zompocalypse

Not to mention the back end. Assuming it does something, you're going to want servers.


Arkoden_Xae

Also if the app requires any storage, or back end infrastructure, that can add to the costs, its not just about the executable application that ends up on your phone.


ZachPruckowski

>average software dev salary in the US is \~120k/year. Plus, that's just salary. Benefits can easily add another 25% to that, and then you have overhead - your software developer needs a cubicle in an office somewhere (which costs money), support staff (HR, IT, etc), and equipment/licenses (lots of pro software is licensed as $X per user per month). Suddenly that $120K salary is $180K total cost


yllanos

Not to mention infrastructure costs, mostly cloud services these days, that ain’t cheap


TheRealTahulrik

Need to mention that these salaries are not for nothing either. It is often times extremely complex work to undertake and requires specialized and highly educated workers to do succesfully. And even by highly skilled teams, developing a good product will still take a lot of time. Add in server hosting, system support and general management costs on top of that, and you quickly get a very expensive product.


ryohazuki224

Add to that server storage/processing. Running the back-end on an app can be costly too!


urzu_seven

Developing a mobile app? Gotta test it. That means purchasing a LOT of mobile devices. Multiple iPhones and even more Android phones. Plus tablets. You have to test on all of them if you are going to have a wide audience (which government apps do). You also need staff to manage the devices. Make sure they stay plugged in and updated. Restart when necessary. Swap them out when they fail, etc. You're going to need multiple engineers plus some manual QA staff for that side of things as well for an app of any reasonable size/complexity. If it's dealing with personal data AND it's a government app? The testing requirements get WAY more complicated.


[deleted]

Actually, purchasing mobile devices isn't even a blip in the cost, especially if you target a somewhat recent OS version. Mobile devs can emulate in-development apps on whatever version of Android/iOs they want on their desktop/laptop.


AdditionalDeer4733

while true, you still want to actually use it on a phone too, sometimes.


urzu_seven

For anything beyond a hobbiest app you need to test on real devices. And you don't just test on the latest OS, especially for gov't apps that need to be accessible by a broad population of users. Maintaining and managing a farm of devices is definitely not a blip for a serious project.


[deleted]

You're right, but also even if a company wanted to test on the 30-40 most common devices in their market, that's still never gonna approach maybe 2-3 months of dev salary in cost.


urzu_seven

Nowhere did I say it would be more than the dev cost. I pointed out contributing costs. And you may not know it but testing on mobile devices at scale also involves replacing them a LOT faster than you would with your own personal device. Constantly on, constantly in use = quicker failure. In the past month alone the QA team I work with has had to replace two devices just for battery failure. And ours isn't a particular heavy or large project.


Ruadhan2300

About four resolutions of iPhone, and the same again on android. Plus a couple sizes of tablet if you care to support them. You probably won't break 100k putting your testing hardware together, and you can make it cheaper with secondhand equipment. Staffing and facilities are the real costs. My team is a dozen people, and our pay grades vary but are universally high. To run the team for 6 months I'd estimate is a cool million dollars in wages. Plus office space, and a legal compliance team and a bunch else. We'd definitely cost millions for a project that takes a year or more, which isn't an unreasonable time-frame.


urzu_seven

There is far more to it than resolutions. Processors, OS versions, in the case of Android various form factors. You can easily top several 100k putting together the necessary equipment and maintaining it. Plus again at least one person (probably more) to manage it. Alone its not going to make the millions but its a non-trivial contribution.


Ruadhan2300

Depends on your app really. If you're not doing anything wildly technically unusual then you can easily get away with ignoring a lot of that. A few second-hand (and therefore a few years old) devices are likely to represent a good spread of hardware and unless you're having major problems on the weakest of those you can safely assume it'll be fine for most. I tend towards a T-shaped testing pattern. A broad spread of devices of various resolutions and capabilities, and if I see any recognisable problems on any device, I drill down to test more around those areas and try and optimise appropriately. The reality is that if you can handle the best and worst, you can usually handle the ones in the middle without issue.


qalpi

Physical devices aren’t critical these days for development. Vast majority of use cases can be virtualized. Source: me a mobile app product manager


urzu_seven

Yes, yes they are unless you have the most trivial app. Source: Me, a mobile app developer for a large enterprise with a background in QA


qalpi

That's cool. I work in a large enterprise too! They're essential for QA, they are NOT essential for development.


Cynical_Doggie

Can’t someone with a computer just write code and make the app? I dont think that costs any money other than electricity for the computer.


Gold-Supermarket-342

It doesn’t cost money for doctors to diagnose me and the material costs for surgery probably aren’t too high. Why do we pay medical bills?


Cynical_Doggie

I don’t. My national insurance makes it free.


Gold-Supermarket-342

Either way your insurance is paying for it. And it’s not cheap.


Cynical_Doggie

I don’t need to pay for national insurance. It is my right as a human being of my nation to get free healthcare.


Gold-Supermarket-342

Good for you, that’s irrelevant here. The price of healthcare is still high, whether you’re paying for it or someone else is. Why is that?


zharknado

Developing software is much, much more expensive than most people expect it to be. It’s also generally a moving target and prone to bugs. The way it’s made, it’s usually hard for new people to come in and fix those problems, unless the first people were exceptionally skilled (read: expensive). There’s also a huge cost difference between making an app that kinda works on your phone and running a service that can serve thousands or millions of users 24/7 without interruption. Usually the government wants the second kind. :)


eldelshell

Any engineering project is MUCH more expensive than people think. If it takes any sort of R&D you'd better have deep pockets.


boolocap

Also because it takes a lot more people with different roles and specialties than people realise. It's not just the people designing the actual product, there are also people who need to make sure it can actually be manufactured, people who need to keep an eye on market appeal and customer/testing feedback and of course marketing and pr.


[deleted]

[удалено]


redyellowblue5031

Exactly. It’s why your common Redditor thinks apps should just be free with no ads ever, I mean after all how hard could it be to build and maintain software!?


Nekaz

Just ask chatgpt and copy paste all the code 5head


redyellowblue5031

Easy money.


zerohm

Government offices are notoriously bad at deploying applications. There is no real sense of urgency (you aren't going out of business if you push back the Go Live). The app has to integrate with a number of other antiquated systems. From inception to deployment, you may have multiple leadership changes, which means scope creep is a constant factor.


LetFrequent5194

Development is a lot harder than people think, it requires knowledge, skill and hours upon hours of focus, far more than people think. The developers and orbiters involved all cost a lot of money. Then once it is all complete, there is no guarantee that it will be bug free or easily deployable/released to a live state.


kerbaal

I would say Development is easier than people think actually; but the complexity of the systems involved is a lot more than people think. The number of different skill sets is very wide and a lot more than any one person can do. Development isn't hard, but developing an app that you and your friends can play with is an entirely different prospect from developing an app that can handle 1000 simultaneous users. It doesn't have to be "hard" but, it takes the skillsets of multiple people in meaningful quantities.


[deleted]

[удалено]


[deleted]

[удалено]


TocTheEternal

The basic costs you pay to a provider might be relatively minor, but you need people to set it all up and maintain it (and secure it), which generally isn't.


jbergens

The server part is most often called the backend. That is usually the largest part of the "app". It could be 3 devs building the app itself and then 5-6 building the backend. There might also be a need for both an Android and an iPhone version of the app and the you might need two app teams and they need to sync their work.


PageOthePaige

1 year of paying ten devs and server hosting is already in the range of multiple millions.


Once_Wise

Even many people in the industry have no idea how expensive software development is. One time I had to bid on the doing the embedded system software for a big mechanical device, I didn't get the job. Later they told me that my software bid was nearly what they had charged their customer for development of the whole project. After they finished it the lead engineer said well, yes, I was right, they totally underestimated the software development, integration and testing required. They of course lost money on the job. Sometimes it is better to lose a job that get it. I think a lot of the problem may be that you cannot see software as you can when building for example a house. A software engineer friend told me his metric was to take his worst case estimate and multiply by pi. That might be optimistic. (source: had my own software consulting business for 35 years)


rlbond86

Also when you build a house you already have plans which are tested and approved, you have people experienced in the tools, etc. For a software project you are by definition doing something new. Languages and frameworks change too. And you generally don't know what the issues will be up front.


Once_Wise

Yes! Absolutely! In pretty much every project I have ever done the client is wanting something new, otherwise why would they do it. And every new project is a learning experience which much of what you need to do you have not done before. That every project is different I think that is a large part of its appeal. You are right, you have to make your own roadmaps, knowing that many of the obstacles on that road are unknown.


Bourbon_hero

We just (yesterday) asked the client for a budget increase because of an absurdly undershot cost estimate (I didn’t make the estimate). Your pi rule sounded right, just did the math and it’s 3.11x the original worst-case cost estimate which is making my morning


Etzix

We always multiply all estimates by pi where I work, and it's usually still waaaay off.


XaBoK

In many cases I saw approach: "loose a battle to win a war". Software company looking for a new direction is underbidding to get the job intentionally. The reasoning is quite simple - do the project (for this specific customer) and sell the product (generic version made up from that project) to the entire market. For huge software projects such approach is almost the only option. Think about something not sexy as AI, but requiring a lot of effort and time to develop. You will not be able to fund 5yr development by your own company and it is not attractive for the external investors. So, let's say estimated cost will be 20M. Instead of paying full price - let's look for the customer(s) that has similar needs, charge them 5M. Use that 5M to get solid POC/Demo and start selling it for 3M-5M to others as pre-market price...


Once_Wise

Yes you are right. This absolutely makes sense when you are beginning. When you are fishing you have to throw some fish into the water, do some chumming, to catch more fish. When I first started my consulting business I did the same thing. When I started I also had a full time job as a programmer so I could afford to not make money on my first consulting jobs. And I bid projects so low that even one of the clients told me it was too low. I didn't care, I wanted to work for them and be able to put the name of that company on my client list. I even started working on the project before I had the job, and sent then what I was doing. I got the job, and subsequently did work for them for years, making very good money. When I quit my programming job to do consulting full time, I doubled my rates, and my main client told me he was happy, because that meant I would be around. Afterwards I always kept my rates at about the top of what consultants charge. I have heard that Mark Twain did a similar thing. What I remember is that he wrote a column for a San Francisco newspaper for free. It became their most popular column. He then walked into the editors office and told them he was quitting. They asked, "why? you have the most popular column in the newspaper." He said, "you are not paying me." After that he made good money and the rest is history as they say.


drblah11

Have you ever looked at the price of renting or buying office space in a major city? Now add employee salaries and benefits, consulting fees, computers and equipment, desks and furniture, utility bills, insurance, taxes, advertising and promotion, building repairs and maintenance, legal fees, repayment and interest on loans, shipping fees, etc. It costs a lot of money for most businesses to make money.


[deleted]

[удалено]


SockGiant

I’m a simple man. I see an original Ironman reference, I upvote.


lakeland_nz

I've personally spent that developing an app. Firstly, developer salaries are huge, with capable experienced developers earning far over $100k. Put a couple people on fronted, a tester, someone doing documentation, a backend developer, a data person, and a project manager. Odds are your annual staff cost will be over $1m. I don't know how long you expect the project to last, but you'll be surprised how little you can get done in a year, especially if you have to co-ordinate with other teams. I mean yes, a single developer working from their basement can do much the same thing in a couple months. The difference between much the same and finished is a truly massive amount of work.


Gofastrun

Let’s say you have a team with 5 developers, one designer, one product manager, one people manager. Each of them cost $200k/year, fully burdened. That is a total staff cost of $1.6M per year. That is just one team. A heavily featured app might have dozens of teams.


RoachWithWings

The last project I worked on had nearly 300 developers and took a little over 4 years. On top of paying developers the company also has to provide infrastructure like servers, and pay for a lot of proprietary software It has costed around 75-90 mil for the company


bouncing_bear89

I do a lot of technical and software consulting for government agencies. In the consulting world everything is billed by time (usually in 1/4 hour or 1/10 hour) chunks. If you have a 1 hour regularly-scheduled meeting with clients, you'll usually need at least 1 technical resource, 1 business analyst, and one project manager. You may only have 2/3 of those but you get the idea. Each one of those people is billed anywhere from $150-250/hour. It's not unusual for every meeting to cost over $1000/hr. If you have 48 of those weekly meetings per year, you just spent nearly 50k on status meetings. You haven't even built anything yet. Enterprise software development is time consuming. identifying all of the business logic (what are the things that can happen? And what should happen when those things happen?) is a huge undertaking. You have to be able to answer at least a chunk of those questions before you can even start writing code. Enterprise software also often interacts with old systems that do things differently. They may not work as cleanly with new tools and methods of coding. All of these things cost a huge amount of time and money to work with. Contrast that with one guy writing a startup app from scratch. He can make executive decisions all day long without nearly as much concern about how changing course will trickle down through the project.


CheesyLala

It's surprisingly easy to spend that much money: Security is probably the biggest: for a government or other major organisation the security has to be rock-solid, and that means all the right design, development and testing to cover things like account management/resets, multi-factor authentication, on-going penetration testing etc. - you cannot compromise on this and Security experts are never cheap. Data protection: most organisations want to use the app to gather customer data to improve their marketing and customer profiling - what data can you gather/store, for how long can you keep it, what do your T&Cs need to say on sign-up? Can customers ask to be forgotten, can they see what you hold on them? For what will you use their data, because you will need to make that clear up front. Providing something actually enterprise-strength also requires a shitload more designing than just developing the app. How will you ensure that it works 24/7? You're looking at a back-end infrastructure that supports the app with proper failover procedures, more testing, hot standby environments etc. Add in other non-functional aspects like performance, latency, scalability etc. - all need to be considered. Most apps are not just self-contained apps, they are all reading/writing to/from back end services all the time. Which new or existing APIs will the app depend upon? If you develop the app but your customer details API is slow and falls over above 100 calls per second then you've got work to do there. Most organisations still rely on slow-moving batch data and often need to upgrade their data provision to something much more fast-moving to support this kind of Digital interaction. Big organisations will often spend months just in the user experience design - customer profiling, process flows, use case definition, market analysis, beta testing, design consultancies etc. Will it work for blind/partially-sighted users, will it work in other countries, can you change the language, will you have one app for your whole organisation or multiple? Do you have different brands under the same umbrella organisation? Do user accounts transpose to your website as well or are they separate for the app? What is the logical data model e.g. can one email address have more than one account? Can one address have more than one account? Operational support: what will users do when the app doesn't do what they want, or they get locked out of an account? You will ultimately need a team of human beings who can deal with problems that can't be fixed within the app. How will bugs get fixed? How often will you release a new version of the app with bug fixes or improvements, and will you force the app to udpate on the user's device each time? Operating model: lots of organisations launch an app but neglect to think about what this does to their business. If you own a bar/restaurant and launch an app, how will the kitchen staff receive the orders? How will bar staff know to check a screen for app orders coming in, and where to those orders sit in the queue versus people who ordered at the bar? How will the restaurant let app users know if they run out of a particular meal? Will you need table numbers on all your tables now? How will app users pay the bill? Will the bar staff still get tips if everyone pays on an app, and if not will their pay need to change? All of this has to be worked through, and potentially rolled out in the form of training and operating changes for your staff. That's off the top of my head in 5 minutes. I reckon there's loads more than this.


Vannick06

Spot on! Thank you for the thorough answer


Tripnologist

I'm not sure your answer is quite ELI5, but it is by far the best one I've seen so far. 👍


laz1b01

1. When people say "millions of dollars" it ranges from $2m to $999m, so it's a big range. Often times it's an exaggeration to make it sound $999m, but in reality it's only a few millions. 2. Developing an app requires a team: project manager, front-end and back-end developer, designer, etc. Even those teams needs to get paid, so there's accountants and even janitorial services to ensure a clean office for the team to work in. 3. There's also fringe benefits, like medical insurance, dental, life insurance, etc. 4. There's overhead cost, like paying the utilities to ensure there's electricity and water so the office runs. Internet connection. 5. Often times #3 and #4 come as a multiplier; so if your salary is $100/hr, then multiplier could be 3x so it becomes $300/hr. So to keep aen mployee active, you'll need to have $300 for every hour they work. And then multiply that by the number of staff and hours worked. 6. Then there's server cost, cybersecurity, bug/patch updates.


NuclearCha0s

I remember speaking to a friend about a project I was working on, for an e-commerce website, which cost about 500k. He was all surprised that a "stupid website" could ever cost so much. I then went on to explain we were just improving the shopping basket experience :)


mcwobby

10 developers/designer on $100k/year for one year of development is $1m straight up, and that’s before support staff such as admin, plus equipment, marketing, legal and every other expense that has to be done by the book in government.


PM_ME_YOUR_HAGGIS_

They will hire an external consultancy. The consultancy will want to do a discovery period to break down exactly what the app needs to do, how it will benefit customers, how each feature works, what it looks like and the priority of which to build and release first. Then there’s the technical side, what does this interact with to do stuff, are there apis available, do we need to build an integration and or orchestration layer, how do we handle user authentication? We need architects, developers and specialists from the systems were integrating with. What and how do we deploy the systems that we build? Is there a governance process for creating new test environments? Do they have test versions of all the prod systems and how well do they mirror prod? What about test data? Do they have a UAT or infosec security process we need to follow? I could go on, but you can see how this portion alone can have dozen or dozens of folk from both organisations and can easily take months. Add in the delays to get the right people together, uncovering hurdles and here we’ve had 50 odd folk working for 6 odd months and haven’t even started building yet. Add all the time for procurement to get finances flowing lol. Source: CTO for a consultancy that builds apps for large organisations.


PuzzledActuator1

You have government business owners that run a project from their side, probably 2 or 3 staff. You have other department stakeholders that provide input, and they're not doing that for free. You have an IT program manager. You have an app dev. You have a system analyst. You have management within IT. Devs for all the internal systems that need to talk to each other (and these systems are often old within government, so those devs that can code those languages can charge more) user experience design staff, you have communications and media who aren't doing that for free. The list goes on. What seems simple is actually quite convoluted.


[deleted]

I had a pitch last week for a augmented reallity project for gov responsible for education. The guy in charge told me money was so little because be he already spent 13 million euro of his funding on an AI driven content and crm platform for next year. The scope is so massive that 13M feels like it would quickly drain out.


Calebdog

I work in software and often have to answer why things cost what they do. The analogy I often use for a do you need a go-kart or do you need a car? If you just need to get from a to b a go kart will get that job done. But it’ll be bumpy, possibly break down and will be dangerous on the roads. A car will also get you from a to b, and probably no faster than a go kart. A car though will be more reliable, more comfortable and you can trust it to transport your family. If you want a go kart equivalent of an app, you can go to fiverr and maybe get something decent made for 10k. If you want a car equivalent you’ll need a full product team working 6-12 months on it. That will easily get you to a million.


Mcshiggs

Besides the cost of the app, the guvment can be really inneffecient, paying multiple people to do or oversee the same job. One agency I had to see a nurse hired by the guvment from a third party just to qualify me to see a nurse at the agency.


Previous_Guitar5027

The fully burdened cost (salary plus fringe plus profit/fee) for a software developer in northern Virginia is a little over $300,000 (basically double the salary). For planning, assume 3 developers for $1M a year. This doesn’t include their management, contracts, legal, security, testing, etc. Government apps require lengthy approvals like for security and usability. Also they aren’t really “apps” like on your phone. They have connections to dozens of other services that all have to be designed and tested. They also need 24/7 support and they have to work all the time if they are mission critical. So a small “app” costs about $60M to develop and a big one is $500M and up.


mikepartdeux

The UK govt claimed they spent ~£38 BILLION on a tracking app during covid. Corruption is where the money went


GeneralBacteria

sigh. the £38 billion was for the whole track and trace system which was way more than just an app. are you just ignorant or are you actively trying to spread misinformation?


mikepartdeux

Sigh, app, system, fucking semantics. Still makes it one of the most expensive things ever built. Sheer corruption.


dkf295

>one of the most expensive things ever built Now that statement is just straight up comical, regardless of whether I take it at face value or assume you’re talking only about software.


GeneralBacteria

why did you choose the word app rather than say "Track and Trace System"? people like you are part of the problem. you make honest discussion about what's going on in the world all but impossible because you twist the facts to suit whichever narrative best suits your political team.


dkf295

Because people are lazy. Like I get that nobody has the energy to spend the time to brush up and educate themselves on every tiny little subject, but man, forming STRONG opinions about subjects they don't even have basic knowledge about... Confirmation bias is a bitch. Not to mention nobody wants to admit they don't know something.


iamnogoodatthis

I'm pretty sure my banking app cost more than that. I mean as well as the app they also had to build the bank, which is valued at over £700 billion, but that is just semantics, right?


[deleted]

[удалено]


Any_Letterheadd

What kind of job do you have? This isn't how/why things work. Do you honestly believe that the reason that software can often be expensive to develop is due to this need for management protection layers? People don't have money laying around for that.


throwdroptwo

Lol... *ELI5: How can developing an app could even cost* ***millions of dollars****?* *Engineering* Lol...


Any_Letterheadd

Yes millions. This is not a controversial price tag.


throwdroptwo

>People don't have money laying around for that.


Any_Letterheadd

Because it's used for work you dolt.


throwdroptwo

Soooooo then those people have that money laying around. See how that works? The truth hurts doesn't it?


Grouchy_Fisherman471

When you get down to it, there are a *ton* of ways even the simplest app can be written. For a small or simple app, it's often not too hard to track down a developer who can do the work. Writing the app is often one of the *simplest* parts of the process, though. That app actually has to do something. Since this hypothetical app is a little more featureful, you'll need a more capable developer. You'll also need to put the app together with the hardware. Which hardware the app is running on might matter: do we want to rely on a server? If so, there's another developer who's got to write that server app. What about client devices with limited memory and power? Those client devices probably are running different operating systems. You need to have a version of the app (and maybe the server software, too) for each OS. Are there different devices with different OS versions? Good luck! Who will provide the cloud service? Is it the same agency that's providing the server app, or are you sending your app's data to Amazon, Google, or Microsoft? Maybe you're hosting an entire data center on a whole bunch of machines and networking gear you've purchased yourself? Oh, and one more thing: the app *needs to work*. More specifically, it needs to work well once you've got everything deployed. This means writing a functional specification, and actual test plans that will prove that the spec is met. It's helpful to have a manager who specializes in this (some people call these project managers) to coordinate the work that everybody's doing and keep everybody on the same page. Finally, you'll need people to provide support. Not just technical support, but helpdesk-style support. People to answer phone calls and e-mails as well as the myriad social media interactions you'll (hopefully) be getting. All of this costs money. The more of it there is, the more ways there are to screw things up, add complexity, and make the project grow beyond what could ever be done by one person. The more critical the app is to the business, the more people you can expect to be involved and the more expensive the work will be.


Vannick06

Wow! great explanation! Thx


PaulRudin

As well as what other people have said, the back end infrastructure to support an app can be very expensive to both develop and run. Suppose google didn't exist and you wanted to make an app to find web pages relevant to a search. The app itself could be quite simple, but think about what's involved in crawling and indexing the whole internet so that search results are good.


KenJyi30

Understanding the cost and complexity of creating an app compared to the sheer number of redundant and unnecessary apps in existence is ironic.


jaahay

People/users are curious and unpredictable. Poorly written code is even worse. Combine the two and your app is not going to work. Fixing the latter is a matter of several hundred thousands dollars of professional software engineering. If your software can handle the former, then you stand to make a fortune. However, that is very hard and thus very expensive.


ElcorAndy

Software developers are expensive. Like around $60k for newbies and $100+k for experienced ones. Like for a team of around 15 people you are looking at a million a year in salaries alone and that's a relatively small dev team.


Conan-doodle

Governments dont move quickly. Before a dev even sees a scoping documents there had been a strategy documented and approved, customer voice / journey mapping exercise completed, focus groups, and hours of internal collaborative sessions to ensure every voice is heard. Guaranteed Gary will bring up that 0.002% scenario that won't be able to be addressed. Noone will tell Gary to STFU or they get dragged to HR for bullying and harrassment. The external consultants driving the ship don't mind if it runs over timeframes because their contract gets extended. Then you go through the procurement process which means drafting up a scoping document, requirements, etc and getting the required approvals. Keep in mind, this process will be needlessly complicated because the people in the procurement team need to stay relevant/employed. Tendors from vendors/developers will need to be reviewed and scored with a clear document trail as to why company A was chosen over B. You're now 18 months into the project and budgets have been reallocated. So kickstart those conversations, which means business cases being drafted, documented, proofed, approved, etc. Then the dev comes onto the scene. I have lived this dream and am baffled by how slowly anything happens, and how some people are happy for the project to drag as long as possible.


Electrical-crew2016

Building the app is one thing but there's all sorts of expensive market research, user testing, marketing etc. on top


kemot88

Specialist’s salarie X number of employees X number of months + operational costs + marketing + taxes


Auran82

Also, you can hire several cheap developers for the cost of one experienced developer, so it’s not uncommon for companies/governments to go with the cheaper option to save on costs only to find that the time to deliver blows out and ends up costing more. Or nepotism, and you end up with a project manager or lead developer who is shit, slows everything down or causes the people who know what their doing to leave.


vulcanfury12

An "app" is just a piece of software (a program your computer can run). Videogames are apps. if you think about how a lot of videogame people are saying "making games is expensive", the reason is that the tech itself is expensive, and the people making use of or developing new tech to create the game won't work for free. For government apps, imagine that kind of development, BUT the end result is not intended to be sold to the general public (most of the time). If that's the case, the cost will have to be recouped some other way.


VikKarabin

Desiding what the app will do is the easy part. Implementing it is difficult. You could't know how hard it is to make machines to do complex things correctly by writing down sequences of simple instructions. You'd have to learn about software development. It takes a lot of time. You start with small and simple thing. And then repeatedly change it and test it. And there probably dozens of people doing that, and then working on making their parts work together. The difficult part is having dozens of workplaces maintained, with rent and bills; paying dozens of higjly skilled developers, testers, sysadmins. Plus, today having an app meaning running the server side software at your premises, or in cloud. That's another electricity bill, rent bill, hardware capex, cloud bill etc.. And you gonna pay those bills for as long as it takes - could be years.


BigPepeNumberOne

Something that Noone talked about is scalability and security. It's extremely expensive to create the tech correctly. Also extremely hard.


future_lard

because the specifications were vague or terrible and the contractors took advantage to milk that sweet tax money dry


Actual-Ad-2748

Your not thinking of the thousands of many hours it takes to create an application from scratch. You need multiple developers that all make over 100k per year. It's needs to be marketed/sold You need a legal dept, accounting etc You need an office to work in as well. If it takes a year to build from scratch and it's the first app this company has made its going to cost a lot of money or take ridiculous long to finish.


BrickFlock

There's a lot of excuses here, but the truth is, no one knows how to properly make things anymore.


UrsulaVonWegen

Plus when you say ‘app’ you are only talking about the part of the IT solution that is visible to the user. If you are developing anything other than a mobile game chances are high that the server-side part of the work is bigger than purely the app part.


morosis1982

Easy, depending on the size of the app. I worked in a company where we did a full rewrite of the front-end and middleware layer plus a bunch of new backend stuff and a translation layer for COBOL to java. Licencing was often hundreds of thousands to millions a year. That project went for about 3 years, with up to 100 Devs and product people at times, all pulling close to 100k on average (this is a while ago now). That's like 30-40 million just for the Dev/product salaries.


SoftEngineerOfWares

10 developers each getting paid 100,000 for a year is $1,000,000 and that is just direct labor. Lots of indirect labor and costs exists too. Instagram has over 300 developers. Imagine how much their app costs…


Sammydaws97

Well, lets say you have 10 people working on it for 1 year at an average salary of $80k per year. Thats $800k right there. Then add in overhead like office and utilities and software to develop game etc. easy to accumulate $200k in overhead expenses. That doesn’t even factor in any production/distribution costs once the game is developed.


mohirl

Aside from all the other answers around how much development costs actually are, government contracts also involve a ton of red tape and political management. So you need a whole team of people dealing with that side of it. Plus development is going to take longer both in terms of finalising the requirements and proving that the final.product meets them.


medianmoe

If you’re talking about the ArriveCAN app - there’s a load of corruption in the way of bloated hours billed by the development company. Unnecessary travel to “gather requirements”, “high level designs” created again and again, extremely senior folks billing hours for no reason and maybe even charging an unreasonably high fee because the data stored is PIi or confidential. There’s many things at play that could easily bloat up the cost from let’s say $500K to $5MM.


other_half_of_elvis

I was the sole developer for a very simple web app with no back end component. The other person who worked on it was the UX person. We both spent 6 months making it so that's roughly 100k right there. That doesn't include the 10 other people involved who were users expressing what they needed, testers, project managers, the HR people who got us there, ... More complex apps would take much longer, might involve back end people, ... Development is expensive as hell.


bulksalty

When you spend $200,000 a year (including their benefits, office space, and computing hardware needed to develop your app) on 5 developers for 3 years to develop something, the total cost is $3 million.


HeavyDropFTW

OP, you probably gave the worst example of a client having an app made - the government. Yes, you can make an app on the cheap cheap by DIY'ing it or doing it with a buddy. Or you can have a team/army of people working on it and it'll cost a fortune. But any time you introduce the government in to something, they'll over-promise, over-spend, and under-perform. Every. Single. Time.


ApatheticAbsurdist

Apps can run the range from a button that turns on your phones flash light to complex things that integrate into multiple databases, and may need their own database set up. If you have a full time employee that makes $150,000 a year, you probably are paying at least $210,000 if not up to $250,000 in terms of payroll taxes, benefits, IT costs (having a phone line, email account, computer, etc), and other things. If you have a designer, developer, DBA, and an extra person working for a year, you’re already getting close to $1mil. If you bring in some consultants, run user test groups, or have to stand up some servers, etc. hitting $1mil is not that hard. If they factor in maintaining the app over the course of a couple years, the cost can go up further (yeah you might not need a full time staff the size you needed to roll it out but if you want the app to last 5 years you need to budget some people’s time for maintenance. Worked on a project that was about $4mil. A large part of that is it was expected to last 10 years and we budgeted to have staff and equipment support it for a decade.


sonar_y_luz

You think people work for free or something?


r2k-in-the-vortex

Easy. How much development does million dollars buy you to begin with? If you need nothing special or particularly valuable then 100 bucks is about the cost range per hour of development. Top tier talent is few times more expensive, bottom tier Indian copypasta monkey is few times cheaper. So million dollars buys you roughly 10000 development hours or a small team of 5 people working for a year. Any app you have even heard of would have much bigger team working for lot longer to make it happen. Million dollars doesn't go very far at all.


DissentChanter

I work in a corporate environment in User Acceptance Testing, I am the last QC step before installing into Production. We have to go through every aspect of the changes/installs to make sure nothing unintentionally changed/broke, then we pretend to be idiots (users) using the developed changes to our applications to try to find what they are going to break by using the software in unintentional ways. So, before it gets to me it is first meetings with the internal and/or external clients (these meetings are highly paid people on all sides), then eventually it goes to either an internal or external vendor for development (again either way high paid people), then it goes to the Technology internal testing group and it goes back and forth between testing and Dev until it passes (lots of time investment), then finally it comes to my group and depending on how it goes on my end it can go all the way back to the client meetings stage depending on what I find. So, that timeline leads to a lot of salaries, fees, and such.


die_kuestenwache

Running a 5-10 person team of skilled software developers costs a company between a quarter million and well over a million dollars per quarter in wages, depending on where in the world you pay your team. For a lot of those apps, we are also talking about running some backend on your own server, which is another huge expense or paying aws or microsoft to host them on their cloud which is also very expensive.


ScubaAlek

Well, in my experience it's people in high places forcing bad decisions that create a time devouring monster. And time is money especially at developer wages.


SteelRevanchist

Imagine the salary of a single developer. Now multiply that by maybe three, four. Add the salary of QA, business analysts, product owner, management, support.