Category Archives: Uncategorized

T-SQL Tuesday #131: Power BI ELI5

T-SQL Tuesday Logo

This month’s T-SQL Tuesday asks us to explain a concept like the audience like they are 5 years old. I’ve decided to literally do that.

Do you like jelly beans? I like jelly beans. Imagine if you had a big, big bowl of jelly beans.

assorted flavors of jelly beans

How many jelly beans do you have? Can you tell by looking? I think you would have to count and it would take a very long time. Well, computers are good at counting! We could teach a computer to count our jelly beans and tell us how many Jelly beans we have. Using a program called Power BI, the computer can tell us we have 800 jelly beans! That’s a lot of jelly beans.
card visual

Do you have a favorite flavor of jelly beans? I really like the pink ones that taste like bubble gum.

multicolored candies on white ceramic bowl

What if we could tell the computer to count by flavor? We could then see how many we have total and how many by flavor.

Card visual and bar chart

Wait a minute! We have a bunch of cinnamon jelly beans, ew. I can’t stand cinnamon jelly beans. I will probably give them to my mom. I want to hide the cinnamon jelly beans, to see how many tasty ones I have. We can add a filter to look at specific flavors.

Card visual, bard chart and filter visual

We can even add categories of things, so we don’t have to remember which flavors are good and which flavors are bad.

Card visual, bard chart and filter visual, grouped by flavor
Oh good, we have 700 tasty flavors and 100 gross flavors. Okay, I want you to imagine one more thing. Imagine instead of one bowl of jelly beans, you had 100 jelly bean dispensers and you owned a whole jelly bean store!

candy dispenser lot

Well now we *really* need a computer to count everything. We want to know when a dispenser is empty. We want to know which flavors are most popular. Some people actually like cinnamon jelly beans. Gross! But if you own a store, you have to buy and sell the flavors people want.

Power BI is a program that helps business owners count everything going on in their stores. It helps them count everything but also let’s them look at little details like a single flavor or a single dispenser. Power BI helps store owners make more money and sell people’s favorite candy!

Lessons learned from being self-employed, 2 years in

Two years ago I quit my job and started working for myself. After two years, I think most people would look at it as a big success, I’m now finally able to make a stable living doing what I want. As we enter a recession, I know a lot of people would be grateful to be in my position.

But I’m also vaguely dissatisfied, because the past two years have have been an unfocused 24 months, running around putting out fires and trying to pay the bills. After 4 years of work, Pluralsight revenue pays a reasonable salary and I can take a peaceful vacation. When I come back from my cabin trip next week, I’m hoping to have a better idea of what the next 4 years will look like.

Four years from idea to full-time income

Four years ago, a friend convinced me to think bigger and in March 2016 I applied to be a Pluralsight author. I have never spoken at any large conference, I didn’t have any impressive credentials, and I didn’t expect to be accepted. But it turns out the hard part isn’t getting your foot in the door, but getting your audition approved. Imagine doing a recorded lightning talk that has to convey a technical concept but also tells a story.

It took about a year to go from starting the audition to getting my first course being published. A lot of this was delays from underestimating just how difficult it would be to make my first course, taking 140 hours plus some outsourced editing. All of this was during nights and weekends while working a full time job.

Chart showing7 courses released over 7 years, with revenue slowly increasing during that time.

The chart above is the 3 years it took to go from first course to full-time income. And while I can’t share exact numbers I’ve got two dotted lines there. The first one, in grey, is the bare minimum I would need to make, in addition to my husband’s income, to cover our minimum expenses. This includes paying $900 per month for our own health insurance.

The green dotted line is what I’d need to make to cover our expenses and live comfortably here in the Greater Pittsburgh Area. Additionally each orange dot is a new course being published. I’ve also labeled when I went part time, when I quit my job, when the Power BI learning path came out (with 5 of my courses in it), and the Free April promotion that brought in a lot of new users.

Two years of juggling and struggling

I think one of the key takeaways from the chart above is it took nearly a year of working for myself before my courses could cover by base expenses, and another 8 months before I could finally breathe and not worry where my next paycheck was coming from. During that time, I was trying to do consulting jobs to pay the bills, while completing the next course.

