Starting a SQL Career at 32?
June 17, 2015 3:36 AM   Subscribe

I am interested in a career in SQL databases. Is this worth it and how would I get started on it?

I have a very, very basic knowledge of SQL and would like to learn more (and possibly get a certification) with an eye towards a database career (I'm currently 32 so this would need to be on a relatively short timeline to be worth it).

1) Is this a good idea financially? Will there be enough jobs for me and will they be easy enough to get? I'm in a major east coast city.

2) What's the best way to learn about SQL databases? I do much better with in-person courses than self study. My priorities are, in order: learning, employment, certification of some kind.
2a) What program would best meet these needs? Microsoft or something else? The more specific the better.

2b) How do I find the best place to get this knowledge? The more specific the better. This must be an actual class with deadlines (in person or on-line), not self-guided study.
3) How much should I expect to spend on training and how many courses would I need to take?

4) How long would it take me from starting a course to getting a job?

5) How much could I expect to earn at an entry level SQL job?

If there are any other places I should be asking this question besides MetaFilter, that information would also be helpful. My top priorities are:

1) Deciding if this is a good idea.
2) Finding a place I can take classes.


If you need to contact me I can be reached at metafilter.sql@gmail.com. Thank you for your help.
posted by anonymous to Computers & Internet (14 answers total) 23 users marked this as a favorite
 
