A software freelancer doesn’t have a job or a boss. She works unsupervised on her own, using her own equipment and follows her own life and work philosophies.
In general a successful software freelancer works like this:
- has to find or be in constant contact with clients
- discuss client’s processes, needs, and long-term goals
- help client’s discover their needs
- identify problems
- come up with solution suggestions
- write up an agreement describing how these solutions are to be provided
- She then works on parts of the solution (design, develop, test with real-world data and conditions)
- while at the same time she meets with the client periodically to discuss how the work-in-progress provides the solution the client wants and needs
- once completed the client accepts the solution or milestones thereof, and pays
- roll-out occurs at the client site and she provides training to client’s staff
- as the software solution is being used for the first time in production, client will ask for improvements (new features, changes, bug fixes)
- the process then usually proceeds with item #2 for larger clients and solutions. Hence the term software development, it’s never really ‘done’.