What's the best way to get into programming?

Associate
Joined
7 Dec 2018
Posts
1
So I'd like to learn programming by myself and work in the field later on but currently my knowledge and experience in programming is very close to zero. I'm 33 years old, not sure how much age matters at job applications.

What would be the programming language or languages that I should study and practice (including SQL) to get the best chance to land in a job?
 
Soldato
Joined
22 Dec 2008
Posts
10,370
Location
England
Write a bunch of code. Think about it. Read code you wrote a month earlier and rewrite it to be better.

That's about it really. Google will find you (free) introductory courses which could be helpful.

I've learned most through working out how to build things that would be useful to me, since wanting the end result was more motivating than an online course.

For a first language - C if you want a sharp learning curve, python if you want a gentle one.

Software dev is firmly a meritocracy. Age and education don't really matter. How good your code is, and how quickly you write it, are essentially the only metrics.

Proving you're good without any experience means writing code and putting it somewhere people can see it. Usually github. Stack overflow profiles also show up on some CVs.
 
Soldato
Joined
20 Dec 2004
Posts
15,766
There's a huge range of programming jobs available. What do you want from a career in code?

If it's money, then I would focus on machine learning/data science. Python first, then Tensorflow, scikit learn/etc. Do the Stanford Machine Learning course on Coursera (free). You'll need to study hard and have a head for visualising data....but it's going to be a huge growth industry and pays big

Javascript/C#/Java will be reliable money makers, although Javascript has this ridiculous merry go round of toolkits that change every day...and every proper programmer will rightly sneer at you :p

Java backend work is boring but there's plenty of demand.

C++ if you want to do anything in gaming (most interesting work, but doesn't pay as well).
 
Caporegime
Joined
29 Jan 2008
Posts
58,899
For a general answer: the best way is probably to get a degree in CS/Maths/Physics/Engineering and join a grad scheme.

That might not be the best way for you however as you’re 33 so presumably already have a job, previous experience, perhaps some further education etc...?
 
Soldato
Joined
17 Jun 2012
Posts
11,259
As said download visual studio and install say c# and write the classic hello world app. Then Google a tutorial.

Language depends on sector, desktop, web, other etc.

Java, c#, VB, c++, phython, js. And loads more. It's hard to advise as most programmers who make it just teach themselves, it's quite an individual thing.

Just get something done.
 
Man of Honour
Joined
30 Oct 2003
Posts
13,229
Location
Essex
I find that the biggest problem is finding a problem to solve that's mildly interesting, personally I just worked my way through project euler : https://projecteuler.net/archives in VB.net, then in C#. Once you start cracking through them you will just get better and better while building up a brilliant code base for mostly mathematical and logic problems. Project Euler just gave me the problems and id work through a couple a night at first as console applications then make one as an app, etc to get a feel for the environment.

As for SQL it's probably one of the easiest languages to learn, tbh I am not even sure when I learnt it but use it daily at work, most organisations I have worked for (started in a dev house then into financial and legal sectors mostly) use limited amounts of languages so vb.net/vba (also some xml) for working within the office apps, adding items to the ribbon in office for .net apps etc, sql is everywhere in every sector and underpins 90% of SME applications, reports etc so you wont get very far without knowing a bit of that. Other than that it's perhaps a bit of visual C#, html and css if your working in SharePoint that isn't on a hosted platform for writing things like event handler overrides etc. There are of course exceptions and organisations that run huge amount of legacy (cobol comes to mind in finance) applications where good programmers can make serious bank but be careful if you focus in like that.

What i'm getting at is in 15 years in the industry i've rarely seen much writting in anything other than the above, used to see a bit of ruby/rails and once came across some badly written python and the occasional bit of java/js but really it's all mostly .net/vba for office. obviously when I worked in a dev house it was different and we would use all kinds of environments but really for maximum impact in a wide range of organisations, sql, vb.net, vba, html, css will give you more than enough to get noticed.

As others have said what you learn really depends on what you want to do :)
 
Last edited:
Soldato
Joined
6 Jun 2010
Posts
5,158
Sorry to de-rail the thread a bit but if someone wanted experience of let's say the day to day life of a Data analyst or DevOps engineer or Security thingy dealing with hacking (sorry I don't know the terminology), is it possible to shadow someone to get a gist of what happens. As I don't want to commit to spending all that time on learning the "wrong" languages and then finding out I dislike the jobs that involve using those languages
 
Soldato
Joined
17 Jun 2012
Posts
11,259
Kind of depends really, in the old days it was a bit geeky, people started out with assembly or basic then onto c, c++, then vb6, PHP, java and whatever. A skilled programmer should be able to pick up the core of a new language in days as it's essentially the same structure as any other language, just have to learn the new syntax etc.

It's possible to shadow someone if you can find somebody willing to let you shadow th which is unlikely. Programmers can be quite cliquey generally speaking, there's a bit of, 'we have the knowledge, go and learn it yourself, naff off'.

There's a good dosage of intellectual arrogance, or there used too be.

That must have really boosted your confidence. It's not all like that and maybe things have changed a bit

It's a lot of hard work, there's no easy way, think of an athlete training for the Olympics, it's everyday, churning though code, your always learning something new. Follow john carmack on twitter, read masters of doom and accidental empires.

Get started right away.
 
