When you're working a full-time job, you'll have people around you who will get to know you over time. Professional relationships start to develop, people will start to recognise you 'on a good day' or 'on a bad day' with enough 'bad days' on the trot almost always a caring co-worker or a good boss will check in on you, perhaps help with your workload or just lend an ear to listen.
When contracting, you may want to ensure that you have some sort of support network around the work you do that may not come from your co-workers. You may not be in roles long enough to garner the professional relationships I've mentioned above or perhaps as a contractor there may be a professional distance you want to maintain. The point is when you start to have several 'bad days' in a row, make sure someone is around to recognise and make you aware of it and can talk to you about it.
Having not really having had much of a professional support network and realising its implicit value, one of my main focus points when returning to full time work is to ensure that I am more of a caring co-worker to the people around me and am trying to do a better job of keeping an eye on the well-being of those around me. It's easy for programmers(or knowledge workers in general) to get too focused on solving problems on the screen in front of you, and not lift your head up and check in on the people around you and make sure they're doing okay.
One of the underlying lessons I hope I've imparted is that there can be a tendency to prioritise 'the business' over the individual, this point is just to keep in mind how happy you are in your role. One of the benefits to contracting is flexibility, make use of it. Don't like a role? Hop onto something else! As a contractor this is to some extent more expected than a perm employee and right now freelancer programmers can be picky about their roles. I'm certain this won't always be the case, but we may as well enjoy this while it lasts!
To counterpoint this however, I would also bear in mind that there is always a drive in our society(and technology is no different) to be constantly seeking better, to never be happy with what you have. So if you do want to change roles, perhaps try to understand your underlying reasoning before job hopping. Maybe you don't like only working in PHP or Python or whatever, but does that really bother you or is it the Hacker News posts talking about how better everything is with technology X or Y? PHP, Python, bloody Fortran are all fine to work with if you're challenged and happy in your role, whatever that looks like.
Contracting can make things complicated… Invoicing, chasing bills, logging receipts, sorting out your next contract, multiple development environments, company environments, accounts, tax returns etc, etc. Just do whatever you can to make it as simple as possible. I hired my own accountant which made things a little easier. I tried using an accountancy software, which didn't make things easier(Unless you're lucky enough to support a very standardised approach to invoicing and billing the accounting systems won't be of much use). The point is, try things, does it make things easier? Then keep it, if not discard. Life's complicated enough.
In terms of actual app/sites I used, I found I stuck to tools that were either very flexible or did one very specific thing well. In the end I used Google Sheets for invoicing, as well as tracking income and 1Tap Receipts for tracking my expenses, then emailed the whole ball of stuff to my accountant to deal with.
This topic is a biggie, it's one I might dedicate several posts to. Put in the most simple terms, every other point I've listed above can be compounded and its effects can be worsened by working from home. I'll link to my future posts here about the pitfalls I faced working from home. Right now just bear in mind, for many it may not be the promised working utopia we were all told it would be.
I hope the realisations I've slowly(and sometimes painfully) gained are of some use to future/existing freelancers. Despite all of this, I think freelancing still can be a great way to work if you think it might suit you. For me, it has completely shifted how I perceive my work day to day and has also made me appreciate the many advantages there are to regular old full-time work.