Matt RaibleMatt Raible is a Web Developer and Java Champion. Connect with him on LinkedIn.

The Angular Mini-Book The Angular Mini-Book is a guide to getting started with Angular. You'll learn how to develop a bare-bones application, test it, and deploy it. Then you'll move on to adding Bootstrap, Angular Material, continuous integration, and authentication.

Spring Boot is a popular framework for building REST APIs. You'll learn how to integrate Angular with Spring Boot and use security best practices like HTTPS and a content security policy.

For book updates, follow @angular_book on Twitter.

The JHipster Mini-Book The JHipster Mini-Book is a guide to getting started with hip technologies today: Angular, Bootstrap, and Spring Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.

This book shows you how to build an app with JHipster, and guides you through the plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks so you understand the underpinnings of your great application.

For book updates, follow @jhipster-book on Twitter.

10+ YEARS


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.

Full Time vs. Contract

I talked with some folks yesterday about joining their company as a full-time employee. Their opportunity sounds awesome: using open source tools to develop a product. The opportunity certainly appeals to me. In a sense - I could get paid to work on AppFuse. I could get paid to do the stuff I wake up early and go to bed late for. I could spend more time with my family because I'm doing my "moonlighting" stuff during the daytime.

At least that was their sales pitch.

In reality, no company in their right mind is going to pay me to work on all the open source projects I contribute to: AppFuse, Roller, Struts Resume, Struts Menu and DisplayTag. Sure, they might allow me to work on AppFuse and Roller for a few hours a week, but I can guarantee that I'll still want to contribute to the others - and hence, continue to burn the midnight oil. I've also started to think that the main reason for doing stuff "after hours" is because I spend my evenings with Julie and Abbie - whereas I used to work in the evening.

More than anything, the opportunity really got me thinking about doing full-time work vs. contract work. I've been doing contract work for almost 3 years now - and I've only had 2 months of no work in that 3 year period. So that whole contracting is so unstable has been a myth for me. In fact, I see contracting as more stable than an employee position because I control my own destiny for the most part. NOTE: This post is likely a bit biased because my contract just got extended until the end of the year and I'm working on an AppFuse-based application. In other words, I love my job right now.

The thing I enjoy the most about contracting over full-time is freedom. I am planning to take 7 weeks off in the next few months (3 weeks for Spring Live, 4 weeks for the new baby) - and with a full-time gig, that would be impossible. I also like the ability (again, this is probably because my current client is so cool) to take a week off to attend a conference, or take a few days off to run off and do some training. The fact that I'm not tied down to one client/company is awesome. With the full-time opportunity I'm considering, I feel like I'd be marrying a woman I met just a few weeks ago. I guess most full-time gigs are like this after you've been set free with contracting.

One of the main reasons I'm considering this full-time gig is because I don't know where I want to be in 5 years. Most of my career aspirations have been met. When I started in this industry, I wanted to gain enough knowledge about what I do to speak at conferences and such. I did that last week and it was a blast - but I don't really want to do that every month - especially if I have to travel. Traveling away from my family is no fun - and happiness is more important than anything. The nice thing about the full-time gig is that its centered around a product, rather than services. Services (i.e. consulting) are great - but they're only good as long as I'm capable of working. Developing products that earn money while you're on vacation - that's the ideal situation.

The only thing I don't like about my current contract is that I'm a lone wolf. I'm the only guy developing the current app - which is great, but there's no "team spirit." My favorite job ever had awesome team spirit. This opportunity is a startup, which often leads to team spirit - but they also enticed me with ideas of working with a smart bunch of developers. If you've ever worked with smart people, you know that this is a real treat. Learning from your peers just by going into the office is quite a rush. When someone tries to find their answer on Google before asking you - it's refreshing. But is this worth giving up freedom for?

