Bring me all the learnings!
Jan. 18th, 2018 02:54 pmI keep talking about this, but I'd really forgotten how much I love learning and how much that influenced by decision to go into IT as my career.
Last week, I remembered that my local library has a subscription to Lynda.com for all users, so I went over and poked around and set up an account. There were a surprising number of courses relevant to my interests and ambitions. I've just completed a beginner's Hadoop course, to support other things I want to take, and now I'm running through a data engineering basics course.
Er, apparently that's what I do. Huh. Listening to the descriptions of what a data engineer does, that fits my work very closely. It's never been the term used (my job title is senior programmer analyst, which is excitingly vague), but that's what I do every ay. I'd started to suspect that's how my job would be described on job ads and that's one of the terms I've been using when doing some scouting around about job prospects in London, but it's nice to have that confirmed and feel more confident about applying for those jobs.
I'd like to work on big data systems and play with cooler toys, although it sounds like my experience with RDBMS's will translate well enough to get me in the door for those jobs. I'm still doing some up-skilling to get myself into a better position for the job hunt. And I'm taking a look at some data science stuff, because that's where I'd like to start moving my career towards long-term.
Either ironically or coincidentally, I can't decide which, last week (the day after I started poking about on Lynda, in fact), my work set up a group plan for Pluralsight and gave me and a couple of colleagues access. Woohoo! ALL THE AWESOME IT COURSES ARE MINE.
There are some courses that are directly relevant to my current work, so I've been working on those. There's probably a dozen Oracle-specific courses plus an ITIL foundation course that is probably the ITIL training we keep getting promised and never actually get. I spent a fair bit of Friday on a PL/SQL fundementals course that was more useful than I expected. I picked up everything I know about PL/SQL from using it and reading books/hitting Google/hitting Stackoverflow whenever I needed to something I haven't done before. So even though I've been using it for nearly ten years and I consider myself fairly expert, this basics course showed me a few things I'd never seen before.
This is why I'd argue it's important for companies to fund training when developers are picking up new tools and languages. Supplement that with books/Google/Stackoverflow, but you need that core organised training to really use things well.
There are some more advanced courses around Oracle query tuning, star schema database design etc, plus some advanced SQL courses that talk about both SQL Server and Oracle that sound interesting and relevant, so I've got plenty to do for work training.
On my own time, I've been taking a Pluralsight course on basic Python (if I have access to the courses, why not?). I'd been teaching myself a bit already, because learning is fun and Python is fun, but it was good to go through this course and realise how much I've already absorbed. Unlike the other sources I've used, this course has been emphasising Python as an object-oriented language and explaining OOP theory as they introduce classes and so on.
The last time I used an OOP language was at uni, thirteen years ago (Java, C++, Smalltalk). Apparently I retained all that theory, because this part of the course has been more reminding me of OOP theory and teaching the Python syntax rather than introducing a whole new programming paradigm. It really is true that when you've learned a basic programming construct, it's pretty easy to pick it up in other languages.
The remaining modules are going to teach me entirely new things: how to deploy a webapp using Flask, and how to package up a stand-alone app using PyInstaller. I'm nerdily excited :-)
And after I've done that, I'm really excited about moving onto the more advanced courses and really digging into Python properly.
This is, actually, relevant to my discussion of data engineering and data science. Python is a skill that's called for a lot in both paths (there are entire libraries in Python for data science!), so I'm having fun learning something new that will hopefully pay off later in the year.
And hey, Pluralsight also has a whole bunch of courses in SQL Server and Microsoft Azure, so I can do a bit of cross-training to widen my net of possible jobs. After all, the important part is being used to dealing with data and an RDBMS. The differences between specific vendor distributions can be learned and adjusted to, it's the core understanding of what the hell all this stuff is and how to manage it that takes the time to learn.
(And yes, my Mac is still performing beautifully as a development platform. So far, I like PyCharm better than Spyder for my Python IDE, but we'll see. Both are much nicer than IDLE. And if I want to add some C# to my diet or try out yet another Python IDE, Visual Studio 2017 even has a MacOS version. My Mac is so great.)
Last week, I remembered that my local library has a subscription to Lynda.com for all users, so I went over and poked around and set up an account. There were a surprising number of courses relevant to my interests and ambitions. I've just completed a beginner's Hadoop course, to support other things I want to take, and now I'm running through a data engineering basics course.
Er, apparently that's what I do. Huh. Listening to the descriptions of what a data engineer does, that fits my work very closely. It's never been the term used (my job title is senior programmer analyst, which is excitingly vague), but that's what I do every ay. I'd started to suspect that's how my job would be described on job ads and that's one of the terms I've been using when doing some scouting around about job prospects in London, but it's nice to have that confirmed and feel more confident about applying for those jobs.
I'd like to work on big data systems and play with cooler toys, although it sounds like my experience with RDBMS's will translate well enough to get me in the door for those jobs. I'm still doing some up-skilling to get myself into a better position for the job hunt. And I'm taking a look at some data science stuff, because that's where I'd like to start moving my career towards long-term.
Either ironically or coincidentally, I can't decide which, last week (the day after I started poking about on Lynda, in fact), my work set up a group plan for Pluralsight and gave me and a couple of colleagues access. Woohoo! ALL THE AWESOME IT COURSES ARE MINE.
There are some courses that are directly relevant to my current work, so I've been working on those. There's probably a dozen Oracle-specific courses plus an ITIL foundation course that is probably the ITIL training we keep getting promised and never actually get. I spent a fair bit of Friday on a PL/SQL fundementals course that was more useful than I expected. I picked up everything I know about PL/SQL from using it and reading books/hitting Google/hitting Stackoverflow whenever I needed to something I haven't done before. So even though I've been using it for nearly ten years and I consider myself fairly expert, this basics course showed me a few things I'd never seen before.
This is why I'd argue it's important for companies to fund training when developers are picking up new tools and languages. Supplement that with books/Google/Stackoverflow, but you need that core organised training to really use things well.
There are some more advanced courses around Oracle query tuning, star schema database design etc, plus some advanced SQL courses that talk about both SQL Server and Oracle that sound interesting and relevant, so I've got plenty to do for work training.
On my own time, I've been taking a Pluralsight course on basic Python (if I have access to the courses, why not?). I'd been teaching myself a bit already, because learning is fun and Python is fun, but it was good to go through this course and realise how much I've already absorbed. Unlike the other sources I've used, this course has been emphasising Python as an object-oriented language and explaining OOP theory as they introduce classes and so on.
The last time I used an OOP language was at uni, thirteen years ago (Java, C++, Smalltalk). Apparently I retained all that theory, because this part of the course has been more reminding me of OOP theory and teaching the Python syntax rather than introducing a whole new programming paradigm. It really is true that when you've learned a basic programming construct, it's pretty easy to pick it up in other languages.
The remaining modules are going to teach me entirely new things: how to deploy a webapp using Flask, and how to package up a stand-alone app using PyInstaller. I'm nerdily excited :-)
And after I've done that, I'm really excited about moving onto the more advanced courses and really digging into Python properly.
This is, actually, relevant to my discussion of data engineering and data science. Python is a skill that's called for a lot in both paths (there are entire libraries in Python for data science!), so I'm having fun learning something new that will hopefully pay off later in the year.
And hey, Pluralsight also has a whole bunch of courses in SQL Server and Microsoft Azure, so I can do a bit of cross-training to widen my net of possible jobs. After all, the important part is being used to dealing with data and an RDBMS. The differences between specific vendor distributions can be learned and adjusted to, it's the core understanding of what the hell all this stuff is and how to manage it that takes the time to learn.
(And yes, my Mac is still performing beautifully as a development platform. So far, I like PyCharm better than Spyder for my Python IDE, but we'll see. Both are much nicer than IDLE. And if I want to add some C# to my diet or try out yet another Python IDE, Visual Studio 2017 even has a MacOS version. My Mac is so great.)