The whole of is chart is punctuated by moments of luck and risk. I was lucky that my second course, on DAX, was enough of a hit that I was about to go part time. It was a big risk quitting my job, since it took a year to get somewhere stable. Both times I hit one of those financial goals were because of an external event. The first was the release of the Power BI learning path, which increased viewership. The second was the FreeApril promotion, which brought in a lot of new viewers, many of which wanted to learn about Power BI.

Success comes from rhythm and routine

The reason I feel dissatisfied is that success comes from rhythm and routine. When you work for yourself, you are the only person rowing. You are the only person blogging, speaking, marketing, etc. And either you find a weekly routine that keeps you going through the difficult times or you will struggle and have moments of no momentum.

In retrospect, trying to do consulting and content creation at the same time has been a great way to diversify my income. As we enter a recession, I see the consulting work drying up and at least one friend going back into regular employment. But it has been challenging balancing the two. Consulting work is all hurry up and wait. Content creation is a slow and steady focus. The two always seem to be in conflict.

I never quite hit a solid rhythm and with Coronavirus happening, all of my extracurricular activities have stopped. No newsletter, no blogging, no presenting. I think this has happened to a lot of people, and I admire the folks who have been putting out weekly content during a global pandemic. When I come back from my vacation, my biggest priority is starting up a new rhythm.

Would I do it again?

I would absolutely do it all over. I wish I had been smarter about some things, but the hard part is over. I don’t need to worry about being fired, or losing my job during a recession. I’ve been able to visit my mom three days a week without worrying about an angry boss or work conflicts.

So am I going to keep consulting? Yes! I think that being a full-time author runs the risk of losing touch with the technology and where things are going. Consulting forces you to be grounded. I think doing a blend is great when you can do it, and awful when you are still figuring it out.

Five ways to reduce impostor syndrome

T-SQL-Tuesday-Logo
This T-SQL Tuesday is about Impostor Syndrome. I think that the term gets used in a broader context than the original meaning. From Wikipedia:

Imposter Syndrome is a psychological pattern in which one doubts one’s accomplishments and has a persistent internalized fear of being exposed as a “fraud”. Despite external evidence of their competence, those experiencing this phenomenon remain convinced that they are frauds, and do not deserve all they have achieved.

To me, it’s a syndrome when there is a persistent fear of being outed as a fraud. But I think there is a broader and more diffuse feeling of one’s skills falling short of what is expected or what other people perceive. I think a lot of people mean this when they say impostor syndrome. Heck, it might even apply to a broader sense of “winging it” or figuring it out as you go.

In this blog post I’m going to list concrete steps that have helped me fight this sense that I might be a fraud or don’t know what I’m doing. I personally believe it’s a tractable problem.

Pursue a growth mindset

Do you feel that you are born with a certain amount of intelligence and talent, or do you feel that it is something you can grow? When I was young, I felt that you were born with a certain IQ or a certain amount of smarts. The problem with this mindset is when you encounter evidence contrary.

Let’s say you screw something up at work. If you believe that you have a fixed amount of intelligence or skills, then you will see this a reflective of you as a person. If you have a growth mindset you are less likely to see this as reflective of you as a whole.

Build a peer network

So much of imposter syndrome can be broken down into two things: a disconnect with reality and a sense of invalidation. The disconnect is that, unless you are an actual fraud, your thoughts and feelings are not lining up with reality. In cognitive behavioral therapy, these things are called cognitive distortions.

The invalidation is the sense that this isn’t normal. That you are alone or unusual in the struggles you are having. That you should be feeling x or doing Y.

In both cases, having a peer network can ground you. Hearing other peoples experiences can be validating and reassuring. You’d be surprised how many of us are winging it. You’d be surprised how many of us have been handed a task and need to figure it out on the fly. For example, I am probably going to do a course on Azure Event Hubs and I know absolutely nothing about them.

Focus on just-in-time learning

In consulting, if you never say “I don’t know”, then you are full of crap. You can’t know everything. If you merely say “I don’t know”, then you are a fool. A good consultant says “I don’t know, but I can find out!”. That is one of the keys of consulting.

So much of my confidence in working as a consultant is knowing that I have a strong peer network I can reach out to. So much is knowing I have a strategy for just in time learning.

