views:

768

answers:

13

What are a programmer's reasonable options for a source of income? If you'd like you can include more than one, listing pros/cons, etc.

+2  A: 

You could get a job, or sell software directly...

Copas
+9  A: 

Freelance - Make your own hours, work load can vary greatly.

Consultant - Make a lot of money, can be unemployed rather quickly, might have trouble finding work.

Regular job - Steady pay, corporate environment may or may not be something you like, might have trouble finding job in unsteady economy.

Book Writing - Write a book about a topic you feel you are knowledgeable about. No guarantee of pay, but may involve you learning stuff you don't know.

indyK1ng
That's it... after 10-20 years i'll write a book.
Arnis L.
I read that most technical books won't sell over 4,000 copies - certainly don't do it for the money!
David Caunt
But they do build reputation and help you get money at conferences or consulting jobs though. So they bring money, but indirectly.
Vinko Vrsalovic
+13  A: 

A programmer's resonable source of income:

  • Programming

Then the questions are:

  • Who will pay for somebody who will program? (Companies, either by contract or as a a consultant or freelancer)

    and, alternatively

  • Who will pay for a program? (People, if the program does what they want. Find a niche and create a program)

    finally

  • Who will pay for the knowledge on how to program (Othe people wanting to learn, teaching, conferencing, etc.)

For most of the options but to contract you have to be somewhat of an entrepreneur and have sellable ideas (and be able to sell them) or an academic and like research or excellence in a subfield

Vinko Vrsalovic
A: 

Depends,

If you're into coding, you can do freelance coding. Not from home, because that pays shit, but make sure you get attracted by a company for a project and work at their location. Then you get payed much more than a normal salary (although you also have to pay more yourself).

If you're more into designing and have provable architecting experiences, you can work as an architect, which pays much better.

If its just a extra income, you can build websites/apps for people/small companies.

And of course you can repair pcs and build networks.

Henri
A: 

Freelance websites work for intermittent income if you can find the right projects.

Scriptlance Rent-A-Coder

And various others.

Matt
Not for USA located people; can't compete with everyone... Not reasonably anyway....
Frank V
+2  A: 

Working as a team member under a Project manager at a large company on a large project

Pro:

  • Stable pay
  • Able to specialize in one technology
  • Medium to low pressure

Con:

  • Narrow focus usually
  • Low indipendance
  • Can be lower pay than average (based on the company and the job)
Ólafur Waage
+1  A: 

That generaly depends if you're looking for a long-term profit or not necesarly.

  • Short term - get a job at any company that needs programmers of your skills. Consultants are usualy better paid than contractors, but that implies certain lifestyle.
  • Mid term - if you're creative person think of writing some software that you can eventually sell either directly to the customers or to some company.
  • Long term - invest your time in some open source/community software project and build your reputation as the project succeeds. Than as a guru you have again variety of choices for your further career...

Good Luck.

quosoo
+1  A: 

Is this question aimed at a programmer out of work/looking for a job?

If so, before I landed my ideal/dream job of being a developer I worked in a bar. Yeah, its not glamorus but it paid the bills. What I'm trying to say is any job is better than nothing while you train/go through formal education etc.. until you land the dream job. Going down the solo route would be hard in my opinion.

Finglas
A: 

You could have a very innovative idea, or improve an already known one, create an startup, raise some millons, sell and create another one. when there's a will there's a way.

+3  A: 
  • Create a program that solves Captchas
  • Sell your advanced OCR program to book scanners

Pros:

  • Mafia will contact you for your code and will try to entice you with beautiful Russian women

Cons:

  • Mafia will contact you for your code and will try to convince you to hand them the code with torture
yairchu
+2  A: 

Start up a programmer's Q & A website...

Roddy
+1  A: 

Besides programming here are other ways you can generate decent income:

blogging
writing articles for magazines
teaching/tutoring

Krishna
Thank you for bringing up these points :)
beef
+8  A: 

There are lots actually:

  • Selling your time: By this I mean your day job and/or any freelancing you do. This has the lowest barrier to entry and the highest initial payoff but is also spending a finite resource (ie your time). Ultimately the ideal situation would be to create income streams that minimize your time expenditure;
  • Blogging: if you get sufficiently popular the advertising could potentially be substantial but there are probably less than 20 programming bloggers who are close to being in this position but it can help build recognition and possibly get to the point where it is at least a supplementary income;
  • Writing articles: you might get paid $50-250 for these;
  • Writing technical books: not a lot of money in this unless you write something that does really well (eg Effective Java) but it can be worth it for name recognition and to open up other opportunities;
  • Selling programs: lots of ways to do this such as for the iphone, Blackberry, etc;
  • Entrepenurship: creating a company to sell a product or idea;
  • Technical consulting: if you have sufficient name recognition you may be able to effectively sell your name in the form of consulting, directorships and/or stock options as recognizable and respected names are desirable for any venture seeking funding;

As for the pros and cons and which you should do, well thats up to you. What are you interested in? What are you good at? In what direction would you like to go?

cletus
Well, my entire career has been involved in computer/networking technology. I recently began programming and I know I want to stick with this field. I really enjoy programming, but I'm new and don't have much guidance.I think it would be awesome to be part of a research team and come up with new technologies or evolve technologies. I also think working on software applications could be fulfilling. I am comfortable with the idea of starting a company as well. So I guess I'm asking this question for a little insight :) Starting a company sounds great, but that could go many directions as well.
beef