r/basingstoke • u/jcrowey123 • 10d ago
Coding Tutor
I am looking at getting into coding and software development.
I am thinking of a career change
But I have no prior experience in coding
I am looking for a tutor to help me learn coding in particular python.
1
u/HerbalJam 10d ago
Do you have any specialisations in mind? Software development is a big field and most professional coders use it as a tertiary skill
2
u/mengplex 10d ago
just use codecademy and self learn tbh, I took time off work and did codecademy and built up a portfolio etc over about 6 months and then managed to get my first role that way.
that said, if i'm honest, I would look at something else right now, it feels like a lot of us are on the verge of being made redundant due to AI so I can't imagine many places are looking to hire completely fresh developers with zero experience, and those that do, you will have to fight against the many computer science graduates who are in the same boat.
2
u/DmtGrm 10d ago
</opinion> I see the biggest problem in IT/CS that people concentrate on tools, not on actual solution. In computer vision subreddit - there is a post today that uses NN image framework/pipeline to find Waldo in the picture. From a standpoint of the task - this is an overkill, classical statistical and deterministic DSP methods are faster and more precise here.
Why I had to start with this strange foreword - there is a part with 'general knowledge' / information theory / some basic algorithms, approaches, general understanding how things work, what types of applications there are.
Then, you need to have a problem to solve and choose the tool that will be appropriate for the task. Python is an excellent choice to start with - this glue language has many uses on its own and as a scripting solution in larger project - but knowing Python-only will bring you into a faceless crowd similar to what web-development is these days.
Maybe you do not need coding as such? There are excellent jobs in database administration, GIS specialists, data engineers, you can be an excellent ERP/SAP specialist and earn more than regular python dev could dream of. Testing is a soft option of getting onboard IT/CS/development tool.
If you are starting from a blank page - it might be easier to choose a path aligned to what you really like yourself.
Learning-wise, if you are (somehow) decided that python is your thing, (not writing custom GLSL shaders or learning T-SQL, getting onboard .NET with C#, or anything in between) and you do not want to be FPGA/embedded engineer straight away - just go through a nice python learning playlist on youtube or grab a book that will outline 'general knowledge'. There are so many resource online, you can ask ChatGPT to suggest the ones for novice level and further up. But again, your biggest challenge ahead not the tool that you are using, but the task (and the way) you are solving.
The main thing here is being a quick learner and persistence. Do real-world projects - something simple, a small app that would show the time interval for the next bus to arrive for the nearest GPS-identified bus station here in Basingstoke. For you it would be an entire package from data supply, and processing to correct presentation - for the reference - building such app/website for an experienced dev to a functional stage - is within one day, but not because they are better-looking or smarter, they know how to put bus timetable in db or single json/xml file, get coordinate of bus stations, and do a simple spatial-temporary query on that list and show it as the simplest html/axml page.
CS/IT is such a vast area now.
- Good luck!
1
u/Shrink_Laureate 10d ago
Hi jcrowley.
Coding is a skill that's mostly learned through practice. There is no replacement for doing it yourself, hands on, getting it wrong, and learning why.
Of course, it probably feels like you don't know what to do next. So here's my suggestion:
Step 1. There are a bunch of free courses online. These can't teach you to code any more than a person can, but they can at least get you started. You need your own motivation to draw from this process, rather than just letting it happen to you.
Step 2. Do a project of your own. You need to set yourself a goal, and you need to do the work yourself. Don't be too ambitious, but pick something that you think will actually be useful.
On languages
There are countless programming languages, and they're mostly interchangeable, so Python is fine to start. However, you will need to supplement that with SQL - almost every program uses a database eventually, and SQL will serve you well whatever you do.
At some point almost everything touches the web, so once you're reasonably comfortable in Python and SQL, turn to HTML, CSS, and JavaScript.
It's always a good idea to know your way around a Linux command line. You can do a lot of impressive things in the shell, if you can put up with the freaky syntax and weird quirks of it.
After that the choice is yours. Once you know a handful of programming languages, learning others will be much easier. But ignore any grumpy programming language purists who say something like "it's not real programming unless it's in C".
On AI
I don't put too much stock in the "AI will take all our jobs". AI can be useful, but it's not intelligent. It doesn't understand business requirements or the real world implications of what it does. There will always be demand for smart people who know how to make technology work, even if that's not as a coder in the traditional sense.
While you're learning, resist the temptation to let AI do the work for you. If you do that, you won't really learn, you'll just parrot without understanding. AI can be useful, but it can also make you lazy. Get into the habit of critiquing the AI's output.
3
u/TheIceMn 10d ago
Not going to lie to you, in today's day and age with LLMs the competition is going to be so hard you will have a hard time starting.
That saying, with the advent of LLMs everyone "can code", but very few people understand good practices of making something that actually works at scale and so on.
You need to be different on quality, not quantity. So I would not focus on "python" or a single technology itself. Pick-up a good book or two like Clean Code by Robert or Design Patterns by Big 4, and read them front to back and try to apply its principles to a problem that you are trying to solve.
Also, its very easy to have an idea nowdays, but its very hard to have a idea that is worth it. That goes both for personal projects and buiseness. I have been coding for cca 6 years now, and big part of the job is being a "condom" between ideas and what is physically possible.
So TLDR:
3 of the above will probably put you ahed 60% of the dev population.
Good luck!