All posts by Eugene Meidinger

T-SQL Tuesday #111 – What is your why?

For this T-SQL Tuesday, Andy Leonard asks us, “What is your why?”, why do you do what you do?

Many of the answers from others are heartfelt and admirable. Mine are not. Most fall under the category of either dumb or dumb luck.

Starcraft and Scholastic

My very first taste of programming was back in first grade or so with LOGO. I thought it was a lot of fun but never did any significant after that. I first got my second taste of programming with Starcraft custom maps. The year was 1999. I know this because my username was eugene11.  I’ll let you do the math. Starcraft had a scripting logic that was basically a simple if/then system.

But the day I became a true programmer was when looking in the back of a scholastic catalog, I found Interplay’s Learn to Program BASIC! The description promised to teach me how to make video games.
Interplay's Learn to Program Basic - Junior High Edition (Windows 95/Mac OS Required)

It was pretty easy to follow along with the lessons, although I didn’t truly understand what I was doing.  I could make small modifications to the games they provided but didn’t understand half of the logic therein.

In high school I would make video games on my graphing calculator, because I was bored. I also participated in a game jam called PyWeek.

Brothers and ex-girlfriends

When I went to college, I figured I’d either be a programmer or a professor. I went to Penn State beaver because it was close, cheap and my brother graduated there, so I already knew one of the professors.

In my senior year, I needed to take an elective in my major. I took Business intelligence, because the other option didn’t work with my girlfriend’s schedule. Remember when I said some of the reasons were dumb?

Later on I asked the professor for a job. He worked full time as the head of Business Intelligence at Bayer Material Science. He hired me and I worked there for a year. Ultimately, though, it wasn’t a good fit.

My next job was labeled .net/SQL developer. But after I was accepted I realized it was 90% SQL and suddenly I was a DBA and the new BI department. This part falls under the dumb luck, and it was lucky. I was in a role that I could grow into and over the years ended up working as a BI consultant within the company.

While much of the path to BI was an accident, I’ve stayed with it in part because of the strong community and the friendships I’ve made. I really wonder if I’d find a community as strong and giving as #sqlfamily in a different field. But also, if I’m being honest, because the opportunity cost is high and this is a well-paying profession.

Mom and my new adventures

My career for past 7 years has largely been an accident. I’ve always loved computers and thinking, but I can hardly say I chose this field. But back in September, I quit my job to work for myself. I did this to work on my physical health, my mental health, and have more control over my career.

And honestly, why not? Worst case I have a gap year on my resume, and I go back to get a regular job, right?

I’ve written about the lessons learned so far and more recently, I’ve discovered another why. Working for myself allows me the flexibility to take care of my mom. And so why not becomes much more of a why.

The real reason to become self-employed: being a caretaker.

Normally, I’d spend a few hours writing some eloquent 1,000 word blog post, with a dozen sub-headers and very mild puns. Today is not one of those days, as much as I want to make sure I do the topic justice. I’d rather get this written than push it out.

My rickety raft

If you are looking to become an independent consultant for the money, welll I’d advise against it. I wrote before about lessons learned and while you can make a lot of money, it’s a big slog and a big stress. I would compare it to trying to build a big wooden ship, from a rickety raft while you are using the raft.

Only now, about 5 months in, are things stable enough that I can relax. Our finances are solid for the next 3 months and we’ve finally gotten some walls on our raft. It’s still ricketey, but it’s going to take more than any single wave to topple us. It will likely take the rest of the year to get things completely stable.

If I was looking to make more money, the smart move probably would have been to take a job with “Senior” in the title and get a 20k pay bump.

The real benefit

There are a handful of reasons why I made this leap. I was tired of feeling overworked, I wanted to give this a shot, I wanted to work less hours, I wanted to travel more and give more presentations, etc. But a least a third of it, was knowing that in 5 years, or 10 years stuff was going to hit the fan with my mom.

I’m currently the primary caretaker for my mom. She lives independently and gets a lot of services from a Medicare replacement program, called Life Beaver County. I usually describe it as adult daycare meets medical center. They clean her place once a week and have nurses make sure she takes her medicine. For a while, my responsibilities were just grocery shopping every week and occasionally taking her out to go shopping.

But in the back of my mind I knew that as some point those needs were going to escalate. I knew at some point down the road there was going to be a year where she wasn’t well enough to live totally independently but not ill enough to go into assisted living. And very recently, I’ve gotten a, ahem, new commute.

My new commute

Things had escalated recently to the point where I knew that if my mom didn’t get more care, her physical and mental health were going to deteriorate. And so, somewhat reluctantly, I decided to start driving my mom to Life Beaver County every morning.