Another important consideration is compensation. Contracting tends to pay 50%-100% more than a full-time position. Of course, this full-time opportunity has options (which supposedly narrows the gap), but we all know that those rarely come to fruition. And if they do - it usually takes a couple of years. I am well aware that a cool job is waaayyy better than a good paying one, but still - getting paid well is nice.

Lastly, to throw a wrench into everything, someone sent me an e-mail last night suggesting they might (someday) be interested in paying me to do full-time AppFuse development. Heh - now that sounds like the ultimate dream job.

Posted in Java at Apr 21 2004, 04:53:32 PM MDT 18 Comments
Comments:

You should definately stick with the contracting as long as it remains good for you. Startups are very hectic, and the big rewards are a crapshoot. From your posts about road trips, biking, family time and working on personal projects, the last thing I think you want to do is start working 50, then 60, then 70 hours/week for a startup that finds itself racing to meet goals before vc money runs out, or competitors beat them. Then consider that you'll make less money doing the 70 hour week than in a 45 hour week contracting. If the contract ever needs you to put in 70 hours/week, then at least you're getting huge paychecks. Take the difference in incomes and build an investment portfolio, and buy a few fun things for yourself and the family, such as the VW van.

Posted by Ted on April 22, 2004 at 12:58 AM MDT #

i used to be a contractor and last month got a full time job. There is no words to describe my misery.

Posted by Unknown on April 22, 2004 at 02:02 AM MDT #

You'll never quite have the "team spirit" until your own company starts hiring people or you go on as a full-time employee. I've been there myself, and as the consultant, you have to keep that straight in your mind. In other words, you're a dedicated vendor committed to the success of your client. But that doesn't really mean that you're truly part of the team. That's just one of the tradeoffs, which you obviously know about and have considered.

Posted by Unknown on April 22, 2004 at 02:07 AM MDT #

A few years ago my employer and I.. parted ways.. our company was purchased and the local technology staff was cut back, and eventually eliminated. (Another office had some development and technology expertise, and they figured they could cut that duplication.) I've been so happy they made that decision. I do contract work now, working from home 95% of the time, and I get to see my little daughters for lunch, for dinner, and do things with the family in the evening. I'm not on the road for 2 or more hours a day, and I'm not exhausted at the end of the day. In my setup, I consult primarily for a small company who puts me on different jobs, but its also in a non-exclusive arrangement. So I can get work and run in parallel if I need more money, or can cut hours back for a vacation. The whole "accrue time for vacation, sick leave, and such" seems alien now. I hope it lasts.. thats all I can say. I don't want to be full time.. I like the family life, and the flexibility to work with any new technologies I want. If I feel like wiring JXTA over to some random system, its all fine with me. So, more power to you if you can keep it going. Good luck with the family time!

Posted by Paul on April 22, 2004 at 03:00 AM MDT #

I would love the chance to take contracting full time. I have a full time job now, and at the same time do about 10 or so hours of contract work a month. With a son, a mortgage, and endless other financial responsibilities, I am afraid to take the jump. I haven't seen the opportunity of a extended period contract to even start. I would love to be rewarded for busting my ass. I work 50-60 hours a week now, and what does it get me? Nothing. The only benefit of my full time position is that it is extremely flexible. I can take off whenever I need to, be it for something at my son’s school, or even a round of golf. How difficult is it to get going? Matt- how much time, if any, do you spend trying to get new business? Or has all your business just come to you?

Posted by Chris Blackburn on April 22, 2004 at 03:22 AM MDT #

