Looking for a new role? Head to Mumsnet jobs to find full and part time family friendly opportunities.
Learning coding languages - is it achievable?(27 Posts)
I'm currently on mat leave and work in a role that requires basic level data analysis and want to make use of my time by improving my CV, but I'm realising now that I don't actually have much time after dealing with the demands of a baby, and I know this isn't going to get better once I return to work! I do enjoy my job, but feel I could be learning more and am worried that if I am made redundant I don't really have a great deal to offer and am getting behind skills-wise. I covered statistics as a part of my degree, but as my degree was such a long time ago, my knowledge is now rather vague in this area. I am happy to stay in my role for a while, but I know if I need to progress, I should probably start working towards this now.
Looking at what I do already, I decided that learning to code for data analysis could be a smart move as there seems to be a lot of demand in this area. I have learnt a bit of SQL before, but don't use it in my role and have started to learn Python with an online data science course as after some digging this appeared to be a language that was I demand and one of the best o es for beginners.
Part of me thinks I am starting something I will never have time to finish. I just wondered if anyone had any experience of advancing from a basic analyst role and how they achieved this? Are Python and SQL the most valuable languages in the field of analysis?
I am concerned I will be wasting my time with this, but at the same time I feel under pressure to develop my career further so I can improve my earning potential and ensure I'm not left behind as jobs become more scarce in the future.
YES!!! Massively achievable loads of free or very cheap online courses. I am enjoying a python Super Data Science course on Udemy which focuses on Python for data analysis not as a general programming language. It was about £10 I think (typically Udemy list courses with high prices and a massive discount). I've done short getting started tutorials on C# and React recently as well.
Amazon, Google and Microsoft all offer loads of free and cheap training on their cloud platforms.
Most cities now have coding events and clubs targeting women.
I am not an analyst although I need to do some in my job. However I work with analysts and loads of them are self taught on the coding side.
Instead of thinking of coding as this big separate thing, think of it as something else in your toolbox.
Even a little ability will be useful and you can build on those skills as you need it.
For example the other day I needed to view some data from a web service in json format. Because I've been playing with python I was able with a bit of googling to write a few line script to read the json and show it as a table so I could quickly sense check it. It's a throwaway script and in no way impressive but 5 mins on the script was way faster than trying to dig into the json.
Oh one more thought (you may do this already) ... if it's a video based course you can speed up playback. I watch all my training at 2x to follow the gist, switch to 1.5 when I need to think.a bit deeper, and 1x when it's really hard.
Thanks Blibbyblobby. I have bought a few courses on Udemy before and the one I mentioned in my OP was a Udemy course. It may well be the same one! I have learnt the Python basics on a YouTube channel (CS Dojo) and will move on to the course, as it's more geared towards the analysis and which statistical method is required, and the software that comes with it. The Python aspect is just a section of the course. I think I paid £20 for it. I think Udemy is great for this reason. Always recommend to friends if they are not sure what to do career-wise.
I did complete a SQL course on Udemy but that was 2 years ago and I only vaguely remember it. Again, I didn't really have the time to get to the nuts and bolts of it. I wonder if you don't really learn that until you're in a role using it anyway.
Did it take you long to learn it Blibbyblobby ? I'm just trying to watch the lectures when BFing my son and my other DC is at school, but I won't even have this time when back at work. The hard part is getting time on the computer to do the exercises, which is what is really going to help me get my head around it. I'm thinking of getting up super early in the am, but I'm still dealing with night wakings from 7 month old too! I would try in the evening, but the kids aren't in bed till 8pm and my brain has retired way before then!
The reason for the pressure is my OH has already said that he doesn't want to change jobs and there is no where to progress where he is, so feel the pressure is on me to get a better paid job. I'm thinking this path is the best way to go for more money and better job security. I think I need to be realistic about how much time to dedicate to this though. I don't want to risk doing crap in my current role and forgoing pay rises due to learning code. I will keep going with it though as you are right - it's something for the toolbox and demonstrates a commitment to learn.
I learned SQL on the job, took a month or so to grasp the basics but still learning bits after 20 years! (More about specific rdms than sql itself) FwIW I learned to design, build and query the database at the same time and I think that made SQL very obvious because I was thinking in terms of relationships from day 1.
On the Python stuff I just do bits as and when I have the time. So I have been doing the course for months, but in that time I have also started using Python to do stuff at work so I got the benefit pretty quickly.
I think it's harder to make stuff stick if you don't use it in anger (ie to solve a problem rather than just follow a tutorial). Is there a task you can set yourself, maybe a question you want to answer?
R would be good to learn if you're interested in the statistical side of things.
I second R - there are some good 'learn how to' books that are particularly applicable to biological sciences. I now work with qualitative and quantitative data and SPSS has also come in handy so first I would brush up on your stats knowledge and then work through some examples in different interfaces. Definitely achievable! Good luck.
Thanks everyone for your comments. I have heard about R too and it is on the list (if I ever get round to learning Python and SQL in more detail!). A lot of the sites I looked at said Python would be a good start for a beginner, and maybe to progress with R once I'm competent in Python. I have dabbled in SPSS during my degree (it was a Psychology degree and used it for some assignments and my dissertation), however that was 7 years ago. I'm sure the software (and my brain) has changed a lot in that time.
Thanks for giving me some encouragement about this. It seems like such a huge hurdle to climb, especially with time limitations, but I need to be realistic and look at what I can achieve over a couple of years, rather than have the mentality of "I need to learn this ASAP". I would say even after a couple of weeks of viewing basic tutorials on YouTube and not really practising on a computer, it is starting to make sense. I think another issue I will have is getting a role using these skills once I have learnt them. My current role is pretty basic. I use a DB and extract information from it by building queries (not coded queries) and analysing what is churned out at basic level. I think the hard bit is knowing when I have enough knowledge to really use it in a role. I'm a bit scared of thinking I've got enough knowledge to put it on my CV, only to find when I use it in real life that I have no idea what I'm doing!
SPSS hasn't changed that much...
How much time do you spend turning numbers into charts (time series)?
Being scared of putting it on your CV in case you won't know how to do it in the workplace is normal and understandable - been there myself! You will always have to relearn the application of such skills in the context of the new role, the key is to have a solid understanding of basic statistical concepts (roughly) relating to the type of data you'll be working with. So, with experience of (I'm guessing) qualitative and possibly quantitative survey data from your psychology degree (and by working though examples while you learn to code) you will in theory be able to work with any data that was collected and structured in a similar way. Highly flexible skill that can be applied in lots of places!
Also in my experience even just being able to interpret an output from coded analysis is a useful skill!
I'm actually struggling to remember! That's sleep deprivation and being on mat leave for you!
My role is mostly data clean ups, extraction/querying and then putting it in to graphs and writing some interpretation from it, so I guess a third of what I do.
Thanks for your comments. I always try to remind myself that most people start roles with the basics and spend a good three months in a bit of an "aarggh" fog while they learn everything. I tend to regard other people as experts, but I think most people have days where they come across something new that they aren't sure how to deal with. I think I'm just scared of thinking I will end I know more than what I really do.
wailing and gnashing of teeth "Don't do it OP!"
No, just kidding. I'm mumsnetting while a largish (stripped down to a more manageable size with smaller arrays for test purposes) python script keeps falling over on me, and it's taken me the last hour to debug the bastard thing...
Go for it. It's perfectly do-able.
But if you can find someone in your particular line of work, make a priority list of which languages would look best on your CV for your line of work, and learn the most useful first (once you've cracked one, learning more is relatively easy - though I have to admit I don't write python very well, having a tendency to treat all language like the fortran I learned as a nipper and proceed from there).
"Data analysis" is incredibly broad - are we talking data for public health, for earth sciences, for medical sciences, for physical sciences...? You get the picture). Different specialisations will have different favourite languages (not always for logical reasons - sometimes it's that language A has a better graphics package, or language B can be called from within the model that generates the data, or language C is really good at handling the standard file format used in that field of research whereas language B scrambles the metadata, cost - is it open source or proprietary, licenced...)
TL:DR - what do people in your field actually use? Find out before you put loads of effort into a language.
(As an example, we had a discussion in work recently on the pitfalls/pratfalls of trying to use "glob" to list a load of data files then use the resulting list within a python script - basically, you're setting yourself up for a world of pain if you do that! Whereas in IDL it's really easy to interrogate metadata from the files Python is a better language all round, but in some instances, the older, clunkier language was "safer" to use for beginners.)
Anyway, now to go find out if starting my arrays from 1 rather than zero has fixed the problem... Then collect DS from his youth club.
Part of the issue with some job adverts/recruiters is some of the time they don't really know what level of skill they are looking for.
I remember being asked if I knew sql and all they wanted was a yes or no answer.
I think i undersell myself on my cv, it's difficult to pitch yourself when most of my learning is dabbling in things, and I don't have a coding background. I don't know what level I know various other languages compared to others, although as i get older I realise there are a lot of unconsciously incompetent people about :-)
Thanks for your response. I work in public services and as far as I know the main language used is SQL as we use a lot of databases, but we also have a team of developers, so I'm not too sure what they use in terms of languages. We also have a research team, so I expect they would use SPSS too. We are undergoing a lot of change in my wider department so things may well be very different when I return to work. i think that is what has spurred me on to upskill as I'm wondering if there could be potential for "restructuring" in the future. I chose Python as I heard it was a good general beginner language, and I have dabbled in SQL too, but I see what you mean about putting effort in to something I may not use. My efforts are in part to introduce myself to data science and to explore whether it is for me or not, but also to give me a bit of a foothold in to this area if I suddenly find I no longer have a job! I'm very much at the beginning, so I'm at the stage of wondering whether it is worth the investment as I'm not sure if I would be any good at it.
I get where you're coming from. I have people ask me for 'numbers" but they are sometimes not sure what they actually want. I imagine it's the same with languages, as the people recruiting aren't really sure what it would be used for.
That's my fear! I don't want to be unconsciously incompetent! I'd much rather have Imposter Syndrome than that.
I'm doing a data science PhD and looking at various coding options. Tbh I've not found python that simple for a beginner, I mean it can do everything but that's not exactly what you want. I would say brush up on your SQL, I've found it much more intuitive and there is a reason for that which was explained to me but I've forgotten (maybe someone can fill that gap?). R is more straight forward for stats analysis and presentation especially if data already cleaned and ordered from a database. If you have office 365 have a look at Power BI as a data visualisation tool. It's pretty good and no coding required. You might want to have a look at QGIS if you use spatial data at all, you have a lot of tools with that to make presentation much more useful.
I found that I need a real problem to actually learn anything. I can go through all the online courses but as it's not applied it doesn't stick. If you want to do python I'd recommend getting a raspberry pi and working on some projects. Make a night light for the little one or something. Having an application makes it much easier to learn, although it won't be data related it helps get the feel for the language. Python is so vast! Stackoverflow is a good website for support for particular problems, for many languages.
Good luck, I'm finding it incredibly challenging but then I've gone in so deep I may as well be in a submarine!
Venividivoxi I'm with you on that one.
My impression of Python is it's a
local computer programmer's language for local people computer programmers.
There's all sorts of things about it (issues round copying arrays and pointing to memory addresses rather than data values) which appeal to the computer science/AI purist, but make it very counter-intuitive for a scientist/engineer/data analyst who wants the structure of the language to mimic the way they think about algebra or numerical algorithms.
I feel like it's a question of whether the language reflects the natural structure of the problem it's being asked to solve (with the machine as merely a tool to do so) or whether the language is designed to reflect the machine itself (with the data being analysed as merely an interesting case study in the machine in action).
Give me C++ or even Fortran, any day. I'm getting more used to Python out of necessity but I don't "think Pythonically."
BarbaraStrozzi good to hear you say that! I'm finding python overwhelming as I just don't 'get it' it's not how my mind works. SQL is a dream in contrast. I was told FORTRAN would be good for me but I can't face it!
I hope your arrays sorted themselves out. What do you write code in out of interest? I just switched from Jupiter notebook to pycharm and it's making spotting errors a bit more straight forward.
Placemarking as also on mat leave and considering doing some online coding courses.
Veni I'm a bit of a crap example to follow . I'm very old school - still write scripts using an editor (emacs, more or less by accident 'cos that's the one I got used to - but with colour syntax highlighting, which helps enormously) then run from the command line on linux (submit as batch jobs to a remote server if they're huge). I'm also very much a scientist who sort of codes rather than a programmer.
Fortran is great for what it was designed to do - run huge amounts of numerical problem solving, very fast (if optimised for the architecture you're running on, it is much, much faster than python). What it's rubbish at is object oriented stuff. There have been attempts to "retrofit" it to allow for more object oriented programming, but it's a bit rubbish at this frankly - if you think you'll be doing any OO stuff, C++ would be a much better language to learn. Same advantages in terms of number crunching as fortran, but was designed to be OO from the start.
I did get the arrays sorted - definitely a stupid mistake... Though I'm off work sick at the moment, I think my beffudlement may have been to do with a lurgy brewing up.
I have to say, some of the stuff in these posts are a bit ?? to me. I'm not entirely sure what some of it means as a newbie, but hopefully I will soon enough.
What do you currently do now?
Ask about any of it, Monster - hopefully some of us can help (and if we can't explain terms in relatively everyday language, then we're probably bullshitting, and you can happily ignore what we say).
The short version is: ask people in your field what's the standard language used, what would be most useful, what would make you most employable. Then go from there.
I’ve just started to learn Python and I have no coding background whatsoever. I’m doing a video course through work, but a colleague recommended Udemy to me and I’ve watched a few of those too. I did find it hard to begin with because it was quite different to anything I’d done before but after quite a short time, I feel like I’m getting my head round it and actually enjoying doing the exercises.
I’ve always found programming languages a bit fascinating but lacking maths ability, I thought I’d never be able to do any.
Definitely give it a go.
Join the discussion
Registering is free, quick, and means you can join in the discussion, watch threads, get discounts, win prizes and lots more.Get started »
Please login first.