Tag: career

  • DP-900 Preparation Guide

    This is part of a series on my preparation for the DP-900 exam. This is the Microsoft Azure Data Fundamentals, part of a number of certification paths. You can read various posts I’ve created as part of this learning experience.

    I was asked to pursue a few Azure exams as part of Redgate’s partnership with Microsoft. I’ve been slowly studying some concepts and working towards exams in spare time, but getting more focused in January. I made this a part of my goals for 2022, and it’s been an interesting experience to work towards this exam.

    I’m providing an overview of my resources, and I’ll add new posts for various detailed items I found interesting with links as well.

    Overview of Preparation

    The first thing I did was look over the exam page. This lets the reader know what is being covered as well as the purpose of the exam. There is a note that some things have changed as of Oct 2021, and there is a new PDF to look at with the various areas being tested.

    Download the PDF.

    That’s first, and then check the scope of the exam. There is a lot here, including, but not limited to:

    • data workloads
    • relational Azure services (including PostgreSQL and MySQL/MariaDB)
    • Synapse
    • security (firewall, auth)
    • deployment options
    • query tools
    • DDL and DML
    • non-relational data
    • Azure Storage, Azure Files, Azure Tables, Azure queues
    • Azure CosmosDB
    • analytic workloads, including HD Insight, Databricks, ADS, and Synapse
    • Power BI

    That’s daunting.

    I also looked over some guides from others:

    This seems like a lot, but since the exam can only cover so much, I didn’t expect to be too detailed in each area. However, you do need to know quite a bit about a number of different areas.

    I looked over these, trying to determine what I knew and didn’t know. These gave me hints about which places to spend a little time. I didn’t watch all of the Andrew Brown video, but I did look over the others.

    Prep Process

    I started looking for an overview of each area. Microsoft Learning has some free reading courses, and sandboxes for practice, that I used. I went through these learning paths:

    These each are tens of minutes, but there is a lot of information to absorb about each area. Quite a few of these areas I hadn’t spent much time working in, so I found myself dropping into the MS Docs to get a little more clarification of the area.

    I also took the MS sample question test to get an idea of what I actually knew. I learned that I had quite a few holes in small areas, though overall I knew most of what was being covered.

    I haven’t taken the exam yet, as I’ve been spending an hour every 2-3 days going over some concept and trying to learn a solid overview of what it consists of and how it might be used for data work. Lots to learn here, and the thing I do like is that this forces me to actually dig into topics at a slightly deeper level and helps me to understand a bit more about the options in Azure.

    It also helps me to have better conversations with customers, which is important for my job. I’m not an expert, but I have an idea how of what Azure Table Storage is v. CosmosDB and can understand why someone might choose one of the other in a conversation. At least I can talk basics and know where to look for more detailed information.

  • Are You a Good Engineer?

    I would guess that many of us think we’re good at our jobs, or at least that we do a good job. Whether you’re a system administrator or software engineer, I’m sure you think you earn the compensation you get.  I wonder if others in your company would see you this way? If they know what you do as a job, and understand the role, then you should hope they see you a good engineer/admin. Perhaps you should even ask a few people if they do.

    There is a good thread about software engineers, talking about some of the things that make a good developer. It’s from a longtime engineer, and the thread talks about the things that you might consider important in a good software developer.  Actually, I think most of these items would apply to admins and even other business people.

    The first item in the thread really caught my eye because I see many people taking requirements as facts and then working to meet them exactly, or complaining and trying to avoid meeting them exactly. It isn’t often that I find people really digging in and trying to be a partner with their clients. Too often we’re too accepting or too argumentative, without trying to find a solution that makes the entire system better.

    The second item about not being a jerk is also important. It took me some time to learn that, and I still find too many people that think being right, or more talented, makes up for poor behavior. I’m sure it does in some places, but none where I’d want to work. Instead, follow the other advice and build relationships with others. That’s important, especially over time in your career. I know plenty of people who get poor recommendations from peers, and that causes them issues when looking for a job in their local area.

    There are some other items, but the one I find especially important is work ethic. Often hires need to be taught about our environment, even if they are the 10x engineer. I’d rather have someone willing to learn, someone I like working with, and someone that isn’t going to be afraid to work hard and help improve things. I’ll take those skills over past “expertise” in most situations.

    Steve Jones

    Listen to the podcast at Libsyn, Stitcher, Spotify, or iTunes.

  • A New Language

    In my life, I’ve mostly dealt with people that speak English. I tried Latin in high school and Japanese in university, but I wouldn’t say I learned a lot. This past year I’ve been working on Japanese (konichi wa) and French (Bonjour) on a regular basis, but I’m still fairly uni-lingual. At least compared to many of the people I’ve met in my travels that speak multiple languages. I’m mostly just trying to read a bit, and that’s quite hard.

    In my career, I haven’t met many technologists that only know one programming language. Even the SQL professionals know a little C# or a scripting language. Quite a few people know a bit about many languages, and some are very competent. I used to think it would be good to master one language before moving on, but I find that trying different languages can give you an appreciation for others, or even an appreciation for your primary one. Comparing and contrasting code might even help you learn faster.

    These days many of us are being asked to handle more tasks, and we may be required to support or work with code that others have written. As a result, I think it makes some sense to have a basic knowledge of other languages that you might encounter. I can often look at code in different languages and get an idea of what’s happening. I might even think about fixing simple bugs if needed.

    I saw a Data Exposed edition recently with Hamish Watson that was titled KQL: The Next Query Language You Need to Learn. I had heard of it, but never used it. After watching the episode I played with it a little. While I don’t know how important it is, I do appreciate I may run into it and will likely spend a small amount of time writing some queries and familiarizing myself with some of the common aggregates and other types of structures.

    Today I’m curious, which do you think you would learn as a next language? Not that you’d give up your current work in T-SQL or something else, but what else might be good for your career, or perhaps be exciting to you personally?

    I’ve enjoyed doing some work in Python and PowerShell over the last year, and time spent in R before that helped me appreciate those languages. There are places I’d choose to work in those over T-SQL, especially for data not already in a SQL Server.

    Take a moment and leave a comment: what new language would you like to learn and why?

    Steve Jones

     

    Listen to the podcast at Libsyn, Stitcher, Spotify, or iTunes.

  • Goals for 2022

    I set goals at the beginning of last year, and I’m doing the something similar this year.

    Last year I didn’t do well in my goals. I definitely had the resolution failure, where I ended up being more excited in Q1 than Q2 or Q3 and felt rushed to do more in Q4. This year, I want to re-examine how I do things a bit more.

    There are a few areas I want to build some competence in for future work, but I’m less worried about the ambitious aspect of improving myself for another job. I don’t want another job, at least not another full-time job I need for the income. I’m mid 50s, looking to retirement, and I want Redgate to be my last employer.

    Therefore, my goals are a mix of a few things that matter for Redgate and a couple personal ones that pique my interest.

    I also know that life and work will change, and my interests will rise and fall. As a result, I’m going to leave space to adjust and add goals in June. Therefore, I’m tackling less, but in these areas:

    • Work-Related
    • Fun and Personal
    • Community

    I do want these to be measurable, so I need specific goals I can check off as done or not, rather than a subjective measure.

    Work-Related

    Two big items here: DevOps and certification. I started the certification goal last year and did nothing until someone at work asked me to take a test for Partner status.

    Certification first. I need to do these items:

    I can measure those by pass or fail.

    I also need to expand my demo work a bit and include some other databases. As Redgate evolves, what I really want is a good DevOps demo that includes at least 3 different database platforms and allows me to demo things from our various offerings. I’d like to be able to demo something and have it go live during a talk or class. As a result, I’m aiming to build a DevOps flow, from a git repo to multiple database platforms to publishing something that can be viewed live. That likely means some sort of website that reads from a DB and displays information on a page. I need to include these things by year end:

    • repository with multiple folders for platforms
    • test platforms (likely containers) for 3 data stores
    • CI processes (3 ) that build from my repo.
    • A live website that reads from the dbs (3 pages or 3 sites), updating from real time deployments.

    Those would be good measurements. I also need to complete two books. The feedback book from last year and Good Strategy/Bad Strategy, which is used inside Redgate.

    Fun and Personal

    I had hoped the Advent of Code would capture my attention for more time, but as the puzzles get harder, and life outside of work is busy, this isn’t enough of a priority. I’ve been watching our Redgate developers work the 2021 puzzles at night, posting thoughts and struggles after work. Clearly I’m not enough of a developer to do this outside of work.

    I am looking to combine some of the things I do already outside of work with those career related items. I have a Google Sheet for stats that I share, and a PowerBI Desktop report. I need to get the data in a database and make it available for others. I want to play with some of the Azure stuff, so I’m looking to set up more of a “DevOps” style flow with functions and apps that takes data from my sheet and puts it into an Azure database. Then I can more easily publish this into PowerBI for a live report.

    The measurement here would be that I can update an XLS or db and have a Power BI report or a new XLS automatically generated.

    Community

    I am a supporter of the community where I can. I am hoping to see more events and do more speaking in 2022. I know that depends on how the pandemic goes, but I’m aiming to tackle these things:

    • Support the Colorado groups by speaking twice and helping get one event set up
    • Speak at 3 other user groups outside of Colorado
    • Support SQL Saturdays – Help get 10 events run in 2022
    • Volunteer more with Habitat – I want to get out to at least 4 build days.