I’m in-between jobs at the moment and I’m looking to beef up my resume by learning some more computer skills. Doing a structured school course isn’t an option for me at the moment so I’ll be learning completely off my own bat at home.
Having looked around a bit I can see that there are some computer skills which seem to be in higher demand than others. I’ve decided to try my hand at learning three different things. They are:
Excel (specifically Macros)
SQL
Powershell.
I’m reasonably computer literate but no more than the average guy. In your estimation, assuming 2-3 hours per day of study, how long would it take to acquire a decent working knowledge of all three of these programs (together and individually). I’d like to know this because it would give me a good idea of what to learn first.
Many thanks.
P.S. - Also, can anyone recommend any free/extremely cheap online learning resources?
SQL is the most valuable skill of the three. Excel is a prerequisite for a lot of no-too and non-technical positions, pretty much expected for any white collar job now. For any programming job you’ll be expected to know how to use or learn how quickly even though a surprising number of programmers hate that thing. Powershell has a niche that may be valuable now but could more easily fall off the earth at any point in the future.
Thanks. I’ll bear that in mind. I’m reasonably well versed in Excel but I can’t do macros yet. I’ll make sure to prioritise SQL if it’s the most valuable.
That sounds like good advice. Where would you suggest I start? I don’t know anything much at all about programming at the moment, but I do have a knack for picking up new computer skills fairly quickly.
Programming isn’t necessarily a “computer skill” per se; it’s really more of a specific way to approach problems. This type of stuff generally falls under the realm of “computer science”, i.e. Control Structures, Objects and Object-Oriented Programming, Data Structures, Algorithms, etc… When it comes time to actually practice the theory, that’s where learning a suitable programming language comes in since you need a way to practice and apply the concepts. But learning a specific programming language is not really the main goal with these lines of study. There are various texts and online/real-life computer science courses that cover many of these core topics.
Can I ask, what’s your goal with this self-study? From your OP, it doesn’t sound like you have a specific target job or job class in mind. I would expect someone who is interested in Data Analytics or Business Analyst jobs to be interested in SQL and Excel. On the other hand, I’d expect someone who is interested in Powershell to be looking for a Windows SysAdmin/Server Admin support job.
I’m more interested in the data analytics side of things because, at the moment, that seems to be where the money is. However, I’ve noticed that there are quite a lot of ads which specify a working knowledge of Powershell along with SQL and Excel. Given that I know next to nothing about these programs (except Excel. I’m a bit more competent than the average office worker when it comes to spreadsheets), I decided to look into all 3 and then take it from there. Based on this thread, it seems that Powershell may be the least relevant of the three so I might just dump that and focus on SQL and improving my Excel skills so I know how to use macros and things.
I had to Google “Powershell” so I’m not sure how useful that would be. Excel macros are great for doing stuff in Excel, but that’s the extent of it. You’ll get the most mileage out of SQL by far. Pick up the “Head First SQL” book and go from there. You could also go to w3schools.com and look at the SQL stuff there, but the Head First book is your best bet.
I learned just a smidge of SQL recently and it seems distinct and doable, whereas Excel just seems kind of… well, not very inspiring.
I vote that combining computer skills with other specialist skills is very valuable. For example if you know a lot about, say, manufacturing systems, and can combine that with SQL to have great ability to help companies figure themselves out, now, that would be valuable.
I agree on the SQL, and Python. Python is a very handy language because it can be the “glue” to put projects together using various data/languages, including SQL.
Python is a good introduction, but it’s almost too easy. Java and C++ are better to get an idea of the scope of skills needed in programming. But it just depends on what you are going to do. If you want to be a programmer start with Python or even JavaScript, but move on to more traditional languages to breadth and depth of complexity in programming. There’s another recent thread where I recommend against choosing programming as a career, you had better be really good at it if you want a job 10 or 20 years down the road. You’re better off developing a strong knowledge in a particular application area and applying any new technical skills to that. In healthcare IT a bad programmer with a strong knowledge of Healthcare Information Exchange protocols and content will have a job right now, a good programmer without that knowledge may not get hired.
I taught a “Visual Basic” course in years past, which included a few weeks on PowerShell. It’s Microsoft’s “batch” language, replacing VBScript, and is extremely powerful. It’s also extremely confusing, and unless you’re really up to speed on how Windows works (understanding directories and attributes, for example), it can be challenging. We used Brian Knittel’s Windows 7 and Vista Guide… which covers VBScript, batch files, WSH and even PowerShell, but its references to Vista makes it a little dated. Microsoft’s TechNet Script center has lots of examples. You need to know PowerShell to do modern Windows administration (or that’s what Microsoft says).
I’m also developing a short course on using VBA (Visual Basic for Applications) for a local business that wants to make their staff more efficient with Excel. The course will be 24 hours in length. I can’t guarantee that these “students” will know how to program, so I’m having them use one of the Excel VBA for Dummies books to start with.
We changed our introduction to programming course to teach Python now, using the Zelle book. Its early chapters introduce the Python language, but its later chapters moves into program design and development. If you’re totally new to programming, consider looking at this book. Python is the “hot” language to have on a resume, and I can recommend it if career building is your goal.
You kinda have to do both though. While I can write serviceable, correct, working code in pretty much any non-brainfuck language given a day and some documentation, anything more than a throwaway script is going to be garbage until I’m more familiar with the language. And if I haven’t used a language in several years I can lose the second-nature knowledge of the little quirks and APIs I used to use to write maintainable or performant code in that language.
Of course, at any job there’s going to be a few months of a “break in” period where you’re less productive anyway, but very few people are going to be able to write stunning code in an arbitrary language just because they know “programming”.
Seriously. I’m a visual learner, so I can’t say how much it will be true for others, but I learn languages twice as fast using Youtube as anything else. There is an immense amount of material there. Just search for ‘Introduction to SQL’ and you have dozens of videos to choose from.
The only thing I would add to this is Scala, which is essentially a (much needed) replacement for Java. I would agree with Chonos that you are well served by learing the fundamentals of programming over any specific language, but the languages you select to work in are kind of critical to how fast you will pick up programming fundamentals. Python is inarguably one of the best languages to learn both functional and object oriented progamming, while a ‘hardcore’ language like C++ will come with so much overhead that it is not really worth it unless you anticipate using that specific language. (Ditto with Java and C#.)
Excel is good to know just because it is ubiquitous and being able to do a little bit of macro scripting may impress the hell out of managers, but the core functionality is so limited and irritatingly inconsistent that you really don’t want to use it as a tool for complex applications. Most of the things people use Excel for could be better done in a relational database with SQL manipulations if people just knew how to do it. Do not bother learning Haskell or Lisp or Visual-whatever unless you have a specific application that you expect to be working it. If you want to get into real programming, start with Scala, or C, or Objective-C (the latter if you plan to be developing applications for iOS…it’s actually a really good language but with limited applicability).
If you want to be able to see actuall operating results from your coding I’d suggest purchaising an Arduino or Beaglebone board and sensors which allow you to use your code in an applied, sort-of-embedded manner. it isn’t a terribly salable skill but the cost is small and the ability to see something physically responding to your code is actually morale-building versus just learning a bunch of SQL query structures.
Good luck to you in your effort to expand your skills and find new employment.
I bought a script and because I am self thought I was tripping over simple error in the php config for about 2weeks. I give up decide to pay a guy off fiverr dude charged me $120.00 ! but just then I figured out my error and I fixed it felt really good not paying that kind of money
I am looking at courses on udemy right now