I just recently graduated college with a Bachelors in Computer Science and I am currently debating on going into freelance work. My problem however is that I don't know if I will be able to complete the work because I have never truly been able to have something that tells me whether or not I would be good enough to complete freelance work. I have made an android app before and I would like to do freelance work within that realm, but is there someway to tell whether or not I would be good enough rather than just taking an assignment from someone and not being able to complete the work for them? The main reason I can't go out an find work right now is because of a family issue so I am currently only able to work from home.
You've probably already though of this, but working as an employee for a company in your field is a good way to test your level of expertise. What you learn at school is often very different than what you actually do on the field. It's also a good way to acquire experience without having to do charity work and it can give you a good confidence boost.
Freelancing is simply offering your skills and expertise in exchange for compensation. Your job is to find clients with needs that match your skills.. and of course they exist!
It sounds like you're worried about taking on a project that you won't be able to complete. Here are some of my thoughts:
Be open and transparent about your current skill-set. Don't sell yourself as a senior engineer, capable of architecting a scalable, full-stack, solution if that is outside your realm of expertise. However, there are many individuals and companies looking for help that does not require senior-level experience. When I first started working as a freelancer I helped clients out with little snippets of code here-and-there. Fixed WordPress bugs. In other words, I started small and worked my way up.
Work on a time and materials basis. Instead of drafting and committing to a fixed-bid project, work on an hourly basis instead. This is a low-risk way to get started as a freelancer (and many freelancers continue to work hourly for the same reasons!).
Work on side projects to build experience. So you want to be a freelance Android developer? You're in luck.. Android is open source! Start playing around with the API. Build out some screens. Integrate with 3rd party services. Etc.
One final thought: don't get bogged down in all the things you don't know. Right now, with the skills you currently have, there is a client out there who would greatly benefit from the skills you provide. As I mentioned, you might have to start small, but as you build experience and skills, you will increase the value you provide and subsequently increase the amount you can charge (basic supply and demand).
To improve as a freelancer you must always challenge yourself with new tasks, new jobs and be good (and developing) in problem solving, because it's true that the more you are experienced and the more you feel secure in facing jobs, but it is also true that you will almost never stop to learn new things, solve new problems and update your skills and knowledges, and also drop knowledges when the market says that a certain technology is not appealing anymore (see Flash web sites for example).
To test yourself in what you want to do, you don't necessary need to get hired for a job if you don't feel secure now, you can think about publishing a free app or an open source project, design and develop it and see how you feel about it. Or you can get some input from a friend or relative about something that they need and go for it at your best. When you will feel secure in certain areas of development you can look for jobs on line or from other sources.
Don't worry about occasional frustration, it's completely normal, just take your time to think well about all the different solutions, make pauses when you feel stuck, take naps to refresh your brain, and be constant and effective in your effort.
Also you can read here in this community many other questions and answers about what you are asking for.
Freelancing is very difficult. You shouldn't see freelancing as a way to gauge your skills. In Freelancing you have to have a whole new set of administrative skills that includes being able to get clients, managing your time, finances and resources. Freelancing makes you the boss and puts that much more burden on you. Good luck.
I suggest you to get free or low cost project from on of your friends or relatives that makes their work more efficient and add it to your profile.
In this way you will be motivated to finish the work and verify your skills practically.
If this solution fit you question, please check ✔ at the left side.
I actually voted to close the question.... primarily because there's no way anyone else can tell you how to evaluate your skills. Only you know what you are capable of. I couldn't build an Android app today... so you're ahead of me there. But I don't work in the app building space either. In addition, I could review some web sites and probably figure out how to slap together some crummy little Android app by the end of the week... but that doesn't mean I'd be prepared to take on paying clients for those types of projects. So, really, there's no way for anyone here to have any clue as to your abilities or aptitude. I mean, are you building using core programming for Android or are you just using some what-you-see-is-what-you-get app creator? Do you have an in-depth understanding of how to accomplish things in the app building space? Can you build apps for multiple platforms or are you limited to only Android? I think some self reflection would really answer your own question.
I decided to respond because I think many of the other answers are missing perhaps the bigger picture......
In my experience, having the knowledge to complete any project is only about 30-40% of what is required as a freelancer. Face it, there are hundreds or thousands of people out there that can do what you do for the most part. Having the skills doesn't necessarily make you a great freelancer.
The #1 thing you need to have as a freelancer is the ability to solve problems decisively. What this means is, if you take on a project and half-way through you discover you need to do X, but have no clue how to do X, you need to be able to solve that problem efficiently. Whether it's learning X rapidly, asking at some web site to find out how to complete X, hiring someone to complete X, or purchasing X from some third party source - whatever. But you must be able to solve problems when they arise.
This is generally what sets successful freelancers apart from those who fail and it has very little to do with actual skill set or abilities at any given time. Having good skills and abilities may get you clients, but an inability to solve critical issues in a timely manner will lose those clients, and fairly rapidly.
So you may want to evaluate your personality and abilities when it comes to deductive problem solving more than any current skills or experience. Some people are fantastic at completing a given task. They may always be quick and detailed and provide an excellent final product. However, those same superstars may choke, gag, and collapse when they are asked to figure out how to complete something they've never done before.
It is largely unacceptable to take on a project (enter a contract) and then fail to hold up your end of the deal. You should never take on work unless you are confident you can complete everything which is involved or figure out how to complete things you may not currently know how to complete. If a project has a piece you know you don't know. Then you should discuss that with the client before taking on the project and go over what you see as possible solutions. In some cases, clients can be amenable to "I'll complete A, B, C and F. However, I don't have any experience with D and E. Someone else will be needed for those phases."
In short, it is far more important to be a self-starter and problem solver than it is to be a rock star with your skill set or have mountains of experience.