I am utterly blessed to be able to do so. While it’s a pain to spend 60-90 minutes every morning waking up my mom, getting her ready, taking her in; I am truly lucky to have it as an option. Right now I’m optimistic that her physical and mental health are going to greatly improve and that this could be the difference between being in a home in 10 years instead of 2.

Working for yourself is an utter pain. It requires a whole new set of skills as difficult as learning to be a manager, in my mind. But it also brings some options that just aren’t available with most jobs.

T-SQL Tuesday #110–Automation is relative

T-SQL-Tuesday-Logo

The theme for this week’s T-SQL Tuesday is “Automate all the things”. We are asked to talk about a project we automated or future plans to use automation. The problem, is… well, what counts as automation? I’m not sure, but I have a guess.

I’ve set up nightly ETL just with SQL agent and stored procedures. Is that automation? I mean it happens automatically, but it doesn’t *feel* like automation. Does it become automation if I use SSIS? Does it become automation if I add in BIML? How abstract does it have to be to count?

Are maintenance plans automation? Is it still automation if it’s built in to the product? I feel like anyone would laugh at me if I called them automation, but maybe if I used Ola’s scripts or dbatools, then it would count.

I think the problem is that automation is relative. Automation is whenever you make a process repeatable and it would normally be a manual process. So automation is relative to what you are doing manually today. Power Query could be automation if you are manually manipulating data in Excel every week.

Automation is really easy to accomplish the more inefficient you are! When I wrote about the biggest failure of my career, I wrote that I would have automated things more. What was that automation? Nightly ETL with stored procedures, maybe SSIS + BIML if I was smarter. If I was doing the project all over, it’d wouldn’t be called automation it would be called best practices!

So, what project would I definitely call automation that I have done? Well I can only think of one project, and it’s pretty silly. 4 years ago, I was using the Raspberry Pi as my main computer. Over the past few years I’ve tinkered with the Raspberry Pi and I’ve built some dumb BASH scripts to install and configure a new install of the OS.

It’s not fancy or impressive, but it makes my life easier and I’m happy with it. In the future I’d like to do something similar with windows so I can spin up a whole Hyper-v lab without any work.

First impressions: SQL Server 2017 Administration Inside Out

I recently had the pleasure of reading SQL Server 2017 Administration Inside Out by William Assaf, Randolph West, Sven Aelterman, and Mindy Curnutt. I love this book. While I haven’t finished reading it yet, I wanted to post my first impressions. I’ll update this post once I’ve finished the book.

I recommend this book for accidental DBAs, junior DBAs, and senior DBA’s with a sense of impostor syndrome. I would NOT recommend it for people with no experience with SQL Server or for senior DBAs looking for a deep dive. This books aims at breadth not depth.

To emphasize that point, take a look at the table of contents below:

  1. Getting started with SQL Server tools
  2. Introducing database server components
  3. Designing and implementing a database infrastructure
  4. Provisioning databases
  5. Provisioning Azure SQL Database
  6. Administering security and permissions
  7. Securing the server and it’s data
  8. Understanding and designing tables
  9. Performance tuning SQL Server
  10. Understanding and designing indexes
  11. Developing, deploying and managing data recovery
  12. Implementing high availability and disaster recovery
  13. Managing and monitoring SQL Server
  14. Automating SQL Server administration

That is, without a doubt, a lot to get through. Each chapter could easily be its own book. Instead, I see this as a book to fill in the gaps. The text is perfectly suited for that middle level of complexity, where you have heard of a concept, but it doesn’t click yet. This book made things click for me.

As an example, let’s take look at chapter 2. In this chapter they run through the core components of a computer: memory, CPU, storage and networking. They are fundamental concepts for any IT worker. How easy would it be to say “Everyone should know this.” Despite how basic these concepts are, the authors neither condescend nor assume prior knowledge.

For example, when there are complex concepts such as RAID or NUMA, they take the time to explain what these things mean, why they are important and why are DBA would care. Reading these sections, I felt a sense of gratitude because use when people talk about these concepts, I never quite get it. Reading this book, I felt like I “got it”.

So, you may be wondering why I wouldn’t recommend this book for people without SQL Server experience. First, It’s big. It’s over 704 pages long. Second, the book is very good at filling in the gaps of an existing mental model. It would need more detail and information if you were starting out with almost no mental model, such as a college student.

Regarding tone, the book is quite technical and detailed at times. For example, it explains each and every column in components of the Activity Monitor. That being said, the authors do try to inject a bit of humor here and there. They also aren’t afraid to call out worst practices, such as running Database Tuning Advisor in production. I appreciate a book that a little bit opinionated.

One last comment on the book: I appreciate that it is a book about modern database administration. It acknowledges the realities of Azure and PowerShell, two tools required for any dba moving forward.

