I made the jump last year... 15 years freelance and now one year FTE - here's my thoughts:
I spent 15 years freelance, usually choosing only the projects I wanted to do, sleeping in and working late,
sometimes I would work 14 hours without hardly looking up from my keyboard and sometimes I'd take a
week off and just veg out. I had time for side projects and lunch with friends. I made enough money to pay
my bills but I wasn't getting rich. I had to pay for my own benefits, handle my own taxes, write my own contracts
and chase down money owed to me. I was always working on different stuff, which is good and bad. It's good
because it increases your skill level and breadth of experience. It's bad because it's sometimes hard to learn
new things, especially under the pressure of a deadline. I rented my own office in town but I didn't have a lot
of boundaries, I didn't force myself into a specific schedule or specific earnings bracket, I just did it. It was fun.
I was like college. I had to grow up.
Then one day I woke up and realized that some of my friends were making DOUBLE what I was making and
were leaving me behind insofar as skills are concerned. Node.js? Zend? Mongo? I had no reason to use these things
so I didn't. I had kind of plateau'd.
I kind of went to an extreme and took a job writing ColdFusion and learning Ruby for a Fortune 500 that was a 150 miles RT commute.
I thought the salary was okay and the team seemed awesome (turns out they were)... I spent six months there until
the commute finally won out. One of the team members who I had become friends with quit and I was offered a job
8 miles RT from my house for a good salary, so I took it. I've been there 3 months or so. This job is at a social network
company doing PHP, jQuery and tons of design work.
I can't say what the pros and cons will be for you but here's mine, food for thought:
I am redesigning the entire frontend of a social network from scratch, by myself. This will be huge for my resume.
Our team is three people, the CEO, another developer/CTO and me. I have a lot of influence over the project.
The social network I am working on will soon be used by millions of students at well known colleges worldwide. Great resume stuff.
I have learned a ton about OOP that I didn't know and increased my command line and server skills just by brute force.
I have been able to actually quantify my level of skill, something that I couldn't do before because there was no benchmark, i.e. how good are my skills relative to the industry?
That's a hard thing to figure out in your basement.
I actually get out of the cave and talk to people now. I used to go to coffee shops just for a break from my four walls.
Direct deposit paychecks ever 2 weeks, on time, are nice and I can count on a specific amount, to help with budgeting. No more feast or famine.
I get to go home around 5pm and have dinner with my family, I rarely have to work outside of work hours.
I have health benefits.
Sometimes I have to do things i don't want to, like fix old broken CSS.
Sometimes i don't want to get out of bed but I have to. I quit drinking caffeine which makes it 10x worse.
When I was freelance I met deadlines but no one was looking over my shoulder, if I said Friday it was up to me when to work to meet that deadline.
At the FTE I get checked up on a few times a day to see if I am progressing, and as we know, programming progress isn't always linear, so that's difficult.
I'm at a quasi-startup so I worry if they fail financially I am out of a job, vs my six months at the big company was super stable.
I get somewhat randomized here, pulled away to fix bugs and stuff but I guess that's a pro and a con.
I have a commute now, it is only 4 miles but it requires pants and combing my hair.
Feel free to shoot me an email if you want to phone chat, I am going thru it so I have a lot to ay about it.