views:

291

answers:

9

Hi All, I am 30 years old and I have 7 years experience in system administration, networking. Due to economic downturn it is not so easy find jobs in this sector anymore. I am thinking to leave this career and start programming. I am interested in Java, However I have no programming experience at all. In university we have seen Java which was in 2001-2002. What do you suggest? keep on track on what experience I have or make u turn start a new path. Thanks

+1  A: 

I suggest you start. Finding something you want to do, and do it. Find some program you want to write, and figure out how, step by step.

Same as you would when you need to do anything in life.

Noon Silk
A: 

Knowledge is priceless ;]

I suggest "Professional Java" from publishing house Wrox

As well as "Professional c++". IMHO the great way to learn programming languages.

TBH
he should also learn .net and php(python and ruby too), do you know some great books about it?
01
A: 

You can try some beginner courses and if you don't find it inspiring enough, you can always get back to system admin / networking.

Juraj Blahunka
+2  A: 

There are a good number of things that you can probably do to start to learn programming:

  1. Open an IDE and start faffing about! This is probably the most important one as you will not get the thrill of the compile or know if its really the profession for you until you get your fingers dirty.
  2. Get a few tutorial applications and combined with #1, have a faff at doing it. Obviously making sure that you at least understand all the concepts that you are doing.
  3. You can't go wrong with getting some generic programming books - the Code Complete book is always highly recommended.
  4. Once you've maybe got the initial grasp of some of the core features of the language (or when you get bored). Come up with an idea for an app and have a dabble at seeing how well you do. Keep it simple at first.
Amadiere
so when he could start looking for job as programmer? this month?
01
+4  A: 

If you are passionate about your current profession, I would continue to look for jobs in it. I wouldn't switch to programming unless you really want to do programming. Programming well is hard and takes a lot of learning and skill. Unless you're willing to invest the time and effort into doing it well and have the passion to carry you through, you won't enjoy it. I recommend taking some time to find out what you really love to do and then try to find a way to do that. If it's programming, great. Get some books. Take some courses (online or at University, fee or otherwise). Find a programming mentor. If it's system administration, then get better at what you do so you can compete for the best jobs available. If it's something else, that's good, too. If you're passionate about something, odds are that you will be better at doing it, enjoy it more, and find it easier to improve yourself at your job. All of those things will make it easier to find the job that's right for you.

tvanfosson
It never hurts to learn more skills of any kind - and there could be certain positions where he could do both sys admin work and programming - for example, a maintenance project that needs a full time sys admin and a part time programmer to fix bugs, or a project that doesn't have resources / need for a full time sys admin, he could be a full time programmer, part time sys admin and deal with the app server/database, handling version control, continuous integration environment, etc. and free up other programmers time.
Nate
+1 programming is not for everybody and its too much to learn if you are not really into it.
01
A: 

Everybody here suggests starting to write your own code, and I agree - this is a great (the only?) way to really learn. One problem with this is to dream up a project complex enough to be 'real', but simple enough for you to feel comfortable to take it on.

Here is one way to dodge this problem: join an open source project. Find a project you can care about and start contributing. Focus on projects with active teams, so you can get some feedback on what you are doing.

Your system administartion experience can be a valuable asset for such teams and this will help you to become a contributor from get go.

mfeingold
he doesnt know how to program and you want him to work with other peoples code and to understand some complex architecture?
01
A: 

Don't let doubt and suspicion bar your progress. To one who waits, a moment seems a year. You have at your command the wisdom of the ages. A handful of patience is worth more than a bushel of brains. Your talents will be recognized and suitably rewarded. You can open doors with your charm and patience. You will find a treasure at this web site. Accept the next proposition you hear. You are open and honest in your philosophy of love. Everything will now come your way.

Fortune Cookie
A: 

One note, as a fellow systems admin type. Most of the "cool" systems jobs these days are going to VMware people. I've done what you are asking about, and work professionally as a programmer or as a systems administrator - and it can be done. But before you do, I fully recommend looking at VMWare. Find a spare workstation / server and install ESX on it and start playing with that - see if it floats your boat. The VMotion concepts, and fault tolerance systems they are building are very cool. It will not only rejuvenate your love of systems work but add value to your CV.

As for the how; if you end up doing it - first of all start script writing as much of your systems admin work as you can. Manage web servers? Write bash scripts to run webalizer, rotate and gzip all of your web logs every night (maybe you already have). Write a Java app to automate deploying code from your development server. Write PHP code to automate cron jobs just to get some exposure to it. Start in a domain where you have a lot of knowledge and build on this.

If you're more on the Windows side, download the very good VisualStudio Express edition IDE from Microsoft (free downnload). I wouldn't be afraid of C#, either personally. If you're used to Java syntax, it shouldn't seem too alien, and its very marketable.

Kyle Hodgson
Yeah I totally agree your opinion about Vmware and thanks mil for the other tips