So, is this book worth buying? I would say yes, with some conditions. First, there is no question regarding the quality of the content. It is well written and the authors are experts in their field. The first condition is to make sure you are actually going to read it. It’s a long book and adds more value as a whole, not as individual chapters.

Second is a matter of your skill level. If you are looking to fill in gaps in your knowledge of SQL Server overall, you will fall in love with this book. If you are either very junior or very senior, you will feel quite frustrated. This is very much a “Goldilocks” book: not too deep, not too light, just right.

Lessons learned from being self-employed, 3 months in

Back in September, I quit my job to work for myself. While I don’t have any regrets, I’ve certainly been doing a lot of thinking. I’ve been thinking about what this job means for me and where I’m going next. Being self-employed has been full of surprises. This recent comic by Alex Norris sums things up well:

image

So what have I learned  so far?

You are soft, squishy and frail

I quit my job for a number of reasons. Partly because I felt like I was stagnating and busy supporting legacy applications. Partly because I was feeling stressed out and overworked. My weight has been steadily increasing for the past year as well as my A1C. It was time for something to change.

I mention this because trying to jump from one stressful situation to another can compound issues. Changing jobs is one source of stress. Working for yourself is another source of stress. Working from home for the first time is another source of stress. When you add these all up, the biggest hurdle I’ve run into is acknowledging my own limitations. When you work for yourself, self-care and self-management become the most important skills you can have.

I’ve never been good about acknowledging my own needs. I hate the phrase “self-care”. To me it evokes images of decadent bath soaps and floral scented candles. But a lot of it comes down to sacrificing the immediate for the prudent. Exercising, sleeping, taking breaks, eating health, etc. It involves being humble enough to acknowledge that having needs doesn’t make you weak. It involves acknowledging that you are soft, squishy and frail.

The consequences of not taking care of yourself are amplified when you are self-employed. When you have a normal job, you have to get dressed and go to work, whether you feel like it or not. In contrast, if you have a bad day working from home, you might feel demotivated and get less done the next day, and so on and so on. When you work for yourself, all the guard rails come off.

When I first made the switch, I found myself going into a depressive episode. My third course wasn’t paying out yet, I didn’t know if I would find work, and I was in a difficult contract negotiation with a potential client. Things are going much better now, but the specter still looms as the days get shorter here in Pittsburgh.

Working from home is utterly lonely

I’m naturally an introvert. If you and I have a conversation, it’s like a little taxi meter starts running. I may deeply, deeply enjoy the conversation and find it incredibly exciting, but it still taxes my energy levels. Small talk even more so. Imagine that every time someone chatted about the weather, you had to pay the same price as a Lyft ride to go 4 blocks. That’s how I feel about small talk.

That being said, we are still social creatures, and even introverts need human interaction. Especially so when you need to think through new situations, new problems. One of the things I realized attending PASS Summit is that I need social interaction to thrive. So now I spend a lot more time on Twitter and am part of a peer group of authors. I work down at the library whenever I have the chance.

Your brain is dumb and thinks you are at work

Working whenever you want is a terrible, terrible idea. While you, intelligent person, may understand the idea of working whenever you want, your brain is dumb and now thinks you are at work all the time. On top of that, now you have to make the regular decision “Do I want to work or take a nap?”. Set regular office hours and stick to them.

In addition to that, if possible get a separate office space. I have a separate room, but right now I use the same laptop for everything. Eventually I’ll buy a computer just for work. In the meantime, I’ve been trying to use my PS4 more and get out of the office when I’m not working.

It is important to make as many dividing lines between home space and work space as you can. Same for delineating leisure time and work time. If you don’t, it all becomes a blur and you feel this vague dissatisfaction.

You will work too much, too little and for long periods of time

Never underestimate the power of social norms and peer pressure. At a normal job, you are much more likely come and work for the normal set of hours. But when you work at home, it’s really easy to work a 6 hour day. It’s also easy kick yourself for doing this, and work on the weekends to try to compensate.

Some weeks you might work 30 hours and some weeks you might work 50. Here’s a recent 50 hour week.

image

This “flexibility” is at times convenient, but in the long run it isn’t wise. Because your success depends entirely on you, there is the temptation is there to work more and more. This is especially true when you are just trying to get things going. Again, setting office hours and sticking to them is important.

Another issue I’m running into now, is that I no longer have a good reason to take breaks. At my old job, I’d get up, walk around, get a drink, chat with coworkers. Because I was doing a lot of task switching, it was easy to find good times to take breaks.

Now, I’m working much larger chunks which means I have to force myself to take breaks. Currently I’m forcing myself to follow the pomodoro method, taking 5 minute breaks every half-hour whether I feel like it or not. This has helped me focus more and has made work less of a blur.