One way to do this is to practice presenting and blogging as a way of practicing your research skills. Another is to work on home labs. Multiple times I’ve had to learn something new like mirroring or availability groups for a customer job. By doing those home labs I was able to build confidence for the project as well as confidence for future learnings.

Present, write, and teach

A lot of this vague unease comes from never achieving mastery in a specific area. From those lingering unknown unknowns. One way to rout out those unknown unknowns is to create and share content on the subject.

Doing so will force you to think through the subject, to think through what questions people might ask. The first dozen presentations might be a bit rough. But as you continue, you’ll have a better sense of what it means to really know a topic.

Do paid consulting

I realize this simply isn’t an option for most people. Consulting can be stressful and anxiety inducing, especially if you are struggling with impostor syndrome. But it’s amazing how good it feels to charge for a project and by the end of it have a happy customer.

I still giggle when I tell people my hourly rate, and I keep expecting to get pushback about being too expensive. But it doesn’t happen. It turns out that other people value my time and skills more than I do.

Summary

My suggestions boil down to three things:

  1. Build confidence in your ability to learn on-demand
  2. Experience mastery through content creation
  3. Find people who value your skills enough to pay for them

Where do people get stuck with Power BI?

I was recently talking to a potential customer about getting started in Power BI. A question they asked me was essentially “What are the difficult parts of Power BI, how do these engagements usually go?”. This was a really interesting question and for me a lot of customer engagements fall under two broad categories.

The lost and confused. A lot of potential customers are just starting to look into Power BI. They cans see what it can do, they understand what it is for, but they have questions. Generally these questions are all about governance and implementation. How do we deploy Power BI? How do we license Power BI? How do we secure it?

This is a reasonable challenge because Power BI has a lot of nooks and crannies. It has a bunch of ways to deploy it and a bunch of ways to license it, and it seems like that add a new one every 6 months. For these customers they generally just seem to be concerned about the unknown unknowns out there. Usually after that first hour, that seems to be all the help they need.

The out of control. These customers have made an investment in Power BI. These customers have started creating reports and seeing result. The problem here is scaling their reports. M and DAX have goofy learning curves. Both start out easy, but get incredibly difficult when you try to do more complex things. Maybe reading CSV files was easy, but now you need to work with a web api now. Maybe your report was fast when it was 60 MB. But now your measure or more complex and you have 250 MB of data and it is slow. These customers need help applying good data modeling and optimizing those models.

Resources for Freelancers – Free and Paid

In my experience , working for yourself provides a unique set of challenges and required skills. You need to learn how to work on your business, not just in your business. You have to become your marketing, sales and HR departments. Without useful resources, I undoubtedly would have failed as a freelancer. Below is a list of resources I would recommend to anyone getting started as a freelancer.

Blog posts

As I’ve made the leap to working for myself, I’ve written a set of “lessons learned” posts.

Podcasts

Podcasts are my most valuable resource, because they provide a slow drip of insight and expertise. Listening to a podcast provides a regular insight on how other think about this stuff, without a large commitment.

  • Business of Authority. This is my #1 recommendation in podcasts. Rochelle and John are focused and understandable. This isn’t some 2 hour rambling podcast. They provide expertise from very different types of businesses. Every week I enjoy listening to this.
  • Ditching Hourly. John continually beats the drum of “hourly work is bad”. Even if you never switch to a flat-rate model, this podcast will help you think of yourself as a business, not as a technician.
  • Startups for the Rest of Us. While the topic is startups, the actual focus is small businesses. If you are a business, this podcast will have something for you.
  • The Freelancer’s Show. More of a casual chat format, this show regularly has lived experiences from developers working for themselves.
  • Finish your Damn Course. If you are a freelancer, you should consider offering products, not just services. Janelle interviews a wide variety of guest who are making training courses on wildly different subjects.
  • Creative Class. This podcast is generally only active when the Creative Class course is open for enrollment. I love the easy style Kaleigh and Paul have when talking about freelancing.
  • Building a Story Brand. Marketing isn’t always fun or intuitive work, but it is important. Donald Miller explains marketing in wonderful down to earth terms.

Books