I have wondered the same thing. My wife works 3 days a week making good money, but has awesome benefits. I am not afraid of losing the benefits I have working full time. I am almost exclusively afraid of two things, having enough work to make at least as much money as I do now (close to $100K a year), and taking the leap into contract work...where do you find business? How do I prove my skills when I first start out? I have written a few articles, a chapter in a book and lead 3 open source projects, but what will that tell a client about my capabilities to perform the work that they pay me for? I'd love some places to look into contract work, especially if I can work from home. I have no problem putting in 70 hours a week if it were contract and paying me good. What is the going rate for a 5+ year java developer, certified? I thought it was up to $125 an hour or so. My company bills our team of 4 out for $500 an hour, or roughly $125 an hour. Is that about right, because that would be more than 2x the "hourly" wage I make. Actually, come to think of it, given that I work 60+ hours a week now, I'd say it is over 3x as much. I could stand to have my wife put me on her insurance for $300 a month and make 3x more money!! But really, do tell where I can get started..maybe even doing some contract work while keeping my regular job? I tried the bidding sites. They are a joke. You get these young kids bidding for 1/100th the price, and then the morons take them up on it. I gave up on that stuff. I'd like to find some agency that can find work for me, see if I like it and take it if I like and not be forced into taking work I dont want. And I would like to be able to work from home if at all possible. I am so appalled at all this resorting back to working 8 - 6 every day on the job. We go home and work more hours, and our management says we dont work enough, and that working from home doesn't count. Plus, no raises for 2 years now, no bonuses, and we are working on a multi-million dollar project. Sucks big time. Crappy working enviornment, badly managed company, lots of people upset. Same old thing sounds like.

Posted by anon on April 22, 2004 at 05:37 AM MDT #

Anon - I might be singing a different tune if I made close to 100K a year. If I was paid hourly at my salary rate, I might be, but I'm not.
It just sounds like a great thrill to be out on my own, where I make a difference for the company (myself) day to day.

Posted by Chris Blackburn on April 22, 2004 at 06:09 AM MDT #

To a certain extent its knowing people. All of my work I do is via personal contacts, so I find out somebody is doing a job and needs a certain skill set, needs a developer, or whatever it is. Here is an idea.. its horrible finding developers for a job online.. but what if you merge a jb site with the whole Orkut/People networking idea? Think of PGP where you need to have people sign your key to enhance your trust. What if you had a resume site or job site where people could vouch for others? A site focused on more technical skills so you could post your own code, examples, and such? Sure, you can fake that to a certain extent, but if you have some respected people saying "This is a good developer" and you have good code, then the person is certainly worth a look. I know with the company I consult for, we have bursty periods where we need somebody for a few months for one gig, somebody else later.. but can't guarantee long term work necessarily. A site like that would mitigate the hunting and finding problems.. Lets see.. here is a good buzzword compliant name for it: Dynamic Peer to peer collaborative resume and experience synergistic data retrieval system

Posted by Paul on April 22, 2004 at 01:24 PM MDT #

I don't know about where you are, "anon", but where I'm at I've never seen a contract gig for more than $50/hr (most are $35-$45), which explains why I'm still a wage-slave. By the time I paid taxes and my own health-insurance I'd be taking home considerably less. I ran some numbers and the rate would have to be at least $55/hr to break even (at 40hr/wk - I can't bust my hump anymore, broke it years ago).

Posted by Lance on April 22, 2004 at 03:06 PM MDT #

There are two routes to go. If you are lucky enough to have the contacts to land work on your own, you can make the full amount the company is paying. ($75 - $100/hr for a Java/Struts/etc/OOAD expert). If you post on Dice/Monster looking for contract work, agencies can find you positions. They'll let you do 1099 or W2, but for a spot that earns them $85 or so, they'll offer you $55 and go to $60 or so if you negotiate well, and they don't have other candidates just as strong as you are. (That would be W2 wages. 1099 earns about $5 more as they don't have to match your social security payments). Now the agencies offer you health insurance like a perm job, but who wants to switch providers with every new contract job? So subtract insurance and not being paid for holidays/vacation. I find that if you go with an agency and work 40 hours, you earn around 20% more than perm. Since I tend to be closer to 50 hours, that would be 45% more. You are also eligible to collect unemployment during the downtime between contracts. After a 6 month gig, being down for 4-6 weeks, collecting and interviewing is a nice break.