This goes back to the self-care and self-management thing. I feel utterly silly forcing myself to take breaks and walk around. Like some child that needs to be reminded, “Okay, now get up and stretch!”. But productivity isn’t a natural state of affairs, at least it isn’t for me. And if I want to be successful in my new job, I’m going to need to keep my ego in check.

Time is money and money takes time

When you start to work for yourself, you are going to think about money. A lot. And if you don’t, it’ll make you think about it. I’ve overdrafted on my bank account 3 times now, and each time I feel like an idiot. It’s not that we don’t have the money. The problem is we have 4 different bank accounts that need consolidated.

This was never a problem before. First we always had enough savings to cover any expenses. Second, I had a paycheck coming in every 2 weeks. Now that I work for myself, the expenses still go out monthly, but income doesn’t come in every 2 weeks.

Every dollar is a hustle and a hassle

The first reason you starting thinking about money more is because it’s no longer guaranteed.  I underestimated how convenient it was to have money coming in on a regular basis. It was so much easier to budget for the household and plan expenses. Now I have to bust out excel and do cashflow planning. You’ll notice how jagged the big spikes are.

image

That downward trend will keep happening regardless of what I do. But those spikes up only happen if I make them happen. It feels very much like this Sisyphean task of pushing our savings boulder up the hill and then it rolls back down.

People take forever to pay you

Not only do you have to think about doing work to get money, but you have to think about when it will come in.  $2,000 today can be worth a lot more than $4,000 in six months. On the one end of the extreme, I have a customer that prepays me for 40 hour blocks of work at a 20% discount.

At the other end of the extreme, my courses pay out quarterly plus net 30. This means for the course I released in mid-October I won’t see any royalties until late January. When you are worrying about paying the bills today, this is a nightmare. But the courses are lucrative over the long term, so I need to make sure I keep making courses.

Another factor is unexpected delays. Delays with agreeing to a contract. Delays with agreeing to the scope. Delays with the customer changing their mind on a piece of work. You can never count on a future piece of income until the check is signed and in the mail.

The distance between action and result gets longer

When you work a 9-to-5 kind of job. You put in a certain number of hours every week and get paid a certain number of dollars every two weeks. Even if you are a salaried employee, the distance between inputs and outputs is pretty straightforward. When you are freelance, everything gets murky.

First, a lot of the work that I do has long term deadlines. If am making a course, I will work on that course for 4-6 months and not see any money until it is completed. If I’m writing a paid article, the cycle is shorter but there is still a delay.

Now, for customers that I bill time and material, it’s a lot simpler in theory. But the sales cycle to get that customer is still a numbers game. Everything in the sales cycle is like buying little tiny lottery tickets with your time and energy. You have no idea which one will pay off, so you buy a lot of lottery tickets.

To start with is marketing. Marketing is the act of realizing that most people, by default, have no idea who you are and don’t care. I spend an hour every week writing my newsletter. What’s the dollar value on that? No idea. When will it pay off? Maybe years down the road. Every newsletter issue is a tiny, tiny lottery ticket.

Once people know you exists, you have to deal with the sales process. First you have to talk with people that might be interested in your services, a.k.a. leads. Then you narrow them down to people who are actually interested in your services, a.k.a qualified leads. Finally, you have to scope the project, submit a proposal, and hope it gets accepted. Once you do the work, you go back and hope they have more work for you.

This cycle can take weeks or even months. Tiny, tiny lottery tickets. So much of sales and working for yourself is playing the marshmallow game. Do you eat one marshmallow now, or do you wait and hope for two later?

Your skillset and your job role get blurry

When I initially made the switch to freelance, I thought I was going to become a fulltime course author. As I picked up consulting work to help pay the bills, I’m realizing that a blend probably makes more sense. So I would use course authoring to provide a stable base of income and use consulting to stay sharp.

Off-brand consultants

If you are going to do consulting, you have to deal with another piece of marketing called branding. If marketing is making sure people know you exist, branding is deciding what you want to be known for. I’ve written before that people pay for specialization. This is doubly so in consulting. A recent customer told me, “If I’m going to pay you, I need to make sure you know more than my team.”

This has two consequences. First, is that any work you do that’s off-brand is time you could be spending going deeper on what you want to be known for. For example, I’m doing Xamarin development for my old employer. This helps pay the bills today, but is taking away from Power BI work I could be doing to grow my expertise.

The second consequence is that your training plan becomes more forward looking. In my prior job, my learning was heavily driven by my immediate tasks. At times this lead to a learning plan that was a mile wide and an inch deep. Now, my learning is driven by where I want to go as a person, as a business, and as a brand. For me that means learning more about SSAS, data modelling, and good report design. Not C#, not Docker, not PowerShell, not Kubernetes.

