•
Think of a decent-sized personal project to work on as a way to focus your learning and build your skills. That could be anything such as a web app, Arduino (microcontroller), a game (e.g. using Python's "PyGame"). Eventually it would be good to aim to have a larger app; maybe something to go alongside your OU studies / similar in size/scope to the type of thing you might do for the Level 3 project. Other project ideas here: https://learn.freecodecamp.org/coding-interview-prep/take-home-projects/
•
Create an account on GitHub (or GitLab or Bitbucket) and use that to host your project.
•
You could also include any smaller projects or assignments to show your journey - for example, solutions to some of the algorithm challenges from sites like Project Euler or HackerRank.
•
Go to meetup.com or other similar event/meet-up sites and seek out tech community events which interest you; those can be an excellent opportunity to learn more and do some social networking. Depending on the area you live in you may be able to find some job opportunities that way too.
•
Join online communities to help with your learning - e.g. Codebuddies and Codenewbie
•
Look on sites like CWJobs to find out what specific of skills employers are looking for when it comes to entry-level jobs. (The most common ones will probably be in one of the main programming languages like Python, Java or C#). You will also find a lot of them asking for experience in SQL and *nix too. Also CWJobs will link to a lot of IT recruiters who you'll probably need when you're finding work.
•
Get involved in some 'open source' projects to gain a bit of experience writing code for larger existing projects and collaborating with other programmers in the same code/project: https://www.firsttimersonly.com/ https://opensource.guide/how-to-contribute/
•
Get used to searching for a lot of information in Google and using that as your first point of reference for every question you'd ever think of asking. Also make sure you use StackOverflow a lot.
•
Become an expert in whichever your preferred programming language is - Python is really good, and Java is also excellent (I believe the OU uses Java).
•
Analytical skills, Computational thinking, Problem solving and ability to express solutions to problems as algorithms
•
Know how to use the debugger for your chosen programming language and be comfortable using it to troubleshoot logic errors (use breakpoints).
•
Core computer science principles around things like data representation, HTTP, logic, etc
•
Being able to 'read' and understand other peoples' code -- you'll very likely be asked to do this in a job interview.
•
Learn 'good' coding habits and make sure your personal projects sticking to popular coding styles/standards. (Your code editor should automate a lot of that anyway)
•
Be able to handle errors and write code which works with edge-cases/corner-cases. Also be able to handle exceptions/failures
•
The Object oriented programming paradigm - particularly on how to logically organise your code and create 'abstractions'.
•
Learning software design guidelines and principles ("design patterns", SOLID and GRASP principles)
•
Automated unit testing and 'Test driven' development methods (this is really important for employability)
•
Make sure you're familiar with "git" and source control
•
Be confident using your operating system including the command-line and be able to solve general computer technical problems.
•
SQL databases, 3NF and relational data modelling - able to create databases with complex table relations and write reasonably complex queries.
•
Some web development would be really useful.
•
Use the 'functional' programming paradigm (You'll probably do a bit of functional programming if you dive deep enough into Python)
•
Think of a decent-sized personal project to work on as a way to focus your learning and build your skills. That could be anything such as a web app, Arduino (microcontroller), a game (e.g. using Python's "PyGame"). Eventually it would be good to aim to have a larger app; maybe something to go alongside your OU studies / similar in size/scope to the type of thing you might do for the Level 3 project. Other project ideas here: https://learn.freecodecamp.org/coding-interview-prep/take-home-projects/
•
Create an account on GitHub (or GitLab or Bitbucket) and use that to host your project.
•
You could also include any smaller projects or assignments to show your journey - for example, solutions to some of the algorithm challenges from sites like Project Euler or HackerRank.
•
Go to meetup.com or other similar event/meet-up sites and seek out tech community events which interest you; those can be an excellent opportunity to learn more and do some social networking. Depending on the area you live in you may be able to find some job opportunities that way too.
•
Join online communities to help with your learning - e.g. Codebuddies and Codenewbie
•
Look on sites like CWJobs to find out what specific of skills employers are looking for when it comes to entry-level jobs. (The most common ones will probably be in one of the main programming languages like Python, Java or C#). You will also find a lot of them asking for experience in SQL and *nix too. Also CWJobs will link to a lot of IT recruiters who you'll probably need when you're finding work.
•
Get involved in some 'open source' projects to gain a bit of experience writing code for larger existing projects and collaborating with other programmers in the same code/project: https://www.firsttimersonly.com/ https://opensource.guide/how-to-contribute/
•
Get used to searching for a lot of information in Google and using that as your first point of reference for every question you'd ever think of asking. Also make sure you use StackOverflow a lot.
•
Become an expert in whichever your preferred programming language is - Python is really good, and Java is also excellent (I believe the OU uses Java).
•
Analytical skills, Computational thinking, Problem solving and ability to express solutions to problems as algorithms
•
Know how to use the debugger for your chosen programming language and be comfortable using it to troubleshoot logic errors (use breakpoints).
•
Core computer science principles around things like data representation, HTTP, logic, etc
•
Being able to 'read' and understand other peoples' code -- you'll very likely be asked to do this in a job interview.
•
Learn 'good' coding habits and make sure your personal projects sticking to popular coding styles/standards. (Your code editor should automate a lot of that anyway)
•
Be able to handle errors and write code which works with edge-cases/corner-cases. Also be able to handle exceptions/failures
•
The Object oriented programming paradigm - particularly on how to logically organise your code and create 'abstractions'.
•
Learning software design guidelines and principles ("design patterns", SOLID and GRASP principles)
•
Automated unit testing and 'Test driven' development methods (this is really important for employability)
•
Make sure you're familiar with "git" and source control
•
Be confident using your operating system including the command-line and be able to solve general computer technical problems.
•
SQL databases, 3NF and relational data modelling - able to create databases with complex table relations and write reasonably complex queries.
•
Some web development would be really useful.
•
Use the 'functional' programming paradigm (You'll probably do a bit of functional programming if you dive deep enough into Python)
Last reply 1 month ago
applying to Russel group unis if my undergrad is from a non Russel groupLast reply 1 month ago
How long should you wait to hear back after an assessment centre?Last reply 1 month ago
Applied Professional Engineering Program degree apprenticeship at JLRLast reply 1 month ago
applying to Russel group unis if my undergrad is from a non Russel groupLast reply 1 month ago
How long should you wait to hear back after an assessment centre?Last reply 1 month ago
Applied Professional Engineering Program degree apprenticeship at JLR