Tag: career

  • Skill Supply and Demand

    Across my career, I’ve seen many managers and executives promote and press for IT groups to consider alternative technologies. The mass media has often promoted new platforms and languages as a more efficient way to build software. Some of their claims might be true, but I think there’s a much bigger factor than technology in how well your software is written.

    Your employees’ skills are probably the most important influence on the quality of your systems. The technology doesn’t matter if the staff doesn’t understand it. I think it’s even more important to be sure that you can replace your staff. People will come and go in your organization.

    I was reading about the development of RavenDB, which is a another platform. It’s written in C#, and the maintainer of the project was asked about moving to F#. His answer, which I found fascinating, was about the supply of F# programmers, both in numbers and cost. There is a lot of debate in the comments, and I find it interesting how differently many people see the world with regards to this issue.

    I think about this as we look at NoSQL platforms, or even other RDBMSes. How easy would it be to dramatically port your software to another data store? Probably not easy, and not inexpensive. The time for training and rewriting code would be very expensive, so much so that it’s often not worth the effort. However the more esoteric your choice of platform, the more difficult it can be to find staff that can even manage your system.

    I don’t think any of the main RDBMSes have a shortage of talented people, but I do think that it can be hard to find employees in some of the NoSQL systems. While I think most smart people could learn a new system, it has to be worth it to your organization to pay someone to learn a new skill.

    Steve Jones

    The Voice of the DBA Podcast

    Listen to the MP3 Audio ( 2.7MB) podcast or subscribe to the feed at iTunes and LibSyn.

  • Your Job

    This quote is a great:  “I don’t really care if your code runs locally. If your code just runs locally, then my only option is to sell your computer so that our users can use our software, and that really doesn’t scale.” That quote is from an open letter to engineers and talks about what the job of a software engineer really is. It’s not just to write code, but to make sure our code and the entire system works for users.

    That’s important. It doesn’t matter how well you code if the application only works on your machine. We traditionally haven’t been great at getting code from one system to another and ensuring it works, at least not in a smooth fashion. We haven’t really followed an “engineering” process when we write, and deploy, software.

    The DevOps movement is changing this a big, bringing automation, scripting, and repeatability to both software development and operational deployment. All of these things should help us adhere to a more repeatable engineering practice. The commoditization of powerful hardware has also helped as many client environments might be nearly as powerful as development systems these days. It also means that our test systems can be good substitutes for production systems, at least if we can quickly build up and tear down large virtual environments.

    However we still need to be sure that we always remember that our code needs to work on other systems. Whether it has to scale down to meet the needs mobile devices or slightly older browsers and desktops, or our code needs scale up to handle thousands of times more transactions on a production database server than it processes on our laptops. We have to always consider the needs of the end user environment as we develop software. We need to test it in those situations, and broaden our skills to ensure that our applications satisfy the needs of the clients. And, of course, we should be able to quickly and easily deploy our changes to any other environment.

    Steve Jones

     

    The Voice of the DBA Podcast

    Listen to the MP3 Audio ( 2.1MB) podcast or subscribe to the feed at iTunes and LibSyn.

  • Boring or Scripting

    Do you want to continue to perform boring, repetitive, mundane tasks as a part of your job? Many of you might not be challenged at work, or you might be burdened with a series of requests that repeat themselves over and over. They’re easy tasks, many of them probably take minutes. I’m sure there’s also a level of mindlessness that you find comforting at times with just working through a familiar task.

    However many of you also get busy. You have no shortage of new tasks that get assigned to you on a regular basis. You probably also get stressed from your heavy workload at times. What do you do when you’re too busy to work through the mundane tasks, but they still need to be done? It can be a challenge to manage that burst in a workload if you haven’t prepared for it.

    There is a way to remove some of the mundane administrative work from your job. It’s not simple, and it’s not going to solve all your issues right away, but over time, you can certainly reduce the burden of working on dull tasks over and over again, across multiple machines.

    Learning PowerShell (PoSh) or some other scripting language. VBScript works fine, as does Perl, and there are others, but if you’re a Microsoft person, especially a SQL Server person, learn PoSh. It’s used in all the products, it’s becoming a standard for all Microsoft products, it works in the cloud, and it works with SQL Server. It takes some getting used to, and it certainly can help with repetitive tasks. It can also run all your SQL scripts for you, just in a more automated fashion.

    You can grow your career, add a new skill, reduce your workload, and become more efficient at your job.

    Or continue to be boring.

    Steve Jones

    The Voice of the DBA Podcast

    Listen to the MP3 Audio ( 2.3MB) podcast or subscribe to the feed at iTunes and LibSyn.

     

  • The April Blogger Challenge

    I’d encourage you to take Ed Leighton-Dick’s challenge to blog in April. Read his post, start writing, and put your post out there. Tweet about it, and be proud.

    However, if you’ve never blogged, I have a modification for you. Publish privately. The important thing is to just start writing and communicating.

    If you’re looking for help getting started, I’ve got a few posts for you:

    Blogging is a great way to give potential employers some insight into who you are. My view is this can only help you find a better job that’s a good fit for you. If you work at it and to it well.