Don’t get me wrong, those are all exciting and powerful technologies that are going to be extremely important over the next 5 years. But as a consultant, the benefit of specializing is much higher than normal. Once you are established, then you can start to branch out more.

Learning soft skills is hard

But wait, it’s not so clean cut. We were only talking about technical skills. But when you work for yourself, there are an array of soft skills you need to learn. The first are business skills: reading contracts, marketing, sales, accounting. There are a ton of things you just never had to deal with as a regular employee.

The other set of soft-skills are what you normally think of: writing, communication, time management, etc.These become more important when you work for yourself. So much of consulting is being able to build relationships and communicate clearly. So much of working from home is being able to manage your time and your focus.

Summary

Like I said, I don’t regret the decision to work for myself. It gave me a soft landing from my last job and is giving me the time to think about what I want my career to look like. But it is a lot of new things to learn and is, at times, overwhelming. Right now I don’t know if this is something I’ll be doing for the next decade, or it is more of a gap year. We’ll see!

New Power BI skill assessment on Pluralsight

I’m quite excited to announce the new Power BI skills assessment on Pluralsight is in beta. This assessment is the result of me spending dozens of hours writing questions and some wonderful peer review by Gilbert Quevauvillie. Please do me a favor and take it. It will take 15 minutes and we need your help to calibrate it.

I’ve received feedback that some of the questions are a bit weird and not really core Power BI skills. For example, there are questions about R syntax, deploying to SharePoint, etc. That’s by design. The assessment is self-calibrating as people take it. Once it goes live, those harder, oddball questions will only show up when you’ve correctly answered the easier core questions.

The reason we need your help is we need to know which questions are easy, which questions are hard, which questions are correlated, which questions are too guessable. I appreciate everyone’s help in getting the assessment to be ready to go live.

Why is Power BI Free?

Something that some people search for is the question “Why is Power BI Free?”. Power BI is free because it benefits Microsoft to have an easy on-ramp to Power BI and to attract as large an audience as possible. It is in their financial interest.

If you are wondering what the catch is, the catch is that the free version of Power BI has very limited sharing capabilities, among other features.

In this post, I’m going to cover some reasons why Microsoft would make Power BI free. But before we can elaborate on all of that, we need to clarify what we mean by “free”. Read my post from last week for more details.

So why is it free?

So why would it behoove Microsoft to provide a limited free version of Power BI? Some ideas come to mind:

  • People can learn for free. This is important since Microsoft is aiming for a broader audience instead of a deeper one. The main target audience for Power BI is the everyday business user, not BI developers.
  • People are skeptical. It can be hard to convince a business to make a large investment in a BI product. By having a free version, a small group of people can do a pilot project without spending any money.
  • Razors-and-blades sales model. Companies will often sell products at a loss or give them away for free, if there is a paid compliment needed to take advantage of that product. Think about how cheap printers are, but how expensive ink is, for example.
  • SaaS is where they make their money. Related to the previous item, Microsoft makes a lot of their money these days from subscriptions. It used to be that they primarily sold software as standalone packages. But in the last few years, they are making more and more money from  Saas like Office 365, or cloud computing like Azure. Power BI fits neatly into that space.
  • Free dashboards are good marketing. Some people will make really cool and innovative dashboards and then share them publicly. This doesn’t detract from Microsoft’s business model at all. Free users are free marketing.

Overall, Power BI is free because so much of the real value comes from the enterprise collaboration and sharing. You can make beautiful visuals with a lot of tools, but few compare to the IT Governance story that Microsoft has.

Is Power BI free?

Power BI Desktop, the authoring tool, is completely free to use. Users can also create free accounts on the Power BI service, with a number of restrictions. In short, Power BI  is free to get started, but if you want to do any serious professional work you are going to have to pay for a license.

Some pieces of Power BI are free and some aren’t. Parts that are available for free:

  • Power BI Desktop
  • Power BI Service (with limitations)
  • Power BI Mobile

Parts that are not available for free:

  • Enterprise sharing and collaboration
  • Power BI Report Server
  • Power BI Premium

Which parts are actually free?

Power BI Desktop

First there is the report authoring tool, known as Power BI Desktop. This tooling is completely free to use.

image_thumb1

(PBIX file credit of Microsoft. Available here.)

You will have to either create an account or deal with some mild nagging about signing up for a mailing list. You can disable that nagging with a registry change.

image

While Power BI Desktop is a great authoring tool, it is a terrible collaboration tool. If you were to live entirely in PBI Desktop, you’d have to pass around PBIX files which is incredibly clunky.

In my opinion, if you are going to look at using an on-premises, self-service tool you are better off using Excel. You still get a lot of the same capabilities with Power Query and Power Pivot, but inside of a tool people understand, and a tool Office 365 can render online.

Power BI Service

