views:

780

answers:

7

I'm 21 years old. Just graduated with honors from college where I studied CS. I live in a small country in which at least IMHO CS is not highly appreciated. My passion is web development. I love programming in Java, PHP, ruby, etc. I might not be the best programmer out there, but I consider myself a very smart person and I am eager to learn.

The problem is the job market here is not very big. Here there are only a handful of companies that would be interested in what I want to do and in those places it is very hard to get in if you don't "know somebody" that can recommend you. Unfortunately I don't know people in the right places I guess.

I had a "good" job offer, but programming in RPG which I could do, but I'm just not interested in.

I have many plans and dreams for my career. The thing is that I feel that here there are not many opportunities for me. My dream for know would be to find a job in a company in which I can do web development or something related, learn and gain experience, working with people who are good at their thing so that I can learn from them.

This has turned out to be longer than I had planned. I hope this doesn't get closed. This is programming related. I am a programmer entering the job market wondering what career path to take. I need to ask the pros.

Should I just suck it up, grow up and take any job I can get to pay the bills and my student loans or should I keep trying to find a good opportunity in the area I want to work in ? Do you think programming is just programming in the end no matter the area or programming language ?

+2  A: 

I have a job that I learn a lot of new things but it's really not what I had planned to do with my career. I find myself coming home each night only to do other things in my own time which feel more rewarding.

You might have to bite the bullet here and take what you can get while building your own experience in your spare time. You can always freelance over the interwebs.

Joe Philllips
+1  A: 

I agree, you can usually work over the internet. Try advertising your service on some websites, like free forum websites. They won't expect you to come all the way to them to work, and just do your job over the internet. Long term job opportunities may be difficult to find, but freelancing for business looking to make a website could probably be done.

Good luck!!

CrazyJugglerDrummer
don't be silly, how many people have you ever hear to really feed themselves by the "work over internet"? most of them failed!
Francis
+2  A: 

I began working exclusively on-line while facing a similar problem, there were simply no jobs within a reasonable commute. I did not want to move to a new state for a new job, what if things just did not work out?

I have some recommendations for you:

  • Utilize your idle time wisely. Go find some open source software that you like and contribute. This gets your skills honed by thousands, shows that you cooperate and work well with others .. and your code samples can be viewed by any perspective employer. This also lets you practice the ins and outs of various types of version control systems.
  • Try some freelancing to help keep the loan sharks happy. There are many sites that connect freelance programmers with people who need work done .. any one of these gigs could blossom into a full time opportunity.
  • Expand your horizons. I know you love web programming, so force your self to do things that you don't love. Try some low level systems programming, for instance. Your future 'boss' is going to hand you crap assignments, you may as well get some practice in how it feels to work on stuff that you don't really like.

I've been working on-line now for the better part of five years. In this day, age and economy, no job is guaranteed to be stable. Try it until you find something better, and if that something falls apart .. you can quickly pick back up on your own.

Tim Post
that's real comments from a people living in real world!
Francis
A: 

If there is no immediate prospect of work that you would enjoy then your choice is simple: take an income or don't. Other personal circumstances will probably tell you which you should do.

There is nothing that says you need to stay in a job you don't like if a better alternative turns up later. Taking that RPG job may provide the funds to keep searching.

