Remove this Banner Ad

Programming/Software Developer - Career Change

  • Thread starter Thread starter MF
  • Start date Start date
  • Tagged users Tagged users None

🥰 Love BigFooty? Join now for free.

MF

Good Poster, Shit Bloke
Joined
Sep 10, 2006
Posts
22,240
Reaction score
26,154
AFL Club
Sydney
Other Teams
Liverpool FC
Hey guys,

I've been working in IT for 5 years now doing deskside support for a large company and although it's been good for a while I'm becoming increasingly bored with it and I'm now looking for a change. When I was at uni I really enjoyed programming, I did a little C++, Java and .net but never went on with it after that. Anyway I want to go back to school and learn a new language or two to get my foot in the door. If I get my skills up to speed I shouldn't have much trouble finding another position with the company I already work for.

What I'm wondering is... What are the recommended languages to learn? What will be the next big thing? What advice can you give someone looking to make the switch?
 
It depends what you want to do.

Will you be programming for the web? At RMIT the general way you start off is....

Programming 1 and 2 - Java
Web Programming - Php, HTML, javascript etc
Do a couple of Database classes
Learn C

Then you sort of specialise in what you want to do...if you're programming for OS applications then Java, C etc are still the way to go as far as I know.

If doing web this is mostly where all the new languages come in.
 
MF,

The best programming skill you can possess is the ability to pick up new languages fast. In essence, that means learning the general concepts behind software engineering rather than a particular language. Today's hot language could easily become tomorrow's has-been. Once you have those concepts embedded in, you should be able to pick up any language very quickly. Having said that, you can't go wrong learning the established languages C++/Java/.NET(C#) - there will be demand for those jobs for many years to come. Or if you're more interested in something more cutting edge, the trend seems to be towards dynamic languages like Groovy, Ruby, Erlang or Python.

I think you have to ask yourself what kind of programming you're most interested in: front-end GUIs, back end, systems etc. The trend in recent years seems to moving towards Rich Internet Applications with Adobe (with Flex), Java (with JavaFX) and Microsoft (with Silverlight) all releasing RIA toolkits in order to capture this growing market. I'm not so hot on this space myself, I am yet to see an enterprise application being developed this way.
 
Thanks guys,

To be honest I really don't have great idea yet of exactly where I want to head specifically which is why I'm trying to get as much info as I can. Out of the languages I did at uni I definitely enjoyed .net the most so perhaps I'm better suited to the front end GUI side of things?

I want to be able to find a role in with the company I'm already at but ideally I'd love the freedom to be eventually be able to freelance and develop my own apps from scratch.

Grim, could you please elaborate on this part:

The best programming skill you can possess is the ability to pick up new languages fast. In essence, that means learning the general concepts behind software engineering rather than a particular language.

What's the best way to go about it?
 

Log in to remove this Banner Ad

Sure thing.

The programming languages of today have advanced to such an extent that they work on higher abstraction level. You program on the higher level and the compiler/interpreter does its magic and voila the computer can understand your instructions. This is great for productivity as you don't have to go around telling the machine to move data from this memory spot to that memory spot directly. But you should gain an understanding of how these things are done, as different languages have their own nuances in how they tackle a particular problem.

Probably enrol in uni, any reputable computer science department will have courses in subjects like data structures and algorithms which should teach you these concepts independent of a language, so that you'll be able to use them again no matter what language is thrust upon you in a particular job.
 
Cheers Grim.

I get what you mean now.

I don't think I'll be able to go back to uni full time so will have to look into something I can do at nights outside of work. I can probably do some self paced study at home on the concepts and the basics you've described and then look into which languages to take on from there.
 
MF,

The best programming skill you can possess is the ability to pick up new languages fast. In essence, that means learning the general concepts behind software engineering rather than a particular language.

I think that's the really important part....and why uni is favoured over VET. I'm no programming genius, (actually studying multimedia, so my programming experience is less than half of what a CS or soft eng student learns).

Though from java and the way I was taught, I don't have too much problem picking up say c#, php, sql even the google code, reading through the api and understanding how the language works (at a basic level anyway).
 
As you are looking at an internal move first up, or at least that seems to be the plan, one thing to look for is what your current employer uses, any skills they might be short on, etc.

And, yes, you have to understand the logic more than the actual language. If you can learn the basic structures, you can readily pick up the syntax of an individual language. There are some major differences however; old school procedural languages vs object-oriented; which can make a very big difference in approach and design (I simply can't think in OO at all). And user interfaces are a very different beast from back-end type programs.
 
If you're serious, dont make the mistake of learning languages like c# and java etc at first.

Start with c++ and learn topics like threading, memory management, pointers, processes management, shared mem, forking, semaphores etc.

This way you will open up many programming oportunities, not just high level app programming. Then, languages like java will seem like kindy stuff :)

If you just want to to web stuff, learn java or .net or php... Java & .net for enterprise apps.
 

Remove this Banner Ad

Remove this Banner Ad

🥰 Love BigFooty? Join now for free.

Back
Top