The Power BI Service, think powerbi.com, allows for free users. These free users can create reports and upload them, but with a significant number of limitations. The biggest is you only have one way of sharing content to others. Specifically with Publish to Web, which essentially makes your entire report free to the public.

You also only have one way of privately consuming other people’s reports, and that’s if someone places content in Power BI Premium. Otherwise, other users can’t share their reports directly with you. Power BI Free users are truly and island to themselves.

One other thing worth nothing is that you can’t sign up with a personal email. David Eldersveld has a good blog post on the issue. As of this writing, the uservoice request to change this has 2,800 votes.

See here for some more limitations of the free version of Power BI.

Power BI Mobile

Power BI Mobile is a way to consume Power BI Reports on Apple, Android and Windows mobile devices. Here is a picture of Power BI Mobile on my phone.

Screenshot_20180917-111943

Which parts aren’t free?

Enterprise sharing and collaboration

Power BI is, by design, a collaboration tool. It is designed for people to publish and share their reports. If you want to take advantage of content curation using app workspaces, you’ll need to pony up and pay for a Power BI pro license.

If you are doing any real work with Power BI, you are going need to pay for a license for yourself as well as any report consumers.

Power BI Report Server

In addition to Power BI Pro, there is Power BI Report Server, which is the on-premises solution for hosting Power BI Reports. If you decide to go with Power BI Report server instead of making use of the Power BI Service, then you are going to need to pay for SQL Server Enterprise as well as Software Assurance. Alternatively you could pay for Power BI Premium.

Power BI Premium

Power BI premium is an alternate licensing model where you are licensing the content instead of the users. Once you have 500 or more users, it starts to make sense. Until then, the $5,000 per month is pretty pricey.  It has other benefits as well, such as paginated reports and incremental refresh.

Summary

Some parts of Power BI is Free, but once you want to share with others, use more advanced features, or alternate deployment options, you are going to have to start paying.

How I deal with depression

Content warning: depression, suicide

Matthew Roche recently blogged about his struggles with mental illness. I applaud his courage, because it’s easy to worry what people will think about you. More recently, a member of the SQL Community took her life, and frankly the thought scares the shit out of me. It scares me, because some day that could be me. In fact, it’s been a recent point of discussion with me and my wife.

I write this post because I hope that if you are struggling with these feelings, you will get help. Please do something, because there are people that love you and would be devastated if you left this world. Here is what depression looks like and what I do to stave it off.

What is depression?

The English language does us a disservice in that the word for what is a crippling mental illness is the same word we use casually for being bummed out or sad. And while there is a spectrum, with things such as dysthymia or anhedonia (lack of pleasure), depression is often accompanied with what are called cognitive distortions.

If you think “I’m a failure”, that is a cognitive distortion, that is just factually wrong. You may have failed at a thing, but we are multifaceted, changing people. Depression is a matter of being disconnected with the reality at hand.

So what does the difference look like? We all get sad sometimes. Sadness is a good thing, grief is a good thing. These are healthy responses to difficulties in life. Victor Frankl, when writing about being in a concentration camp wrote, “An abnormal reaction to an abnormal situation is normal behavior” . To never feel sadness or grief would be abnormal.

Here is a picture of what healthy grief looks like:

Image may contain: one or more people

Depression is very different. It is an auto-immune disorder of the mind. It is very commonly accompanied with negative thoughts that are pervasive, persistent and pessimistic. Common themes are feelings of helplessness, hopelessness, worthlessness, and suicidal ideation.

Here is a picture of what depression feels like:

Image may contain: one or more people and indoor

If you are uncertain if you are depressed, take this depression checklist. It’ll take 5 minutes and may reveal something you are uncomfortable admitting. I took it just took it now, you and today I am a 14 out of 100, or mild depression. There have been days when it’s been in the mid 30’s, or moderate depression.

Open Source Mental Health performed a survey of 1570 people in technology.  Of those who answered the questions, 78% indicated they had a mental illness and around 70% of those indicated that they had a mood disorder such as depression or bipolar. We work in a field that often requires us to be on call or can make stressful demands on our lives. It’s more common than you might think.

It needs treated

I have a disease that requires daily treatment and medicine. My body doesn’t produce the chemicals I need. If I don’t treat it on a regular basis and monitor myself, someday I might die. That disease is called diabetes.

That’s right, I take insulin because my body stopped producing it years ago. I don’t think of myself of weak or less than because my body doesn’t work the way it should. Depression is often the same. Something has gone wrong in the brain. It could be a chemical imbalance, traumatic childhood events, or just a naturally lower set point for mood.

Whatever the cause, it still needs treated. It can be hard to admit and feel like a failing. I’m a guy, and I hate, hate, hate feeling like a burden to anyone. I hate asking for help. So much so, that when I was diagnosed with diabetes in the hospital, I told my now wife that I’d understand if she broke up with me. She just about slapped me. Boy was I dumb.

