Hi all!
I have taught my self web development for the past 3 years and started taking small projects requests here and there as a web development freelancer. However, a few days ago I was contacted by a person asking me if I can help in re-building her company's website. After I looked at their website, I figured I can make it much better and I said yes!
We scheduled for a meeting at their location the following week to discuss the details with her management. I was shocked when I arrived at the company's location. They are a small company (~ 50-100 employees) with a new management team assigned less than 6 months ago. The CEO has very ambitious vision for the company and asked me to basically automate whatever could be automated! So, the project went from rebuilding their website to building a massive system that would automate their daily operations (hr, accounting, finance, equipment, ...etc). They don't want to use saas solutions, they want custom made software which they have full control on.
I got scared as I have never worked on such a big project before but also got very excited because, first, this project would take my technical and project skills to the next level if done right. It would also open the door for similar big projects in the future. Finally, I really need an income!
I have spent the last three days deeply thinking about it. Should I take it or not! I have no experience on working on big projects and I have no team. I thought of partnering with an experienced software engineer and let them mentor me on the job in return for splitting the revenues but still not sure how to approach it.
Any tips or suggestions would be greatly appreciated.
Thanks!
UPDATE (2 March, 2022):
Just had a meeting with the company. I explained to them that it is best if they recruit a full time software engineering team and let them build it and maintain it. I also recommended that they utilize some mature saas products and integrate it with their erp.
I will be focusing on building saas products from now on.
I have 2 response to this question.
This huge project will take a long time to build and all of your energy. You will think of solutions to this project instead of doing your own thing. As you say, it will upgrade your resume and open up to similar large projects. However, that is a different path than the indie hacker.
What you should do is first tell the CEO he/she is dumb. Explain that there is a huge upfront cost to building their own internal system, the system is gonna suck compare to Mature SaaS offerings, and they will need at least one full time developer who's only job is to maintain that system, which will cost way more then paying for a few subscriptions.
Thanks for your response :)
1- Totally true. I have a side project that I have been building for the past 6 months which is ready for market testing and I don't want such a big distraction at this point.
2- The impression I got from my first meeting with them is that they have got no clue how big and hard this project could be. So, I am scheduling another meeting with them to explain the pros and cons of saas vs custom software. I will probably only get involved if they chose to go with saas products.
It is good thing that you know your limits and came here for advice :) I would suggest that you definately take the project . It will help you to dive into the dev world much faster.
My first advice would be to write a proper User Specification before doing any coding. This may take some time (yours and clients) especially if there is an complicated business logic involved. However, it will help you to understand the size of the project and the team you would need. After that you may do some mockups and agree on the graphics. In the mean time you may start building the dev team.
The development part maybe oursourced, as mentioned by others, but I find it very frustrating and non workable solution especially if the application has certain degree of complexity.
Let me know if you need any help, as I do have the necessary experience in delivering highly comlex applications and the right team to complete it.
Thanks for your response, bigN13 :)
Good advice and approach to the project. I will offer them my support in recruiting permanent developers and maybe work alongside them until project completing. Outsourcing doesn't seem to be the best solution in this situation, as you stated.
"Let me know if you need any help, as I do have the necessary experience in delivering highly comlex applications and the right team to complete it."
I will.
Thank you!
Be careful. I remember early on in my career I took on a project that was way above my abilities. It wasn't fun for me or the client.
Here is what will happen: you will say yes to everything, they will pay you because they believe you are the person to fix all their problems, you will fail to deliver, they will either demand their money back or drop you OR they'll be especially stupid and allow this to grind on for a while until they realise you will never deliver.
The simple fact is (as you have stated) -- this is beyond anything you have done before. You certainly cannot do it by yourself; there isn't enough time in the day.
"They don't want to use saas solutions"
This is another reason why you need to be really careful. They've already told you this isn't just gluing together a bunch of 3rd party services, it's building an in-house system that spans their entire business. They need a team of developers, not one developer with 3 years experience. The fact they have even considered it tells me they are clueless enough to assume you will stroll through it.. so if you say yes, they will probably give it a shot.
"I thought of partnering with an experienced software engineer and let them mentor me on the job in return for splitting the revenues but still not sure how to approach it."
This is still a major problem, though. You are proposing to start work on a potentially huge project with somebody you don't even know. Even if you put together an ad hoc dev team you'd still be responsible for keeping it all together.. with no experience of managing other developers.
My honest opinion is this is one of those times where the responsible thing is to say no. What you could do is stick to your original assessment and offer to work on the website. You could even take a finders fee or commission if you can find them a decent team to work on their in-house system.
I don't want this to demotivate you or anything. It's just a warning from my own experience of doing this very thing 3-4 years into my own dev career.
Thank you for your thorough response, BitGonzo! I really appreciate taking the time :)
"My honest opinion is this is one of those times where the responsible thing is to say no. What you could do is stick to your original assessment and offer to work on the website. You could even take a finders fee or commission if you can find them a decent team to work on their in-house system."
I agree with you. I think it is much better to start my first project in small steps. I am having another meeting with them in two days and decided to offer them my support in recruiting a permanent team of developers and possibly work along the new team on some parts of this project.
"Building a massive system that would automate their daily operations" means not only you need to build it, but maintain it, and be reponsible what happens in the future, as the system be critical for this company.
Without experience, eg. how to construct the agreement you may stuck with it with no proper income, and no time for other projects.
My advice is not to do it :)
Thanks for your response, TomekWe :)
You are right. The maintenance part is a big showstopper for me.
I will be meeting them again in a couple of days and will offer working with them as a part time employee to help recruit full time permanent developers to work on this project and maintain it.
Good idea!
UPDATE:
Just had a meeting with the company. I explained to them that it is best if they recruit a full time software engineering team and let them build it and maintain it. I also recommended that they utilize some mature saas products and integrate it with their erp.
I will be focusing on building saas products from now on.
Be careful. Consider Outsource the project. Use a project management tool and start working on your team. You can find a lot of good freelancers out there. So focus an project management and split tasks to your team.
Thanks for the response, Scannergr :)
Good advice. I think I will only get involved if they agreed to recruit other developers to work on it and maintain it after completing.