This is a broad question -- SQL and SQL-based databases are really common (my own group has dozens). A job related to them could be database administration or maintenance (anybody can run a setup wizard, but few can make the server sing), or writing stored procedures (SQL queries in a package) as part of a software development group (so you are working with business analysts and optimizing for speed), or even doing ad hoc reporting for a business unit (in which case you're still working with business analysts, but doing really rapid turnaround and learning a lot of business terms). What sorts of study have you already done?
posted by Mogur at 4:50 AM on June 17, 2015 [2 favorites]


Sorry, quick follow-up regarding your age. I started my IT career at 36, so 32 is not outlandish at all. I did have the advantage of training in statistics, which turned out to be a really good introduction to database querying.
posted by Mogur at 4:52 AM on June 17, 2015 [2 favorites]


SQL databases are common, but dedicated Database Administrator (search DBA) jobs are less common than they used to be. I think the DBA's role was split up between programmers and system admins in the last 10 years in an effort to cut costs. Except for very large database implementations, of course.

SQL knowledge as a skill set for a sysadmin or business analyst type job is quite valuable though.
posted by LoveHam at 5:00 AM on June 17, 2015 [3 favorites]


IANASQLADMIN, but I work with them everyday as a programmer:

There are any number of products out there, but Microsoft and Oracle are the big two in the medium/large size business category. Both offer accredited learning programs, for instance:

https://www.microsoft.com/learning/en-us/sql-training.aspx

It's pretty mature technology and not going anywhere anytime soon, and there will be work. But it is under competition from less tightly structured (and cheaper, faster) technologies. But SQL usually sits underneath a website these days, so keep an eye out for learning a little more of the stack (servers, websites, web-server languages like Java, C#, etc..), and eventually you might head toward those technologies too.

When it's good, you're providing reports and higher level information creation from wide streams of raw data. When it's bad it's 4PM on a Friday and the CTO is breathing down your neck because the migration and upgrade floundered and all the shiny reports are garbage and the company just lost 3x10^18 magic dollars because someone forgot a (NOLOCK) in the TPS report generator.
posted by nickggully at 6:00 AM on June 17, 2015 [3 favorites]


Your search should look into the terms "Business Intelligence" and "Data Warehousing". An entry level person would make around 50k in consulting. If you have good communication skills and pick up the skills quickly you'll probably never be without a job.
posted by sandmanwv at 6:26 AM on June 17, 2015 [3 favorites]


I suspect that one reason pure DBA jobs are getting scarcer is that the databases need less hands-on than they used to.

Most IT jobs require knowledge of more than one language. A web application might use four or five (e.g. Visual Basic, HTTP & extensions, javascript, SQL). I don't think that doing SQL as your main language would be an exception in most cases. Go ahead and learn SQL as a first step, but there is going to be more.
posted by SemiSalt at 6:32 AM on June 17, 2015 [1 favorite]


There are so many paths to doing SQL work. I agree that you don't find a lot of nothing-but-DBAs anymore, so I would not make that a career focus. It mostly takes care of itself if you set it up right.

There are various programmy careers that are SQL-centric - data warehousing, many flavors of Business Analyst or Business Intelligence specialists who are essentially report developers, and then there's all the people who work with and on software that sits on SQL, which is what I do for a living and pretty much have done since I was about 30. In the course of my day, I troubleshoot problems by digging around in SQL, write queries/views/stored procedures for reports (which might render in Excel or SQL Reporting Services or a proprietary reporting engine), maybe do a little SQL-facing VB or VBA. Today I'm doing an upgrade that requires hopping across two versions of SQL, so I've set up an intermediate server to use for the day and I've backed up and restored between them all about a dozen times. SQL is in the bullet points of my job description, but it's not in my title, and my colleagues have varying levels of experience with it even though we have the same job (we trade off work to our strengths).

There are many kinds of jobs that require a knowledge of SQL, but you do sort of need to consider it a tool in the toolbox that supports a more primary interest.

I have no idea about classes, I've only ever met a couple of people who "learned" SQL in a classroom and they were all MLIS degrees. Everyone else learned it at work, one emergency-google at a time. You might set up some job searches to see if you could stumble into a position that would give you exposure - support for a software product that uses SQL, for example - without requiring you to know much. I think in most parts of the country you can find a job like that in the 40s or maybe 50s if you have any contributing experience.
posted by Lyn Never at 6:49 AM on June 17, 2015 [3 favorites]


Oh, and if I could time-travel back to myself at the start of my tech career, the other secondary skill I would have told myself to learn alongside SQL and Windows admin would have been real, proper project management. If you're going to do anything SQL-adjacent, you will advance farther and faster if you have proactive leadership skills and can get things done relatively on-time, tested, documented, and delivered with a little bit of fanfare.
posted by Lyn Never at 6:58 AM on June 17, 2015 [4 favorites]


I'm another person like Lyn Never - and I'd echo her sentiment that most of the SQL people I have met did not study or certify in it directly - instead they got into it after building or being made responsible for applications that are SQL dependent. (The people I've met who covered it as part of CS degrees always seem to have covered it in a rather theoretical and abstract way - and then forgotten about it until they have to pick it up later).

You don't say why you are interested in SQL databases - and it might be helpful if you could explain this - since it would help us recommend specific options.

In terms of your age: in the land of IT SQL is already an ancient language - but it is baked into a huge variety of systems and (as much as one can predict anything in this field) - I would say that it is not going to vanish for a long time. Somebody who can understand how to get data in and out of a relation database in an effective and efficient manner is going to remain employable, in some form, for many years to come
posted by rongorongo at 8:20 AM on June 17, 2015


i don't believe there are very many roles that are 'write SQL routines all day every day'. in most shops i've worked at, that mostly falls on the devs' shoulders. data design, too. the dedicated DBAs are more about ensuring sufficient hardware configuration, information assurance activities like running audits, hardware and software optimization, clustering/failover design, dr-coop, etc.

i have one colleague who found a role that required writing lots and lots of reports using a reporting engine. i know a guy who did a year or so just writing etl for an enterprise stack migration.

ymmv
posted by j_curiouser at 9:40 AM on June 17, 2015 [1 favorite]


I never see job postings for "SQL programmer." Business analysts have to know SQL, but they have to know a million other things too. And BAs do a lot more Excel than they do SQL.

I do see ads for Oracle expert, Teradata expert, Postgres expert, etc. But this is more about administering the software so other people can write queries, not writing queries yourself.

Specializing in SAS or Salesforce might be closest to what you want. They aren't SQL-based exactly, but a lot of people are employed writing queries against these systems to answer business questions.
posted by miyabo at 10:07 AM on June 17, 2015


I haven't evaluated it, but Khan Academy has an Intro to SQL course that covers the basics of SQL and relational databases; this might be a good place to start. I rely almost exclusively on open source tools and have a strong preference for PostgreSQL as my RDBMS-of-choice, but you will probably find more beginner-level material / tutorials for MySQL if you are looking for a free database to play around with locally.

As others have mentioned, for a number of reasons (the rise of "Big Data" technologies, NoSQL databases, cloud-hosted datastores, etc), there is a general decrease in the demand for pure-DBA positions, though you'll still find them, particularly for large, traditional corporations. Regardless, proficiency in SQL is still a very desirable and useful skill-- if you are interested in data analysis or data science at all, and have at least some degree of familiarity with Python, R, Java, or Scala, you could look into Apache Spark (specifically, Spark SQL / Dataframes)...Spark is widely considered to be the successor to Hadoop in the "big data" world, though you certainly don't have to be dealing with large datasets to find Spark / SparkSQL useful-- I use it daily (usually just running on my local dev machine) for data exploration and analysis. You haven't mentioned what your techniical background is, and this route definitely requires a pretty wide array of technical skills, but there's a high demand in this area and for those with experience with these technologies, so I thought I would at least mention it.
posted by chaotic_neutral at 1:05 PM on June 17, 2015 [2 favorites]


As a programmer and manager of programmers, it's true that more SQL is being done by the programmers. It's also true that I have dealt with a lot of programmers who are *terrible* SQL programmers. The database designs are bad, the procs are slow, etc. Regardless of what path you go down, I would recommend starting out with a basic SQL book that discusses basic concepts like normalization - theory stuff - and then goes into the various types of queries and such. Being able to quickly write good queries is important. For example, if a developer job applicant has "SQL Server" on their resume I will start off asking "what is the difference between an INNER and OUTER join?" I would say something like 30% of applicants fail to answer this, which is in a very early chapter of SQL For Dummies, which is (no joke) how I first learned SQL. How could someone not know that?

If you want to be marketable, a "career in SQL" is going to cover a ton of stuff that's often specific to the various database vendors. For example if you are going to use MS SQL Server:

* Knowing SQL Server Management Studio
* Knowing Reporting Services, how to warehouse data, how to write SQL reports
* Knowing about backups and incremental vs. full backups
* various data types available in different SQL Server versions

Also more generally in addition to SQL query stuff you will want to know:

* how to design a database properly to fit a domain model (overlaps a lot with OO design in programming)
* triggers, keys, stuff like that
* indexes and database tuning (these are huge and lots of people who deal with databases are clueless about them)

As far as the age, not an issue. I have a biology degree and then did music stuff till age 27. At that point I didn't even know what a spreadsheet was! This is the advice a programmer friend gave me, and it worked out well (paraphrasing):

"Learn how to design a database and get data out with SQL. Learn how to program in some language and retrieve the data. Learn how to create some kind of user interface (probably web today) to let people interact with the data. After that, you should be able to get a job."
posted by freecellwizard at 1:10 PM on June 17, 2015 [4 favorites]


Not a dedicated DB person here, but a web dev who writes a lot of SQL. I don't doubt that DBA-types will be around for a long time - I mean, big business still needs COBOL programmers. And that's an unfair comparison because I don't think I'd say relational databases are being obsoleted - there's just been a proliferation of data storage solutions that are a better fit for some problems. Unless they've switched it up in the last couple years, even Facebook for example is still built on MySQL - in their case employing a team that does things like modifying the internals for maximum performance. At some point I was expecting stuff like Oracle to be eaten away by the free/open source options but it seems like so far the OSS SQL choices are competing with the OSS NoSQL choices while Ellison and co. sit pretty and serve their traditionalist market. There is a movement though toward DB as a service with the under-the-hood part managed somewhere else with as much automation as possible - and I'd expect that's not good for DBAs unless you work for Google.

Why is this what you find appealing over general software development/IT? The prospect of steady employment without having to chase new technologies all the time? The well-defined goal of getting a certification? My upshot here is I don't think demand for relational DB skills is going to go away, but I'd see better (and more interesting) prospects in developing a more diverse understanding of Big Data and associated technologies than in going for an Oracle specialty or whatever. But I'm half a decade younger, a few years into a programming career, so I see why the cert. might sound good.
posted by atoxyl at 5:39 PM on June 18, 2015 [1 favorite]


« Older Why did he not respond after our first date and...   |   Clients who don't have their shit together. Newer »
This thread is closed to new comments.