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.
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.
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
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.
Freelance websites work for intermittent income if you can find the right projects.
And various others.
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)
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.
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.
- 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
Besides programming here are other ways you can generate decent income:
blogging
writing articles for magazines
teaching/tutoring
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?