Sometimes you need to read a book to get a core idea to stick. Many of these books are also available as audio books, so even if you are busy you can listen to them while exercising or cleaning.

    • Consulting
      • Getting Started in Consulting. If you travel, you probably have a checklist of everything to pack. This book is a big checklist of everything for starting your consulting business.
      • The Secrets of Consulting. Consulting is the art of telling people they are wrong without them having to admit it. This is a fun read on all the weirdness of being a consultant.

  • Running a business
    • The E-Myth. So many of us go freelance because we are great technicians. But we also have to be managers and entrepreneurs, and much as we might hate it. This book covers that through a great parable.Company of One. I absolutely love Paul’s approach to running your own company. This is a great book for thinking about the unique advantage of running a company of one.
    • Building a Story Brand. If you buy one book on marketing, buy this. It is the most intuitive, plain-English explanation of what marketing is that I have ever seen.
    • Built to Sell. While it’s almost impossible to sell a one person business, it’s important to think about it anyway. Much of your work can be automated or outsources, but you have to work hard to identify which parts.
  • Productivity
    • Getting Things Done. The best book I ever read on productivity. A series of simple guidelines for defining and organizing your work.
    • Atomic Habits. One of the hardest parts of working for myself was rebuilding structure and routine. This is a great book on the subject, very practical.
    • The Phoenix Project. While technically a book about IT management, there is insight for everyone. I found this book tremendous in helping me think of work as a flow and not just concrete tasks.
  • Communication

Courses

I’ve only taken one course for freelancing and the was the Creative Class course by Kaleigh and Paul Jarvis. If you are brand new to freelancing, I would consider this but definitely listen to their podcast before you buy. The content is easy to follow and enjoyable, but quite introductory. If you’ve been doing this a year or more, you likely won’t get as much value out of this course.

Software

There are tons of pieces of software out there for running a business, but here are some I have had experience with.

  • Toggl. I use toggle to track my time spent. Having a weekly timesheet makes it easy to track billable hours and review what my focus is.
  • Trello. If you need to collaborate or track todos, Trello is a great free tool.
  • Quickbooks. If you are running a business, then you need to track your books and send invoices.
  • Mailchimp. I send my weekly newsletter using Mailchimp. It’s simple to use and fairly cheap to start out.
  • Buffer. whenever I have a presentation or a course coming up, I like to schedule social media posts. For that, I use buffer.
  • Emergent Task Planner. Not actually software, but I find this note pad to be useful for planning and tracking my day.

Summary

When you work for yourself, you need to manage the entire pipeline Marketing –> Sales –> Delivery. You need to think of yourself as a business, and you need to have a plan for growing your business even if you always stay a “Company of One”. You need to rebuild structure and routine and find a way to focus on your work.

Consulting is a unique job. Freelancing is a unique job. With the right resources you can succeed at both.

Lessons learned from being self-employed, 12 months in

This months marks one year of working for myself, and undoubtedly I feel mixed about it. I’ve made a number of mistakes that I can’t help feeling dumb about. In retrospect, I probably wasted three months learning these lessons the hard way. And yet, it’s a lot like a hot stove. People can tell you it’s hot, but until you touch it you won’t quite grasp it. Here is what I’ve learned from a year of self-employment

What I learned

Don’t force your job into your dream job

When I quit my job, I had ambitions of doing all the things that give me life. I was going to attend more conferences. I was going to study all of the time. I was going to write more. I would work whatever hours I wanted, whenever I wanted. These were all things I imagined I would do once I quit my job.

And while I did many of these things, I was putting the cart before the horse. What I learned is that I needed to get the fundamentals in place first. I had to learn how work from home. I had to learn how to rebuild the boundaries and structure of a normal job. I had to learn how to create a new routine.

And as a result, I probably spent the first two months a bit unfocused. I also made a number of commitments that I am finally coming out the other side of. While I’m proud of all the presenting and speaking I’ve done this year, I wish that I had put first things first.

Respect your human fragility

I underestimated just how human I am and how hard this would be. Often it was dumb stuff, like needing to set office hours. I’m used to just being productive, just getting things done. But in reality, there was so much invisible scaffolding that had been supporting me, that I had interpreted as my own strength.

When you have a day job, you often have set working hours. You have coworkers and expectations. Consequences are often direct and measurable. Most people work in a different environment than they live in, so our brains have context clues.