Get help. Please.

How I treat depression

Here are the ways I treat my depression:

Medication. Every single day, I take 10mg of Lexapro. I avoided it for a long time, I’ve heard horror stories about psych meds. I tried everything else, but eventually I decided I needed to take medicine.

The first month was hell and it takes 6 weeks to kick in. I had dry mouth and wanted to crawl out of my skin. After that my body acclimated, and the bleaker side of depression went away. I didn’t feels as dark and lethargic and hopeless. I still had negative thoughts and burnout, but I didn’t feel hopeless anymore. Many people have to try multiple medications to find one that works for them.

Exercise. The second most effective thing I’ve found to treat my depression is exercise, especially cardio exercise. I have to exercise every day, even if I’m sick. If I go a week without getting exercise, I start to get a resumption of symptoms. Exercise is as important as any of my other medications.

Sleep. Sleep is massively critical to good mental health. Sometimes I track my negative thoughts using a tally counter. A bad night’s sleep can double the number of negative thoughts I have in a given day. You wouldn’t give a SQL server 4 gigs of ram, why would you give your brain 4 hours of sleep and expect it to function properly.

Light. I hate the winters in Pittsburgh. It’s dark when you leave for work and it’s dark when you come home. I feel my symptoms most severely during the winter time. To deal with that I have lights everywhere. I have light alarm clocks, I have blue therapy lights to blast 1000 lux at my eyes and wake me up. I’ve even put hue lights in my room so my whole room lights up in the morning. The most effective thing is to just go outside, however.

Cognitive Behavioral Therapy. One of the most effective therapies is Cognitive Behavior Therapy. In short it identifies that it’s not just events that cause our emotional reactions, but also our beliefs about them. If you partner, come home late you could happy or sad depending on your beliefs.

CBT can be learned from books and I’ve found it to be effective. It feels a lot like having to catch your negative thoughts and then do a complex algebra problem, but I’ve gotten much better at labeling my automatic negative thoughts.

Meditation. Something new I’m trying is meditation. Those negative thoughts, or ruminations, can be hard to catch sometimes. They are like little mosquito bites. Independently, very small. But if you have 150 mosquito bites in a day, they add up. Meditation helps me catch myself and implement the CBT. I use the 10% Happier app and recommend the audio book. It’s fantastic and totally secular, if that’s your preference.

Biofeedback. Sometimes I count my negative thoughts with a physical tally counter. I think this week it was something like 30 -> 26 -> 22 -> 6 -> 7 -> 5 . I’ve had days where is was between 100 and 200. That’s a negative thought every few minutes.

I found that when I actually count them, I make more of an effort to catch myself and think healthier thoughts. Instead of thinking “I’m a failure” I think “I feel embarrassed.” Instead of thinking, “I hate myself”, I think “I feel scared and socially anxious.”

Social interaction. Depression is an isolating disease and IT can be an isolating job. Social interaction get’s us out of our heads and can be a source of support. Even just being at the library and near people can be helpful.

Talk therapy. While I’m not currently in therapy, I was for a while. I found it useful to be in a non-judgmental environment and have someone else I could bounce things off of.

Summary

While I have been in no way cured, there are a number of things I do to treat myself. There are a multitude of options you can take and a plethora of resources out there. Some of them may not work, but many of them are worth trying.

Power BI Learning Path – Free and Paid Resources

This week’s TSQL Tuesday challenge is on learning something other than SQL. I’ve written before about how to keep up with technology. When you are starting out with a technology, it’s just plain hard to get a lay of the land.

So I thought I’d put together a learning path for Power BI, a technology that changes literally every month. This is a bit of challenge because there are so many moving parts when it comes to Power BI. So let’s break down those moving parts into different categories.

image

So, when I think about Power BI, I like to think about the flow of data. First we have the Data prep piece with Power Query, where we clean up dirty data. Next we model the data with DAX. I’ve written before about the difference between Power Query and DAX. They are like peanut butter and jelly and compliment each other well.

Now, if you are a SQL expert, you may not need to worry about Power Query or DAX much. Maybe you do a lot of the work in SQL. But either way, once your data is modeled, you need to visualize it in some way. You need to learn how to create your reports with Power BI Desktop. Once your report is created, you then need to publish it.

Finally, there is what I would call the IT Ops side of Power BI. You have to install an on-premises data Gateway to access local data. You need to license your users. You need to lock down security. All of these things might be outside of what a normal BI developer has to deal with, but are still important pieces. However, unlike the data flow model we talked about, the ops pieces happens at all of the stages of development and deployment.

With that overview in place, let’s get on to the individual sections and the learning paths as a whole.

