Tag: career

  • How do you learn the advanced stuff?

    Advanced Study is hard, but worth it when you want to get better at something

    I was talking with someone recently about features in SQL Server and they mentioned that partitioning was something DBAs should know. It’s only available in the Enterprise and Data Center editions for production use, but my friend noted that it works in Developer edition and felt there was no excuse for a DBA not being familiar with a feature that’s been out since SQL Server 2005, nearly four versions removed from its introduction.

    I can understand that, but if you don’t have the ability to actually tune large data sets and see the impact of partitioning in a larger, production environment, it’s easy to dismiss this as a feature that doesn’t provide many benefits in a smaller situation. The same could be said for clustering, SSIS imports, or any number of features that aren’t often used. So how do you actually learn to get some experience with these features?

    The first thing you need to do is get a copy of SQL Server Developer Edition and install it as a virtual machine on your primary computer. I use VMWare, but you could use Virtual PC, Hyper-V, or VirtualBox as well. The important thing to do is have a sandbox to play in and a machine you can easily copy, clone, or destroy as needed. I would recommend a base install of Windows and SQL Server DE, and then copy that for a machine you can experiment with.

    One way to learn is duplicate the work that someone else has done. Make a copy of your virtual machine and then implement partitioning as described in an article. See if you can duplicate the way the author used the feature and get the same results. If you can’t, find out why, and if you can, experiment with the feature and try to improve the author’s implementation. The SQLServerCentral Stairway Series is a great way to do this in SSIS, SSRS, or other features that you may never have seen. Set aside an hour or two a week to learn some feature. After a month or two, you might be surprised what you’ve learned.

    The most important is to understand how a feature works and gain some experience in using it. You might not become an expert, but being able to talk about the feature, and explain how you might use it in a situation comes from practice. That ability  might get you the project or job that allows you to become an expert over time.

    Steve Jones


    The Voice of the DBA Podcasts

  • Big Gaps

    Emacs was my favorite editor in college

    I saw this piece on Learning Unix from Miguel  de Icaza that brought back memories. Michael is a well known developer that is working an open source implementation of .NET called Mono. He worked at Microsoft and continues to bring .NET to other platforms, but he primarily works on Unix based systems. The post laments the lack of basic Unix knowledge and tricks from many of the developers he meets. His recommendation is a few books and tutorials to learn shell commands, emacs, and more.

    Those bring back memories for me since I learned to use emacs early in college. I went through tutorial and enjoyed the editor much more than vi and learned to take advantage of shell commands for quick scripts or tools that would make my programming tasks easier. Those skills helped me when I moved to the DOS/Windows world and scripted many tasks, and even helped in SQL Server with the scripting tasks is SSIS and SQLCMD. As I look over PowerShell scripts these days, I find myself seeing the same constructs as I saw in Korn shell, but with different syntax.

    As I read the piece, I asked myself a question over and over, which I couldn’t answer completely. I did, however think it would make a good Friday poll and decided to ask the rest of you for your opinion:

    What basics do you find many data professionals lacking and what do you recommend to help them?

    I know people need to learn how to back up a database, and they should learn T-SQL to some extent, but what basic skills would you point people towards? What books or resources would you recommend?

    I know we have some great basic articles here at SQLServerCentral that everyone should read, like Managing Transaction Logs. I think we’ve tried to address the basics with the Stairway series on various topics. However I’m sure there are holes in our catalog as well as some very common things that many of you would like to recommend to every DBA or developer. You have your chance today to help compile a list.

    Steve Jones


    The Voice of the DBA Podcasts

  • Free as in Beer

    My Favorite Beer

    This editorial was originally published on Feb 7, 2006.

    It’s amazing to me that someone can take the words from another and publish them as their own. I guess that’s why sites such as essayrelief.com. And why other sites like turnitin.com have sprung up to help combat that type of behavior. Actually if you want to get a great Christmas Present for your kid’s high school, get parents to raise money to subscribe to some plagiarism prevention service.

    Actually a Google search on “essay help” turned up entirely too many places where you can get an essay written. Amazing how many of these tout their essays as “100% non plagiarized”. I guess if you hire writers to write something, but that’s a small step away from stealing someone else’s work for profit or gain. It’s just plain wrong to hire someone to do your work, as is starting to happen on Rent a Coder, where people are paying to get computer science assignments completed for them. There was a great Wall Street Journal article on this very topic.

    And unfortunately, another article today from me on the same topic.

    This is a great quote from the WSJ:

    “This is a fairly simple program,” wrote “Goradia” of Sammamish, Wash. “It is my homework, but since I am busy, I want someone to do this for me.”

    If it’s so simple, just do it. It’s your work, you are paying (in college) to learn, or investing in yourself in high school. Just do the work and accept the grade for your work. I cannot fathom why people do not want to earn their own accomplishments. I guess there always will be people that cheat, but it’s still amazing to me.

    The only things you have in life are those that you earn and the mistakes you make. Enjoy them, relish them, learn from them, accept your failures and work to do better.

  • The Apprentice

    Vader's Apprentice: Hope tech work isn't this hard.

    It used to be that most serious developers went to college and studied CS. Those people that wanted to make a living programming computers became grounded in theory, struggled through assembler class, and understood the classic waterfall development technique. They could write bubble sorts and quick sorts, and could create and destroy pointers in thin air. At least in theory.

    As computer science curriculums evolved, they became more practical. Students no longer had to learn C or emacs (a shame, IMHO), but learned Java and .NET, working in nicely crafted IDEs like the ones they would use in the corporate world. Practical programming classes allowed students to build more rich and interesting applications, instead of just building virtual linked lists that  weren’t visualized outside of one’s imagination.

    At the same time, I’ve found that a larger and larger percentage of developers haven’t gone to college for a CS degree. Some have gotten other degrees, some just learned to program outside of school, and in both cases, they aren’t necessarily any better or worse than those developers with CS degrees. That leads me to this week’s question:

    Should we move to vocational developer training?

    We’ve asked the question before about whether a degree is required for a technology career, and I think most people agree it’s nice, but not necessary. However I’m wondering today if you think we ought to build better training for those people who are interested in computers, but don’t want to go to college (or can’t afford to). Should there be vocational schools that teach programming, maybe including apprenticeships with experienced professionals in the field.

    I think there is a place for some formal training in development, preferably including some C programming, but I’m not sure that I think a four year college degree is needed. I’d like to see a more practical, more affordable way for people to get bootstrapped into technology and begin a career, preferably with some apprenticeships that might build practical experience and good habits among younger coders and DBAs.

    Steve Jones


    The Voice of the DBA Podcasts