All of this goes out the window when you work for yourself and work from home. Consequences are both diffuse and existential. No one will yell at you if you put off marketing or sales, and yet your whole life depends on it. There’s a vagueness there that is unsettling. The temptation is to just work harder, to push harder if things aren’t working. But without some structure to push off against, it is exhausting.

Find a way to rebuild that structure

Through trial and error, I found a way to rebuild the structure I had given up. I set office hours of 9AM-6PM, with an hour lunch. I peppered exercise through the day. I worked on breaking things into concrete tasks. I started building a python app to track personal todos and basic things like checking my blood sugar.

I feel like I’m starting to get the hang of it, but I’m not quite there. I find mixing consulting work with creative work to be a challenge. It reminds me of Paul Graham’s essay on Manager’s schedules versus Maker’s schedules.

The contrast of urgency and distant deadlines, of deep work and quick meetings, can be quite jarring. In theory I’d like to have dedicated days for creative work, but it never seems to quite work.

Join a peer group

One of the smartest things I did during this process was a lucky accident. I was friends with a wonderful peer in the Pluralsight space. He lived near me and was a full time author. And when I quit, he invited me to join his mastermind group. We have a Slack chat and we have a Skype call every other week.

Working for yourself is incredibly and brutally lonely, and alienating. You are making all of these decisions and going through new experiences. Having someone to bounce ideas off of is critical. It is so relieving to have a group of peers going through the same thing.

Take a vacation

Schedule a vacation. Make it happen. It took me 8 months but I had a real vacation. By planning it far in advance, I could warn clients and build it into my schedule.

When you work for yourself, there is a creeping sense of opportunity cost. Let’s say your billable rate is $100. That means every movie is $200 you could be earning. That board game is $100 you could have made. And that vacation is $2,000 you didn’t bill someone.

And that is why you need set office hours. That’s why your need strong boundaries. And that’s why you need to schedule a  vacation. Because otherwise there is a temptation to work yourself into the ground.

Was it worth it?

So, was it worth it? Would I do it again? Let’s look at it financially first.

Financial benefits

At my prior job, I made about $65,000. This year I made $85,000 in gross revenue. So, big improvement right? Well…

So, when you work for yourself you have to pay all of your own health insurance, 401k and vacation. You also have to pay both halves of the payroll taxes. Realistically, it turns out to be a bit of a wash, when you factor in all of these costs. Overall, it has been a modest improvement, at the cost of monthly consistency.

If I really wanted to make more money, I could have taken a job with “Senior” in the title and gotten paid $80-$100k AND benefits. At the same time, It probably would involve being on call or quite a bit of stress.

Personal benefits

The personal benefits are huge, and I will probably not take a regular job for the next ten years. When you work for yourself, you decide what you want to focus on and specialize in. You do set your own hours and eventually you can fire your worst clients. There really is something soothing in knowing you have control over your career.

But beyond that, working for myself has allowed me to be a caretaker for my mother. I’m able to visit her 3 days a week and take her in to a Medicare replacement program. I’ve been able to see a marked improvement in her quality of life as a result.

So yes, it was worth it and I would do it again. I just wish I had a time machine so I could do the first year the easy way, haha.

GroupBy Conf was a stepping stone in my career. You should submit a session.

The year was 2017, and I was feeling a bit stagnant and frustrated. I had spoken at a handful of different SQL Saturdays, and I wanted to know how to get to the big conferences:

“There’s a joke about industries with no entry level jobs. How do those types of industries exist? How do they not just die out? But I don’t think entry level is the issue here. There are tons of opportunities to speak at user groups. SQL Saturdays are a clear stepping stone after that. The next step is…less clear. Do you blog? Do you speak at virtual user groups? Do you go to 20 SQL Saturdays a year?

No seriously, I don’t know. Can someone tell me? You wanna know why I started presenting at virtual user groups? Because I asked someone how to get to Summit, and they suggested that as a stepping stone. I think it’s important to give “new” speakers like me a path for reaching the top.”

Two months later, I was accepted to speak at the GroupBy conference about how to keep up with technology. It was a little nervewracking, but it went great and was truly a stepping stone in my career. It was my second virtual presentation and bigger than anything I had ever done. It helped me grow as a speaker, and later that year I was accepted to speak at PASS Summit.

