Self study programming

Caporegime
Joined
23 Apr 2014
Posts
30,037
Location
Rent free in your head
I've recently been spending a lot more of my spare time with self study, currently going through the Python course on codeacademy, not sure if this is where I should have started but I'm finding it enjoyable as it doesn't tell you exactly how to fix things if you don't do it right, some of the hints are quite vague.

I'd like to eventually try and pursue a career in this area or have the ability to do work in my spare time to gain a little income. I'm well aware this might take some years to become efficient enough to make it possible.

My question I guess is, can you self study your way into this or will I need training or possibly finding a lower paid job in this area with training alongside. Which other languages should I be learning? JavaScript?
 
You can definitely self study but you need to be focussed and dedicated. It takes a lot of time and you will get discouraged once you start trying things outside of the entry level tutorials you've found so far. Some of it is really really difficult at first but eventually it'll click.

I would recommend trying to think of something you want to build and then just doing it. The problems you encounter along the way will help you to learn.

As for which language to learn - this largely depends on what kind of career you're looking for. Finding a job with training will be difficult, especially if you aren't able to demonstrate that you've spent some of your own time and money trying to build your knowledge up. You're far more likely to get such a job if you go in with a portfolio of things you've made and show them how enthusiastic/keen you are. Sometimes this can make up for lack of experience. I would recommend looking at programming jobs in your area and see what is in demand at the moment and perhaps go down that route. It also depends on which one you enjoy more - if you enjoy a language and find it easier to work with you're more likely to stick with it.

Hope this helps.
 
I self-taught with BASIC as a teenager in the 1980's, so no internet, no-one to ask and the only places to look were the monthly computer magazines - so it is possible.

Stick with one language until you are proficient as you will just tie yourself in knots tripping over the quirky differences for multiple languages. In the long run, the language doesn't matter once you've learned core principles of coding. Python is a good choice.

Ask here when you get stuck. There's a few devs around.
 
I haven't used Python myself but from what I've heard it's a good place to start. As you begin to use other languages you will see the similarities, and differences of course in terms of syntax, scalability etc.

Also as another user pointed out, depends what route you want to take but I'm sure you'll figure that out soon enough.
 
Thanks for the responses, I'll crack on with the Python course and maybe pay to do a more advanced one after if I feel it will benefit me, either that or have a go at writing something out fully.

no need to pay for courses these days

I can see the argument with say udacity nanodegrees as you're going to have someone mark your coursework and provide feedback, coursera and edx also have small fees for verified certificates. But for the actual course content, particularly for the early beginner type courses, I can't see much reason to pay.

seriously - take a look at coursera, udacity and edx

also take a look at the older open course sties that basically started offering no frills direct copies of actual university courses - Stanford Engineering Everywhere and MIT open courseware

in particular, for an intro to computer science, see the first three courses here:

https://see.stanford.edu/Course

in terms of languages to focus on, once you've got a basic foundation, it can depend on things like where your interests take you... I'd certainly try to learn one of Java, C++, Python, C# well regardless.

For example if you end up doing web related development you might concentrate on Java then Scala and related stuff. For data analyst type roles you might be more focused on using Python and/or end up picking up R, Matlab etc.. For finance roles you might well need C++ for anything mathematical, though increasingly C# is replacing it and often Java for more general development(Java programmers are easier to find and cheaper than good C++ programmers).
 
Last edited:
Finding a job with training will be difficult, especially if you aren't able to demonstrate that you've spent some of your own time and money trying to build your knowledge up. You're far more likely to get such a job if you go in with a portfolio of things you've made and show them how enthusiastic/keen you are. Sometimes this can make up for lack of experience.

^^^this

Also 'training' in some instances can be provided but self study is important - by training I don't mean paying for someone to learn some commodity skill - self study or formal education should cover most of that. But, for example, at a previous firm (finance related) we used a rather unique language so in house courses would be run internally on this language and internal training documents produced for people to get to grips with it. Ditto to stuff specific to our software - in house libraries, certain data structures and terminology used in house that might be unfamiliar or take a different meaning to those terms as used generally.
 
Back
Top Bottom