Tag: career2

  • We’re not craftsmen and craftswomen

    We’re just not, we’re not craftspeople, at least not most of us. We do what we need to do at work. We get systems working just enough. We get by. That’s a little sad, and one of my goals is to get as many of you as possible to think of yourselves as craftspeople, not technology workers.

    Jerry Rice was the best at his craft, and yet he continued to put in work on The Hill as though he were trying to catch others rather than the other way around. David Marks and Norm Abram are professionals, and while they need to complete projects to earn money, they also recognize that “just getting it done” is not enough. Doing just enough to complete a job is the sign of a amateur, not a craftsman.

    There are constraints in our business. We never have enough time, money, or all too often, specifications, when we are working with technology. We need to be effective and make things work. However that doesn’t mean doing the bare minimum to be functional.

    We should aim to be professionals, and part of being a professional is continuing to improve our skills over time. Professionals continue to learn; amateurs do not. We should consider new ideas and techniques, dig into new technologies, and avoid shortcuts. Most importantly, we should do the job that we would want someone to do for us.

    We do have lives outside of work, and outside of our careers. However it’s not an either/or, but a balance that we should strive for between work and life. We can include regular education, and consistent improvement over time as we complete work. We balance that by remembering to appreciate and enjoy our lives outside of our chosen profession.

    Steve Jones

    The Voice of the DBA Podcast

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

    The Voice of the DBA podcast features music by Everyday Jones. No relation, but I stumbled on to them and really like the music. Support this great duo at www.everydayjones.com.

  • Double Checks

    It’s not the discount double check, but I am a fan of processes that are built to check other processes. When I have a process that runs, or data quality that should be checked, or some other system where I can potentially have a failure, I like to write a separate check, as an independent process, that ensures work is done correctly.

    Why? Because things go wrong. Most of us schedule a process, like an ETL job, and we assign failure notification (and potentially success notification). If the process succeeds or fails, we get notified. However, what happens if the process doesn’t run? In our busy lives, we might not notice that the success email is missing. What if the process runs incorrectly? Do we have some other process that looks for data to be correct, or even present?

    A second (or third) check can make all the difference in the world between operations that appear to run smoothly for our clients, and those processes that always seem to fail. Even if the process fails, if you get notified quickly, you can potentially fix it before your clients notice. That makes you look more professional, but it’s also what should happen. You should ensure things run smoothly.

    An independent check is also a good security check. Brian Kelley wrote a piece about people tampering with your processes. Would you be aware if that happened? Most people would not, unless they have some auditing, or independent processes that looks for potential security issues.

    There are all sorts of mechanisms to perform checks for you, such as GPOs, Policy Based Management, and more, but have you enabled or scheduled them? Anywhere you have automated processes, you should consider writing separate checks and scheduling them to be sure your processes are running correctly.

    Steve Jones

    The Voice of the DBA Podcast

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

    The Voice of the DBA podcast features music by Everyday Jones. No relation, but I stumbled on to them and really like the music. Support this great duo at www.everydayjones.com.

  • No Bosses

    Zappos has been a successful company in a number of ways. In addition to tremendous profits, they’ve shown that they can provide amazing customer service by empowering individual employees. Now they’re taking another step forward as they move the company to holacracy and eliminate the traditional managers from managing people.

    The idea in this new structure is that leaders are responsible for circles of people, and employees may be part of numerous circles. It sounds to me as though this is close to the early stages of startup companies where each person has to wear many hats and be responsible for a variety of tasks. I’ve had to manage databases, back up system administrators and Exchange administrators, and even work with telecommunications providers and ISPs at some small companies. All while taking direction from people I didn’t report to.

    It sounds like it’s a structure that many IT people would enjoy. Be responsible for getting work done on different projects or areas, but managing your own efforts, schedule, and priorities. Many of the technology professionals I’ve known like to be assigned work, given a deadline, and then left alone, working at their own pace and schedule to get things done.

    There have been some smaller companies that have embraced this idea, but Zappos, at 1,500 people, is the largest. It will be interesting to see if they can make it work. Time will tell, and I am hoping that Tony Hsieh will update us, perhaps with another talk or lecture that describes the culture inside the company. I rooting for this to work because I do subscribe to the ideas that we are driven by autonomy, mastery, and purpose. I see structures that free people up while requiring responsibility as the best way to move a company forward.

    Steve Jones

    The Voice of the DBA Podcast

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

    The Voice of the DBA podcast features music by Everyday Jones. No relation, but I stumbled on to them and really like the music. Support this great duo at www.everydayjones.com.

  • The Powershell Challenge Day 9 – The Pipelines, deeper

    This is part of my Powershell Challenge, to learn more about PowerShell (PoSh) using the Learn Windows Powershell 3 in a Month of Lunches book by Don Jones.

    The authors note this is an optional chapter, one that isn’t necessarily one you need to read. After going through it, I’m not sure I agree, especially as I’m not completely sure I grasp all the contents, though I do think they will be handy.

    When you pipe output from one command to another in Unix, it’s really a text stream. Just as it would be written to stdout, it’s sent to the next command. That means your commands need to handle text as inputs.

    In PoSh, if I understand this, that’s not the case. The inputs into commands are through parameters for the most part. That means that the output from one command, which is a collection of objects, needs to be accepted in the next. For many commands, that doesn’t quite work.

    There are two methods of sending in parameters. One is input ByValue, which is a parameter binding method. In this method, PoSh looks at the type of parameter being sent in, in essence the object type (or data type) and matches to a parameter if the parameter accepts pipeline input. Not all do, and you need to read the HELP for a command to see which parameters accept pipeline input. That seem mis-named to me. It’s ByType, not ByValue in my mind, but I’m certainly not a PoSh expert.

    The other way is ByPropertyName, which is as it implies, by name. The object coming in has its name matched with the parameters of the command on the other side of the pipeline.  That makes more sense, though there are times that the names don’t match.

    That’s where you can then create custom properties with the Select-Object syntax that creates name/value pairs from your input. It looks like handy, not too complex, but cumbersome syntax. I’ll have to play with this more as I had to work through some exercises and carefully watch my parens and braces (opening and closing) as I typed in some commands.

    One thing that frustrated me slightly with these exercises is that a bunch of them looked at multiple machines, and I don’t have a domain at the present time with matching credentials. I couldn’t figure out (easily) how to connect to another machine with custom credentials for Get-Process and Get-Service, but I also was running short of time this lunch, so I skipped.

    The lab was analysis without using PoSh, since many people reading the book might not be admins on a domain. I got most of the answers right, but not always the explanation. I certainly think I need to play with this more, and that means I’ll stand up a domain here soon that I can use. I need to do that anyway.

    The custom properties, along with the introduction of parens for order of operations, make this a must read chapter for me. I think the authors shouldn’t caveat this one at all.