Man of Honour
Joined
13 Oct 2006
Posts
90,824
Python is generally the language taught as an introduction these days as it is possible to leapfrog from it to many other languages.
 
Caporegime
Joined
29 Jan 2008
Posts
58,899
Sorry to de-rail the thread a bit but if someone wanted experience of let's say the day to day life of a Data analyst or DevOps engineer or Security thingy dealing with hacking (sorry I don't know the terminology), is it possible to shadow someone to get a gist of what happens. As I don't want to commit to spending all that time on learning the "wrong" languages and then finding out I dislike the jobs that involve using those languages

Yes/No - I guess it depends partly on your situation - if applicable to where you work then why not - just go and talk to them, speak to your manager about your career ambitions, speak to the relevant team, find out what they do, see if you can help with it or work on some project where you can get some exposure to it... so many ways to approach this.

Likewise if you're going for a complete career change via say a masters degree then there are plenty of opportunities when it comes to your dissertation - for example in data science/analytics etc... you'll likely find there are way more opportunities than there are people available to fulfil them, plenty of companies out there who are more than happy for someone with some machine learning skills to come into their workplace and get stuck into a project. In plenty of cases the student might well be the one with the deeper knowledge/newer skillset etc...

Having a good grasp of the field itself is probably more important than the specific language used so I don't think you should get too hung up on that, figure out what you want to do first and then work towards that, it seems like you've got some rather different interests there.

Python is generally the language taught as an introduction these days as it is possible to leapfrog from it to many other languages.

If that was the main reason you could say the same thing about say Java. I think some people advocate it simply because it is perceived to be easier to learn, simpler syntax etc.. As with most things it is the concepts etc.. that are important initially and there are plenty of potential paths to follow in that regard.
 
Man of Honour
Joined
13 Oct 2006
Posts
90,824
If that was the main reason you could say the same thing about say Java. I think some people advocate it simply because it is perceived to be easier to learn, simpler syntax etc.. As with most things it is the concepts etc.. that are important initially and there are plenty of potential paths to follow in that regard.

For awhile there was a focus on pushing Java as an introductory language but Python seems to win out on that front in terms of people getting to grips with it. As I learnt on BASIC many years ago and progressed through C, etc. before Java even really existed I'm not really sure as to the why.
 
Caporegime
Joined
29 Jan 2008
Posts
58,899
For awhile there was a focus on pushing Java as an introductory language but Python seems to win out on that front in terms of people getting to grips with it. As I learnt on BASIC many years ago and progressed through C, etc. before Java even really existed I'm not really sure as to the why.

It has certainly been popular at universities - still seems to be a bit of a mix of first programming languages when looking at lists like this:

https://www.quora.com/What-are-the-first-programming-languages-taught-at-different-universities
 
Soldato
Joined
14 Apr 2009
Posts
4,811
Location
Cheshire
Install IDE and build Hello World.

Then try and build something that is a bit more interesting.

So, build a web app (SPA) that lets you read and write data.

Mysql or postgres db, java/js/go for backend then a JS frontend with Angular.

Design your RESTful interfaces that your UI will use to retrieve and save data.

Then try and get it running on AWS. RDS with an EC2 server. Learn a little about networking at the same time...

Next, introduce docker into the development pipeline. A docker image(s) will host your service and database. Of course read why docker (containerization) is useful for build and deployment.

Now put some security around the app. Learn about JWT and OAuth. Just a hard coded uname and password service will do the job. Learn about authentication and authorisation and how they are different.

Now read about refactoring, OO and patterns for data access etc. Apply some changes to your app to implement those patterns.

Update CV. Contract at £500 a day.

In general if you favour Microsoft, try not to, if that doesn't pursuade you, avoid .net framework and use .net core which is what MS have done to compete. They did create typescript though which has made life in a JS world more palatable.
 
Last edited:
Associate
Joined
24 Mar 2011
Posts
305
Location
Sherwood Forest
1) Java Game programming 2d rpgs (forget focus on graphics) 2) VBA in excel (code properly and modularly - dont just record). This will give you a base to work from, python seems best for he near future

#edit# school kids are being advised not to learn coding as its a waste of time with ai
 
Soldato
Joined
27 Jun 2006
Posts
12,354
Location
Not here
1) Java Game programming 2d rpgs (forget focus on graphics) 2) VBA in excel (code properly and modularly - dont just record). This will give you a base to work from, python seems best for he near future

#edit# school kids are being advised not to learn coding as its a waste of time with ai

Not with the schools here in the Midlands.
 

Deleted member 66701

D

Deleted member 66701

If you want to make money, learn COBOL, but be prepared to travel.

I had to turn of LinkedIn notifications due to having COBOL in my job history.
 
Soldato
Joined
20 Dec 2004
Posts
15,766
1) Java Game programming 2d rpgs (forget focus on graphics) 2) VBA in excel (code properly and modularly - dont just record). This will give you a base to work from, python seems best for he near future

#edit# school kids are being advised not to learn coding as its a waste of time with ai

Java game programming? Wut?

VBA?

Coding a waste of time?

Just....no. No.
 
Caporegime
Joined
29 Jan 2008
Posts
58,899
Still curious as to where this apparent advice for kids “not to learn coding as it’s a waste of time with ai” is coming from?
 
Back
Top Bottom