Posted by Ted on April 22, 2004 at 05:46 PM MDT #

Don't do it! I've been contracting for 2 years now. Prior to that, I worked full time for 2 years, and prior to that I had been working contract for 3. The first time around contracting, I was in heaven. I took the full-time gig for reasons similar to yours. It blew up in my face. I learned a lot, which was fine, but the bullshit of dealing with a full-time company after having had the freedom of contract work was unbearable. Especially since it was a telecom startup going through the death throes of the end of the dot-com era. God, there were some shitty decisions made by that company. Once I got back to contract work, I felt like I was on top of the world again, and will never go back if I can help it. Plus, I'm getting paid quite a bit more. Don't do it!

Posted by Drew on April 22, 2004 at 05:54 PM MDT #

No two situations are the same. Mine was the opposite of Drew's. I started out fulltime. It was fine. The money was decent, but I decided that to really improve my skillset (and wallet size), I needed to go the contracting route, where I would be exposed to different styles, technologies, and business situations. I did that for two years, and it was terrific. The experience allowed me to command alot more when I took a fulltime gig so I could return to Colorado. I'll probably return to contracting one day, but quite frankly, the company I work for now gives me the freedom to choose my development tools and make my own technology choices (like Webwork2, Hibernate and Spring). If you are the type of heavy hitter who can command 75-80 an hour as a contractor, then you can command 100K fulltime. The dirt cheap health bennies, plus 401k matching, options, etc, tend to make up for a few $$$ less an hour. At the end of the day, it's a lifestyle choice. You get more freedom as a contractor, but you can achieve similar freedoms in the right fulltime gig. I personally like not having to consistently deal with updating the resume, preparing for interviews, and pounding the pavement. But other people thrive on that. Either way Matt, it sounds like your hard work on Appfuse, etc, has put you in a good place. I think you can't go wrong either way. Many people prefer the regular routine of 9-5 then home to the family, while others prefer less scheduling certainty and more job flavor. But like I said, it sounds like win-win in your case. You can always go back to contracting if fulltime doesn't suit you.

Posted by Jason on April 22, 2004 at 07:31 PM MDT #

Well, contract over here in Malaysia is quite a different scenario. You get a contract, do what they want in their office for 5 days a week, higher income but at the end of the day, its like wanting the contract to finish earlier. Despite that, I was on contract for several years consulting and implementing web applications (Microsoft, before I migrated to Java) and it was fun. No bosses to ask for dead lines etc. Now that I am back to full time job (coz I need to be funded for learning java) I really find little time for both family and doing what I really want. I guess Jason is right, it's a lifestyle choice.

Posted by Beh Teik Hooi on April 23, 2004 at 12:49 PM MDT #

I am trying to venture into contracting. Looking for pros & cons. I appreciate insights on this thread. I have few questions about following ugly scenarios: What happens if contractor doesn't like the contract? What are options to cancel the contract? Is it something easy to do? I guess employers won't let it go that easy. Lets say you are hired for a 6months contract. But in a month you realize, its not for you. How can you get out? What if contractor isn't producing much? What are choices for employer? What if contractor is doing two jobs at a time? Can employer ask him to stop this?

Posted by Sunny on February 05, 2008 at 01:55 AM MST #

I am trying to venture into contracting. Looking for pros & cons. I appreciate insights on this thread. I have few questions about following ugly scenarios: What happens if contractor doesn't like the contract? What are options to cancel the contract? Is it something easy to do? I guess employers won't let it go that easy. Lets say you are hired for a 6months contract. But in a month you realize, its not for you. How can you get out? What if contractor isn't producing much? What are choices for employer? What if contractor is doing two jobs at a time? Can employer ask him to stop this?

Posted by Sunny on February 05, 2008 at 01:55 AM MST #