You say your passion is web development. I therefore assume (since you're passionate) that you will have a number of completed projects to show to prospective employers? If not, then you need to do two things: (1) re-assess your "passion" and (2) start developing some real-world web apps that demonstrate command of the technologies. Offer your services for free and you'll find people prepared to let you get involved. Try approaching local charities, for example.

Mike Woodhouse
Good insight - sometimes building your career means taking out the trash, so to speak. Be passionate about the small jobs, and you'll be entrusted with larger jobs in the future. You've got your whole life in front of you - stay passionate and find ways to be passionate about what you love when you're not at your day job. The internet is jam-packed with ways to showcase your passion.Best of luck!
Adam McKee
+2  A: 

Things you should consider doing:

  • Apply to work at companies you're interested in for non-programming jobs. This can often mean jobs like working in call centres, testing or IT help desks. Once you're in a company you'll find it a lot easier to move to a programming job as most companies treat internal candidates a lot differently to external candidates;
  • Use your free time wisely. Either work on open source projects or a portfolio of work or donate your time for the programming needs of, say, charities and so forth. Recommendations from the latter will greatly help you. This should be relatively easy to do for Web work because everyone needs a Website and PHP (which you mention) is a great way for a small organization to get a Website going;
  • Use sites like rentacoder.com to find work. In terms of your time these probably won't pay particularly well but it'll be something demonstrable;
  • Don't be too fussy in terms of location. Go where the work is;
  • It's OK to be a little fussy about technology but not too much. You mention that you want to do Web development and I think that's probably an OK level of fussiness if you're not too fussed whether it's PHP, Ruby, Java, .Net or whatever; and
  • Learn relevant technologies while you have free time like CSS, HTML, Javascript, possibly one or more Javascript frameworks like jQuery, maybe one or more RIA technologies (eg Flash/Flex, Silverlight or a Javascript framework like YUI, ExtJS or Dojo).
cletus
+4  A: 

Don't take a long term job you detest for the sole reason of paying the bills. That's a quick way to kill any passion you have.

Ignore job security. You're 21. Don't start thinking about job security until you're married and starting a family. You're young enough to be able to take some risks.

While open source may be a good way to hone your skills, don't expect prospective employers to be interested in any os projects you do. The HR department won't know what open source is and a technical person won't have the time to sift through code in a vain attempt to see if what you say you did is actually any good.

Cletus recommended doing some charity work. I think that's a really good idea, much more so than open source. Unlike open source, charity work provides real clients, real requirements and real deadlines. Demonstrating that you can meet deadlines while fulfilling all requirements and keeping the client happy is something that all employers will be interested in. Having a printed portfolio that you can present during an interview will also help. The downside is the UI needs to be really good. It doesn't matter if the code is beautiful if the UI looks like a reject from the 1980s. If you're not good at graphics, partner with someone who is.

Online freelancing at places like rentacoder/elance generally don't pay much per project. Of course it's relative, the small dollar amounts may be a lot in the Dominian Republic. The big downside of working for yourself is not having any mentorship. Trying to learn good practices on your own can be hard (but not impossiible). In addition you'll end up spending a large amount of time on the biz side rather than the programming side.

So what to do?

First thing - decide what you do want.

Plan out your whole career on paper. What languages and principles you want to learn. Where you want to work - which country, which company. This will be a "living" document. The bits closer to Now will be more detailed. The bits further in the future will be more ephemeral. None the less, it's a good way to focus on exactly what you want to do and what you don't want to do.

Remember - Nothing's impossible. The world is literally your oyster. You can do anything you want. Don't let anyone tell you otherwise.

Now for the bad news.

Take the RPG job

Yep. I really said it. Take the job you don't like.
BUT - use it as a stepping stone only.
Use the time to investigate what you really want & how to get it.
Use the time to build up a portfolio.
Use the time to build up a network. It's not what you know, it always who you know.
Use the money to help fund your goal - you'll need travel and accomodation costs etc. You'll have to be frugal. Ensure you save for your goal first, before paying any existing bills (and do not incur new bills.)

Finally - don't lose sight of the fact that it's a short term position only. Review your planned goals regularly and keep moving towards them.

--

I did something similar to the above. I didn't have a good degree but i had a couple of years experience. I moved back home and spent 5 years doing something else. I decided I wanted to get back into commercial programming and so made a plan. It took nearly two years for that plan to come to fruition. Those two years were not always easy but they were necessary to get where I am today. I am currently in the middle of my next goal (also two years) and I've already had indications that it will be achieved on schedule.

Make your plan. Work your plan. Live your plan.

--

Wow - I can really ramble on...

Edward
A: 

I suggest that you look for a junior programming job any language. Because if you were accepted that means someone senior will be working with you. That is important to your career forget freelancing for now just find a job with a good mentor so your learning path will be right on track. then if you feel you are confident to go on your own i.e. freelancing go ahead resign.

drikoda