I can’t ever know if that was what got me accepted to Summit. It might have been my abstracts, it might have been the fact that Summit was during Halloween, or that I had done some Pluralsight courses by then. But I truly believe it was part of the equation.

Now as someone on the other side of the selection process, I can definitely say that you will benefit from having an online record of your presentations. Having online presentations allows people to see that you can speak well and get a better idea of the type of material you cover.

Submissions are open for a few more days for the October session. I hope you’ll join me in sending in a few sessions, and I hope to see you there.

T-SQL Tuesday #116 – I only do demos on SQL for Linux

T-SQL Tuesday

When I first heard about SQL on Linux back in the beta days, I really didn’t see the point. Was this an attempt to steal customers away from Oracle? Was this intended to appeal to Postgres and MySQL users who were used to $0 licensing? Were that many organizations that were fully Linux except for the one SQL server?

And then as I learned more about devops and containers, it started to click for me. And while I’m still fumbling with devops, I’ve found one really good use for Linux and containers: demos.

Specifically, making a presentation on SQL Server 2019 is what convinced me. I presented on it back when it was still called vNext. Then 5 months later I was presenting it again. But now I had to uninstall it and reinstall the latest version. And I have to find whatever virtual machine I had installed it on in the first place. I had a virtual machine because I didn’t want to contaminate my host laptop.

But now, I can run 5 lines of code or less and suddenly I have the latest CTP ready to present against. All in the time it takes to down the update plus a minute or two. I couldn’t do this without SQL on Linux and Linux containers. So, at least for demos, I’m never going back.

Are You the Same as Your Business?

In Pennsylvania, if you start a business it starts out as a sole proprietorship. Legally, your business has the same name as you, and until you get an EIN, it can be identified by your social security number. In a very real sense, your fledgling business is you. But the question is, should it be?

I recently read two books that have got me thinking about that question. First is “The E-Myth” by Michael E. Gerber, which breaks people down into 3 contradictory personalities: the entrepreneur, the technician and the manager. Whenever you start a business, there is a little bit of each in you. Often times, however, you are mostly a technician. You quit your job because you were good at doing the work. But as I learned the hard way, there is more to running a business than just being technically proficient.

Another thing that it talks about is how businesses should be designed like the prototype for a franchise model. There should be standard operating procedures, code and processes for everything. Literally everything. As a solopreneur, this seems so strange at first.

We get even stranger when we get into “Built to Sell” by John Warrillow. This book is all about making a business that can be sold and live without you. What are the things that make a business appealing to buyers? I say this is strange because, as a consultant, if I left the business there wouldn’t be anything left. It literally has the same name as me, right?

But I’ve been thinking about it more, and not everything has to or should be me. When I make video courses, I pay an editor to do all of the video editing. As a consultant, in theory, I can make anywhere from $100-$200 per hour for what I do. Most of the things I do, such as accounting, or social media management, are nearly as valuable. So logically, even if I can’t separate myself from my business, or ever sell it, I should be thinking about the piece I can carve off. I may be at the core of my business, but I don’t have to be all of it.

Fumbling in the Dark with DevOps and Automation

In the past, I’ve been skeptical about how much things like PowerShell, Devops and Docker are relevant to me personally. It makes sense if you are writing application code. It makes sense if you are managing hundreds of servers.

But I do Business Intelligence. How do you write unit tests for a report? Why do I need PowerShell when I can just hit Publish on Power BI Desktop? Do I really need Powershell if I manage 3 SQL Servers?

This year, however, there have been a number of events that have been slowly changing my mind:

I don’t know what I’m doing

I’ve talked before about how automation is a relative term. But I’d like to do some true automation, I’d like to make a script like Cody’s where I can spin up a multi-server homelab with SQL Server, Sample databases and client tools all installed.

And right now I have no idea what I’m Doing and I’m fumbling in the dark. I’ve made a github project and I’ve gotten Lability to create the virtual machines. I know I need to learn Desired State Configuration, and I can’t quite get it to work with Lability yet.

And beyond that, I have no idea what I’m doing. And that’s okay. I suspect that this is a pain a lot of people run into with devops and why they put it off. The reason I write this is to remind people is that it’s okay to suck at something.

Image result for adventure time suck

I’ll keep y’all updated as I slowly make progress, fumbling in the dark.