Sunny - I'm an experienced contractor and have been doing this for years so what I'm about to write is based on my experience and the experience of other contractors I have had the pleasure of meeting. The answers to your questions about leaving a contract early are usually in your contract. Most of the time there is a 5-10 day notice by either party to terminate the contract before the end-date. So, if something's not working out for you at a contract, you just give your notice and away you go. Of course the employer's not going to like it, but if they lose their project budget and have to cut you early, you're not going to like it either. Any time the contract ends earlier than expected, someone is usually not happy. Just be careful with what you sign and that you can live with it. I have even seen contracts where the contractor is not allowed to leave early. Personally, unless I'm desperate for work, I would flat-out refuse to sign unless that clause is removed, or at least made fair to both parties. One place where we contractors get the short-end of the stick is that if you're not producing, they can pretty much fire you with no notice. I have never seen it happen, but I have heard stories and usually the contractor is in fact NOT producing. Two jobs at once should always be allowed, but again, make sure it's in your contract. If it's not there, depending on the laws in your country/state/province, you may be subject to audit because you're not really being an independent since you're acting like an employee. If you have other questions, or need more info, feel free to email me at 6fg (_at_) sixfigureguru.com . I'm always answering questions and writing articles on the topic, so if you want to know more about pros and cons, then feel free to get in touch with me. I hope this post helps... SixFigureGuru

Posted by SixFigureGuru on May 22, 2008 at 05:09 AM MDT #

Sunny - I'm an experienced contractor and have been doing this for years so what I'm about to write is based on my experience and the experience of other contractors I have had the pleasure of meeting. The answers to your questions about leaving a contract early are usually in your contract. Most of the time there is a 5-10 day notice by either party to terminate the contract before the end-date. So, if something's not working out for you at a contract, you just give your notice and away you go. Of course the employer's not going to like it, but if they lose their project budget and have to cut you early, you're not going to like it either. Any time the contract ends earlier than expected, someone is usually not happy. Just be careful with what you sign and that you can live with it. I have even seen contracts where the contractor is not allowed to leave early. Personally, unless I'm desperate for work, I would flat-out refuse to sign unless that clause is removed, or at least made fair to both parties. One place where we contractors get the short-end of the stick is that if you're not producing, they can pretty much fire you with no notice. I have never seen it happen, but I have heard stories and usually the contractor is in fact NOT producing. Two jobs at once should always be allowed, but again, make sure it's in your contract. If it's not there, depending on the laws in your country/state/province, you may be subject to audit because you're not really being an independent since you're acting like an employee. If you have other questions, or need more info, feel free to email me at 6fg (_at_) sixfigureguru.com . I'm always answering questions and writing articles on the topic, so if you want to know more about pros and cons, then feel free to get in touch with me. I hope this post helps... SixFigureGuru

Posted by SixFigureGuru on May 22, 2008 at 05:10 AM MDT #

I find it interesting to read up on all this stuff about contracting vs full time gig. Well, I've been in IT for about 11 years now and been contracting the last 8 years as a IIS Web Specialist and I love it. Somehow I've been thinking about going full time but I'm not convinced I'll be happy especially when I think about the huge loss in earnings. For example, I bill $70/hr. and a fulltime gig would pay me only 90k per year. Even with the benefits I'll still loose about 40k in earnings per year. That's huge and I can't justify it. The downside to contracting for me is that I live in a small state where there are very little opportunities for what I do so I have to travel to other states for work, usually on the east coast (NY, NJ, CT, MA). Also, my girlfriend doesn't like it when I'm gone but the relationship is not that great so what the heck.

Well, I'm thinking about moving to a market where I can leap from one company to another without having to move everytime for a contract in a different state. The other pros about contracting is that I get paid for every hour worked and I can take months off if I like. Now that's freedom! If you have good skills you will always find contract opportunities. Good luck and it's fun being self-employed.

Posted by IISSpecialist on July 24, 2010 at 10:10 PM MDT #

Post a Comment:
  • HTML Syntax: Allowed