Getting started with Power BI

When it comes to getting started with Power BI, I have two recommendations. First get your hands dirty, and secondly buy a book. Power BI is in many ways an amalgamation of disparate technologies. It took me a long time to to understand it and it didn’t really click until I took the edX course and did actual labs.

The reason I say to buy a book is this is a technology that is hard to learn piecemeal. When you are starting out you are much better off having a curated tour of things.

Free resources

  • Check out Adam Saxton’s getting started video.
  • Search Youtube for Dashboard in an Hour. This is a standardized presentation that will show you the basics in under an hour.
  • Follow the guided learning. This will walk you through bite sized tasks with Power BI.
  • Take the edX course. It has actual labs where you have to work with data inside of Power BI.
  • Check out the Introducing Microsoft Power BI book from Microsoft Press. It’s a bit dated at this point, but it’s free and is a great start.
  • Check out the Power BI: Rookie to Rockstar book from Reza Rad (b|t). The last update was July 2017, but it’s also very comprehensive and good.

Paid resources

  • Stacia Misner Varga (b|t) has a solid course on Pluralsight. It’s worth a watch.
  • Consider reading the Applied Power BI by Teo Lachev (b|t). It’s a real deep dive which is great, but can be a lot to take in if you are just getting started. A neat feature is that it’s organized by job role.

Learning Power Query and M

When it comes to self-service data preparation, Power Query is THE tool. The way I describe it is as a macro language for manual data manipulations. If you can pay someone minimum wage to do it in Excel, you can automate it in Power Query. Again, check out this post for the differences between Power Query and DAX.

Free Resources

  • Start with the guided learning. This quickly covers the basics
  • Reza Rad has a solid getting started post on Power Query that you can follow along with.
  • Matt Masson has a phenomenal deep dive video on the Power Query formula language, a.k.a M, from a year ago. It really helps elucidate the guiding principals of Power Query and M.
  • Blogs to check out:
    • Imke Feldmann (b|t) regularly has complex functions and interesting transformations on her blog.
    • Ken Puls (b|t) focuses on Excel and along with that, Power Query.
    • Gil Raviv (b|t) often has neat examples of things you can do with Power BI and Power Query.
    • Chris Webb (b|t) regularly dives into the innards of Power Query and what you can do with it.

Paid Resources

  • Ben Howard (b|t) has a Pluralsight course on Power Query. It’s a bit introductory, but great if you are just getting started.
  • Gil Raviv recently (October 2018) released a book on Power Query. What I really like about this book is it has more of a progression style instead of a cookbook kind of feel.
  • Ken Puls and Miguel Escobar (b|t) also have a book on Power query that has a cookbook feel. I found it helpful in learning Power Query, but it’s heavily aimed at excel users.
  • Finally, Chris Webb also has a book on Power Query. He goes into a lot of detail with it. However, the 2014 publish date means it’s starting to get a bit old.

Learning DAX

I always say that DAX is good at two things: aggregating and filtering. You aren’t doing those two things, then DAX is the wrong tool for you. DAX provides a way for you to encapsulate quirky business logic into your data model, so that end users doing have to worry about edge cases and such.

Free Resources

  • Read the DAX Basics article from Microsoft
  • Check out the guided learning on DAX
  • Learn the difference between Calculated columns and Measures in DAX. They can be confusing.
  • Make sure you understand the basics with SUM, CALCULATE and FILTER
  • Understand Row and Filter contexts. They are critical for advanced work in DAX
  • Blogs to check out
    • Matt Allington (b|t) has a blog with Excel right in the name but also writes about all the different parts of Power BI Desktop.
    • Rob Collie (b|t) has a voice all his own. read his blog to learn about DAX and PowerPivot without taking yourself too seriously.
    • Alberto Ferrari (b|t) and Marco Russo (b|t) are THE experts on DAX. Read their blog. Also see their site DAX.guide.
    • Avi Singh (b|t) regularly posts videos on Power BI and will often take live questions.

Paid Resources

Power BI Visuals

The piece of Power BI that is most prominent are they visuals. While it’s incredibly easy to get started, I find this area to be the most difficult. If you are heavily experience in reporting this shouldn’t be too difficult to learn.

Free resources

Paid resources

  • A really interesting book is The Big Book of Dashboards. While it doesn’t mention Power BI, it covers all the ways to highlight data and what really makes a dashboard.

Administering Power BI

Power BI is much more than a reporting tool. It is a reporting infrastructure. This means at some point you may have to learn how to administer it as well.

Free resources

Paid resources

Keeping up with Power BI

One of the big challenges with Power BI is just keeping up. They release to new features each and every month. Here are a few resources to stay on top of things:

Going Deeper

Finally, you may want to go even deeper with things. Here are some final recommendations: