Blockades and ladders to learning new tech

It’s been a long time since I’ve been a true newbie to a technology. There are plenty of things I don’t use, don’t know, wouldn’t be able to do for a job, of course. But as a professional and a consultant, most of what you do is at least remotely tied to what you already know.

But now, I’m learning two new things. I’m learning C#, because I’ve been meaning to for a very long time. And I’m learning MySQL, because it’s becoming important to more than one of my clients. And at the same time, I’m teaching SQL Server to a brand new, still-in-college junior DBA. I’ve got learning on my mind.

Teaching a Newbie

I like teaching beginner material. My own beginner’s frustrations are still very clear to me, and so I spend a lot of time trying to ease the way for other people. I like to show folks what’s important, what’s easy to misunderstand, where the good resources are, and all that.

So I make videos, I write blogs, I make myself available to answer questions. More often than not, if I find myself explaining the same extended topic more than once, I’ll make a session out of it, present it at user groups and SQL Saturdays, and put the recording online. I make sure the perspective is geared for someone who doesn’t know the way yet.

Learning as a Semi-Newbie

I like a small mix of inputs to learn a technology. I read, I toy around with it, and I try to get someone to explain it to me – either in person, or failing that, via recorded tutorials.

For C#, I’m starting out with some very well put together private tutorials from my friend Justin Dearing (blog | twitter). We’re recording these sessions, with the intent to publish the videos on MidnightDBA.com.  For me, this is the ideal way to learn: someone who’s good at what they do, interested in teaching me, and put together enough to plan and follow through. Plus, it’s recorded, so I can (and will) revisit the material and take more notes. Personalized, reinforced, repeatable.

I’m not entirely “new” to programming; it’s what I studied in high school and college. But that was (a) a long time ago, and (b) about seventy thousand IT evolutions ago. Things have changed a bit, though the landscape is still familiar.

Learning as a sort-of-total Newbie

For MySQL, I’m skimming through the MySQL Reference Manual on Dev.mysql.com. Classic RTFM, and in this case the manual’s actually decent.  I’m taking notes and trying things out (using the mysql.exe utility) as I go, and a lot of the material – especially the SQL code itself – is very familiar to me.

But, I’ve suddenly run into something that puts me way back in college, or even high school:  Where do you go to get the good materials? Who actually knows what they’re talking about?  Where can I find the context to the MySQL world that I already have for SQL Server?

See, I have no idea which of the (seemingly) hundred utilities are most important, and which are essentially useless. I don’t know what performance issues and administrative tasks need the most attention. I have no idea at this point how to tell the charlatans from the knowledgeable bloggers, the bad books from the masterpieces.

But here’s the good thing about experience: while you may be completely new to a subject, you’ve already learned how to find the best information. Me? I find the best thing is to ask around, and I can do that with the magic of Twitter, Google+, and more. I can search around the internet for groups dedicated to MySQL, and even (I imagine) find user groups.  When it comes to technology, the tendency is that you get better answers if you aggregate quite a lot of sample input.

So, I’m off to ask 10,000 people what the best way is to learn MySQL.

Happy days,
Jen McCown
MidnightDBA.com/Jen

4 thoughts on “Blockades and ladders to learning new tech

  1. Justin Dearing (@zippy1981)

    I’m not a big fan of the dolphin (my disparaging term for MySQL because of its mascot). it does have a pretty good manual though. Its been a while since i touched the thing. Here are some pointers:

    * It works fine on windows, but if your clients run unix you might want to play with it on a unix VM to get used to unixy stuff
    * Two “quick wins” for performance tools were the slow query log and mysqltop. The slow query log is built in and self explanatory. A text file that long queries get appended to. Mysqltop is an interactive list of sessions
    * I’ve seen the new cool GUI for mysql administration. Its interesting, but I usually use the command line interface. Thats just preference though.
    * There are multiple table storage formats. The two main ones are myIsam and Innodb. MyIsam was the original one. Its faster and less featureful. Innodb lets you use all sorts of obscure features like foreign keys. There are interesting ones like memory only, and I think a CSV based one that are sometimes useful
    * The backup command is mysqldump. The backup format is SQL scripts to recreate schema and insert data. This might have changed
    * On unix, its pretty popular to backup a database by locking the db to get it in a consustant state and making the LVM equivilant of a shadow copy of the files.
    * The Datetime functions are awesome. You use LIMIT instead of TOP. BTW, LIMIT is in the ANSI standard, so in this case SQL Server is wrong and MYSql is right

  2. Chris Nelson

    I also recommend PluralSight, but for C# training. Check out how dictionaries work in C#, they are awesome data structures that you will find in other languages like Python.

    Also not a big fan of MySQL/MariaDB, I tend to use SQLite for the quick stuff and PostgreSQL for the heavy work. SQL Server is limited to the day job at the cowboy shop.

    PS: Need some MidnightDBA videos, I got the DTs…

Comments are closed.