My Response to “20 Things The Rich Do Every Day”

Posted by Josh | Posted in Finance / Economics, Productivity | Posted on 12-05-2013


Not too long ago I was reading the post 20 Things The Rich Do Every Day That The Poor Don’t over on the RichHabits blog. To be honest, a lot of what was in there did not surprise me. For example, there were multiple habits that revolve around what psychologists call an internal locus of control. People with this trait believe that they can affect their future with their own action. Writing down goals, believing that good habits create luck, seeing education as a key to success; all these are characteristics of someone who believes that with hard, intentional effort, you can make yourself successful, despite the “lot that life has handed you.”

Don’t believe that? Read the stories of self made people, like Chris Gardner, John Rockefeller, or even J.K. Rowling (hey, there’s even hope for writers!). None of these folks came from money, and some faced incredibly dark times before becoming successful. If you want to watch a movie practically guaranteed to make you cry, try The Pursuit Of Happiness, which tells Gardner’s story of homelessness and despair, before finally getting his chance.

As someone who’s struggled with bad habits in periods of my life, I am an absolute believer that the patterns in our lives can have a tremendous effect on the path it takes. Seeing this list only reinforced that belief.

I would stop short, however, of saying that all poor people are simply poor because of bad habits. I think that is far too simplistic an explanation, which ignores factors like the incredibly skewed distribution of wealth. Circumstances and societal factors absolutely play a role in either increasing or decreasing poverty. Coming from a background in science, I also understand that corrolation does not imply causation; that is, just because the rich happen to be good goal setters doesn’t automatically mean that setting goals will make you wealthy.

That doesn’t mean that the habits listed are not valuable. Quite the opposite, I would say. These skills build upon an overall trait that I consider paramount to success in life: resiliency. Having a large network, for example (habit number 12), would come in very handy when you unexpectedly lose your job. Believing that good habits lead to success (habit number 17) means you are more likely to be motivated to maintain those habits, even when things get rough. All these add up to someone being more able to hit back when life gets them with a roundhouse punch.

We cannot control the cards life deal us. But we can absolutely put ourselves in the best place to run with the hand we are given. I think that is why this list is something anyone wishing for success, financial or otherwise, should read.

How Children Remind Us To Appreciate Beauty In The Seemingly Mundane

Posted by Josh | Posted in Productivity | Posted on 12-03-2013

Tags: ,


If you’re anything like me, there will be times when you’ll find yourself getting caught up in the day to day minutae and struggles of life. Maybe the pot roast didn’t come out quite right. Maybe the car wouldn’t start (naturally on the same morning when you had an absolutely crucial client meeting to get to). Perhaps life has just decided to throw every majorly annoying curveball at you at the same time, to the point where it feels like an MMA fighter is using your head as substitute punching bag.

At times like these, thoughts tend to fly through our minds, filling our perception with negativity. We see reality not through rose (or even clear) colored lenses, but through a persistent cloud of reddish haze. Things that normally wouldn’t phase us feel like those padded gloves smashing into our metaphorical jawbone.

At times like these, we have a tendency to to totally overlook the little, everyday opportunities to enjoy the moments in our lives. We miss the wonderful smells of nature as we walk through the park. We don’t notice the calming sound of rain on the roof, or see the brilliant colors and textures of an Autumn sunset.

But, if we let them, our children can be wonderful reminders to appreciate the beauty in the mundane.

Case in point: this morning was just one of those times when things don’t want to go right. After the umpteenth small thing going wrong, likely my computer misbehaving, I was about ready to start bashing my head into the nearest wall. Then, I happened to notice my young daughter staring in absolute enchantment at a reflection of light on the ceiling from a toy mirror. As I flexed it back and forth, the light danced across the painted surface, making playful patterns. She cooed and giggled at the little creature in wonder.

I couldn’t help but enjoy her glee, but it also made me see the artistry in this tiny natural phenomenon. Something I would have completely missed, but to a child it was obvious.

I never cease to be amazed at the lessons our children can teach us, if we will only listen.

The Quiet Of Morning

Posted by Josh | Posted in Productivity | Posted on 12-01-2013

Tags: , , ,


It’s nearly 7 AM, and as I’m drinking my morning tea and reading, I suddenly feel the urge to write about how my newly acquired habit of getting up early has affected my life. At the moment, the house is still, with only the cats wandering around (well, one of them at least, the other, being a total lazybones, is curled up on the chair next to me).

It’s pretty well established that one of the common habits of successful people is waking up early. There’s also plenty of good tips on how to start doing it. I’m not going to re-hash those here; instead I’m going to just talk briefly about my experience.

All my life I’ve been a habitual late sleeper. In college I actually failed a class that began at 8AM, at least in part because I skipped almost a quarter of the lectures. My first job out of college had hours of 12pm – 8pm, and it wasn’t uncommon for me to be up until 2-3 AM, then sleep until 11 or so. Even after getting a job with normal hours, I still never broke the ritual of later mornings.

So what finally made me change? That’s easy: becoming a parent. Espeically after my second child was born, I found quiet time to be at an incredible premium. It was rare both of the kids were asleep at the same time, except for late at night or early in the morning. And given that, by the end of the day, my brain tends to be about as useful as a pile of noodles, it was only logical that the single easiest way to regain some of that valuable reflective time was to get up earlier.

Now, several months later, I would say that I am a successful “early bird”. What lessons did I learn throughout this process?

The first is that slow, gradual progress is better than huge leaps. At first I tried going all out (i.e. going from waking up whenever to 5:30AM or so) and immediately failed. My body simply couldn’t handle the dramatic change in schedule, and I quickly fell back to my old patterns. A gradual change worked much better, where I set my alarm around 10-15 minutes earlier every few days. There were still difficulties, but it was a much smoother transition.

The second is that my choice of alarm was more important than I thought. The traditional clanging bell or other constant noise did more to annoy me then wake me up, and it usually resulted in an angry slap of the snooze button and a failure to get out of bed. I experimented with several options before settling on the Sleep Time iPhone app. It uses the iPhone’s built in accelerometer to determine what stage of sleep you are in, and tries to wake you when you’re at a “light” period. It also starts the alarm very softly and gradually increases in volume, which wakes me up in a much more gentle fashion.

The third is that this works better if I don’t eat breakfast right away. Making my traditional green smoothie or eggs and veggies takes up a decent amount of time, and time is extremely valuable. Instead, I make myself a cup of coffee or green tea, sit down, and get to my morning work. Only after I’ve accomplished some useful things do I stop and think about eating. This also means that I can still eat breakfast with my family most days.

And speaking of useful work, the fourth lesson is that being intentional about what to do with my time in the morning is crucial. It’s very easy to get lost browsing the news sites or reading blogs. And there’s nothing wrong with that, as long as that is what I really want to do. So, before I get started, I’ll stop and think about what I want to accomplish in the hour or so I’ve got.

Finally, I would say the consistently getting up at the same time, even when I didn’t necessarily have to (such as weekends) or got poor sleep (because that would never happen with two small children) helped get make this a successful habit. I’m not sure if there is some scientific reason behind this, but from a purely personal experience perspective, always getting up at the same time seemed much easier than modifying the time based on factors like when I went to bed the night before. Yes, this means there are days when I’m running on a less-than-desirable amount of sleep. But I find that my body usually does a decent job of telling me when I’m burning the candle too long and need to get to bed earlier. I will say that the one exception to this rule is when I’m sick; in that case I just let myself wake up when my body decides it’s time.

There’s no doubt in my mind that learning to be an early riser has been a huge help in keeping my reading and writing habits alive during the challenging period of raising two small children. The stillness of the morning (well, except for the one cat whining to go out or be fed), the feeling of a clear mind, and not having several voices clamoring for my attention are all wonderful things to experience. If you’re thinking about taking the plunge and getting up earlier, my advice: go for it.

What I Am Thankful For – 2013 Edition

Posted by Josh | Posted in Uncategorized | Posted on 11-28-2013

Tags: , , ,


It’s been a long time since I wrote anything here. For a variety of reasons, I’ve simply found that other things have taken a priority. I’ve been largely OK with that, but part of me has decidedly missed the habit of writing. And so, on this day of thanks, I sit here with my warm cup of tea beside me, and struggle to adequately describe just how grateful I am for all that I have been blessed with.

My life is far from perfect. But that doesn’t mean I don’t live an incredible easy life, compared to most. And that is a fact I remind myself of multiple times a day.

Being a parent brings its share of challenges and struggles, as anyone with children knows well. But I love my family more than life itself, and I would not trade my time with them for anything in the world. I’ve heard it said that no one will make you feel worse than your children, but no one will make you feel better than your children. That’s about as accurate a statement about parenthood as I know. So today, I am thankful for my two wonderful children, my loving, supportive wife, and the rest of our family, both blood and those incredible friends we hold so dear.

Work has been stressful as of late, with lots of deadlines looming and multiple demands on my attention. I’ve had a lot of difficult interactions where I struggled mightily to keep my patience intact. I feel that I may have engaged in a little too much complaining on the home front, but to her credit, my wife has listened to my rants with a patient ear. But I do love my job, despite those challenges. I’m given an amazing amount of autonomy and freedom to manage my time, and I enjoy being at the forefront of new initiatives. My company has always treated me with respect and appreciation, which is more than I hear from many. So today, I am thankful for the opportunities I have been given and continue to enjoy, even in these, well, interesting economic times.

Over the last year or so I’ve become far more interested in politics and the state of our nation. As a result, I’ve read a lot of negative things about the good ol’ US of A. Depending on what you read, we’re either becoming a totalitarian state, following ancient Rome into collapse, or on the verge of massive economic disaster. Maybe some of these doomsday prophecies will turn out true in the end, but then again maybe they won’t. I don’t know that anyone could argue that we do not still represent an amazing achievement in the annals of human history. Ask yourself: has anyone done a better job of walking the delicate line between freedom and anarchy? Has anyone been responsible for more progress in the realms of social, economic, and political liberty? Who else has endured through countless crises, only to emerge stronger and lead the world into what may be the most prosperous era in recorded history?

Does this mean that the good times will continue on indefinitely? That the so-called Pax Americana will stretch on ad-inifinitum? That we will face down all of the many challenges we will encounter in the coming years, from a dwindling supply of natural resources to a world economy that seems to be stuck in neutral, and come forth the same dominant force in the world? Certainly not. There’s any number of things that could happen that would result in a (quite possibly less than graceful) fall from power. Greater, more enduring empires have fallen before, and will surely do so again. Some day, America as we know it will cease to exist. It will become a thing of stories, a mere blink in the great expanse of history.

But for the here and now, I can think of no place where I would rather raise my children. Despite what many might say, I still believe we are the land of opportunity, where individuals are empowered with an incredible level of freedom and abundance, where one has the ability to make their way in life as they may choose. This is something that I strive to remember each and every day. And so, today, I am thankful for being a part of this still great nation.

Book #1 of 2013 – “Atlas Shrugged” by Ayn Rand

Posted by Josh | Posted in Reading | Posted on 02-20-2013



As part of my trying to diversify my writing on the blog, I thought I might start commenting on books that I read. So, without further ado, here’s the first! (Note: I’m actually on the fourth book of the year but am playing catch-up.)

Atlas Shrugged is, in my opinion, probably one of the most iconic (and controversial) books out there. From what I’ve seen, people read it and generally either consider it gospel or blasphemy. Many tout it as a warning of how interventionism and central planning will be the downfall of our modern economy, and perhaps society in general. I actually found myself in the middle of the road, albeit with a decided lean.

One the one hand, I see some logic in Rand’s obvious belief in free capitalism. Markets can only work when the values of goods and services are allowed to set themselves according to demand, not by the whims of planners. Governments bailing out failed businesses (“Too Big To Fail”?) at the expense of taxpayers and more successful ones seems to encourage mediocrity and rampant speculation. Look no further than our current situation, where those who patiently save and practice frugality are punished by record low interest rates, while the traders who throw piles of money at the market reap huge profits. And when they make poor choices (can anyone honestly say that investing in mortgages where the holders’ incomes weren’t even verified is a prudent decision?) and suffer, here comes the almighty Fed and the U.S. government to help them out. As a result we have a ballooning debt and a stagnant economy. I’m not an economist so I certainly can’t pretend to say all this is exactly what Rand foretold, but the similarities are striking.

Taking the opposite side, I believe firmly that what Rand describes is really more of an ideal than reality. If all corporations were honest, and all workers fairly treated (and by that I mean paid what their work is worth, and not made to work under dangerous conditions – at least not unwillingly), then sure, we could have a totally free market with no regulation. That not being the case, there has to be some allowance for governments or regulatory bodies to oversee things and ensure that people are not defrauded or placed in danger. Without unions, coal miners or high rise construction workers might still be working under horrific conditions (Lunch atop a Skyscraper anyone?). Having only read one of her books I can’t say for sure, but I have a suspicion Rand might well (at least partially) agree with me. In the famous “John Galt speech” (which yes, those of you who know what I mean, I read the whole thing), there’s this little tidbit:

The only proper purpose of government is to protect rights; a government’s only proper functions are: the police; the armed forces; and the courts, to settle disputes by objective law.

If there are laws prohibiting children under a certain age from working, or requiring that workers are protected with basic safety measures, and a corporation fails to follow those, then the government has every right to lay sanctions upon them. Or if a company turns out to have defrauded folks out of their money (though in many cases I’d argue that defrauding should be defined quite narrowly – if you foolishly invest your money without understanding where you’re putting it, shame on you), they should be made to give it back.

Naturally things like this are all part of a larger continuum, where conditions swing from one end to another in a cyclical fashion. Things go too far down one path, and we are forced to make hard course corrections. I think history has generally shown that human kind is fairly clueless at recognizing when our path has drifted to far to one side, and as a result we generally defer dealing with reality until it hits us squarely in the jaw. My psychology background has also taught me that there are a lot of reasons why we generally make poor decisions, most of which we are completely unaware of. Hopefully Rand’s tale turns out to be more of a cautionary one, rather than a stark look at the future of our society.

Dealing With Too Many Voices

Posted by Josh | Posted in Productivity | Posted on 02-19-2013

Tags: , , ,


When I was a DBA (and, to a lesser extent, now as well) I frequently got into a scenario where I’d have multiple groups clamoring at me to accomplish a request from them on short notice. This sometimes became a problem, such as when there was only x hours in the day and I needed y hours to finish everything that folks were requesting. Or, when I had multiple people demanding immediate service (that never happens, right? Oh wait, it just happened today, that’s why I’m writing this. #Facepalm). Earlier in my career I would tend to get worked up, let my blood pressure go up, and perhaps engage in some creatively worded conversations with the people competing for my time. But after realizing that (a) this really wasn’t helping things, since people still want what they want; (b) all the yelling wasn’t helping my health, I came up with a couple rules on how to handle these, let’s say, explosive situations. In both cases, they’re remarkably effective at both alleviating the confusion over relative priority and lowering my stress level.

First: don’t even try to work out on your own which request is more important. Sure, you can ask questions and try and rank things in your mind according to things like which client things are for, how long things take, etc. Ultimately though, you’re going to be wrong in someone’s eyes and that someone is going to be unhappy with it. And moreover, unless you’re a manager, you’re not paid to determine things like that. You’re paid to get things done and write code, period.

Second: let the competing groups do just that – compete! Send an e-mail to the various requestors stating something like this:

Hi there folks, this is your friendly neighborhood (DBA | Architect | Database Developer) speaking. I thank you all for putting in your requests to me, and I acknowledge that each of you has requested that I handle them immediately. Unfortunately I can only work on one task at a time (unless someone’s developed cloning technology, which would be super!), so I will be doing these in the order which they were received. Before you begin thinking of arguments to get me on your side, I will warn you that this decision is not mine to make, so please do not send me justification of why you need to come first. If you feel that your request should take priority, please work with the owner(s) of those requests in front of yours to adjust their priority. If you all can amicably agree to shuffle things around I’m happy to oblige. I’ve listed the relevant work items below in order along with their owners. If I do not hear back I will assume you are all fine with this and will proceed in the order shown. Thanks!

Let the various people battle among themselves for the lead. Yes, this can sometimes get a little bloody, so you should probably check with your boss to make sure this is allowed before doing it. Which brings us to our third point…

Third: let your boss handle it. Managers are paid to, well, manage! If people cannot agree peaceably (or otherwise) on a pecking order, let your boss hear each of their cases and then tell you what to do. This will take the pressure off you to make a decision that is clearly one at a level above yours. Certainly your boss may (and perhaps should) ask for your input in the matter, but the decision should rest with them.

Since I’ve put the above rules in place I’ve never been more than slightly annoyed when these situations inevitably come along. It may not stop (or even lower) the volume of whining coming your way, but it will let you deflect and delegate all the stressful aspects of the problem.

You Only Have So Much Time – Use It Wisely

Posted by Josh | Posted in Productivity | Posted on 01-06-2013

Tags: , ,


Hello there blogosphere… been awhile since I posted!

What’s that you say? Did I lose my motivation? Why no, actually, I’ve been extremely motivated lately. Just not to blog.

You see, I came to a realization shortly after my last post: I’ve only got so many hours in a day, so I’d better use them as best I can. I love blogging; really, I do! But I love spending time with my family more. I love working on our drafty old house, tilling the garden, seeing some tangible results of my work. For some reason, I am finding myself really hung up on the whole idea of producing things with physical presence. For example, for Christmas I spent hours building the simplest little wooden toy for my son. I’m not a natural and not very experienced at that sort of thing, so it was not easy work. But I found immense enjoyment in it, and the look on his face when he saw it come out of the box was nothing short of priceless.

Perhaps this is why I haven’t been blogging much. Writing is wonderful, but if I’m going to be brutally honest, I’d much rather write science fiction than SQL Server. Please don’t misunderstand me; I love my work and learning about SQL Server. When I’m on the job I eat, sleep, and breathe it. I’d say you’d be pressed to find someone more passionate and focused than I am during those 8-10 hours on Monday through Friday. But when work is done, I want it to be done.


The above picture is something that really had some profound impact on my perspective. For a while I felt like I was floundering in my personal life. Things never seemed to really get done. I had my lists, and I was reviewing them, but I lacked focus. I never felt like I had much time to get things done. So, I decided to see just how much time I really had.

Using a simple Excel sheet, I laid out my week, then blocked out sections in color for things I knew I had to do. Green is sleeping, yellow is work, and blue is meals. And when I saw what was left, I was shocked. My feeling that I never had enough time to get stuff done? Boy was I right. Comparatively speaking, my “discretionary” time (that is, the time during which I pretty much choose what I do) was quite small.

Obviously, short of quitting my job or getting less sleep (and believe me, you don’t want to see me in zombie mode), there was no way to increase the time available to me. So instead, I chose to be more deliberate with how I spend what time I have. I sat down and thought long and hard about what is important to me. After awhile, I came up with a list, and while work and SQL Server were definitely on there, they weren’t as high up as I’d have thought. So, I made the conscious choice not to write on this blog, while doing other things.

That word, “conscious”, is a very important one. Whereas in previous hiatuses, the lack of postings was more about my lack of motivation, this one was more about doing what was important to me. And I hope that in sharing this, I might encourage others to do the same. J.R.R. Tolkein famously wrote “All we have to decide is what to do with the time that is given us.” So, if you find yourself mindlessly wandering through your personal life, as I did, stop wandering, and start deciding.

Now don’t fret, dear reader, for I am not abandoning this blog. I’m still going to write, even about SQL Server! But at the same time, I’m going to spend a good bit of time on other things, like writing that novel that’s been sitting at one chapter for over a year now, or tending to my garden (because c’mon, who doesn’t love fresh-from-the-ground veggies?). I hope you’ll stay with me, because I do think I’m still going to write interesting stuff; just a little more diverse than previously. I’m going to work on getting category-specific feeds up, so if you like, you can just subscribe to those that interest you. I also plan on trying to write a few articles for the likes of SQL Server Central or Simple Talk.

Comparing SQL Result Sets With Powershell

Posted by Josh | Posted in Life As A SQL Developer, Powershell, SQL Server | Posted on 10-23-2012

Tags: , , ,


Lately I’ve been doing a lot of work re-writing some reporting code that was performing terribly. You know the old joke “Start it, then go get a cup of coffee, then come back”? Well in this case, that would be more like “Start it, get a cup of coffee, go for a run, read the morning news, eat lunch, take a nap, eat dinner, watch an hour of TV, then come back.” Ugh…

Obviously it’s important when modifying and tuning code to ensure that you don’t affect the results that come out of the procedure. Normally I like to do this using unit tests, but in this case the logic of the procedure was so complex (and relied on a bunch of underlying vendor code) that to create tests for it would have taken weeks. So instead, I opted for the strategy of simply comparing the old and new output, given a set of standard parameters. At first I did this manually, but after comparing 200+ columns a few times, I said to myself, “Self! This is silly, why not use Powershell to compare the results automatically?”

The result is the Compare-SQLResultSet function. It’s rough and currently doesn’t handle differently shaped results sets at all, but it has already been a huge time saver. I hope to improve it as time goes on, but wanted to get it out so others in the community could use it. Because if you’re doing this kind of comparison work manually… well, perhaps you should find a different line of work, because clearly you’re not getting it.

Unit Testing T-SQL – Some Opening Thoughts

Posted by Josh | Posted in Life As A SQL Developer, SQL Server, T-SQL Programming | Posted on 09-06-2012

Tags: , ,


One of the first goals I have in my new role as a SQL Server developer is to learn how to write unit tests for SQL Server database code. I’ve started using the open source TSQLT framework, and I thought as I go I’d record my thoughts in an ongoing series.

What have I learned so far (in about a week’s time)?

Retro-fitting Unit Testing Is A Lot Of Work

This isn’t TSQLT specific, but I think it’s a valid point. One of my first projects is to add units tests to a number of existing stored procedures. It’s a lot of work, for a number of reasons. At least several of them actually don’t have much to do with unit testing, per say, but are just indicative of other issues. For example, creating unit tests is very difficult without solid and documented business requirements. In their absence, all you can do is try and reverse-engineer the code. This is even more difficult if the code is complex and not well commented.

In addition, if the stored procedures involve multiple tables, the necessary setup code can be lengthy. Just making sure all the tables have correct values is a significant amount of trial and error work. This alone accounted for hours of getting my first unit test up and running. When you do this, make a list of all the tables and go through each one methodically. Depending on the framework you are using, and how you are organizing your tests, you may want to do this work in “setup” code (meaning, code that executes once at the beginning of testing). TSQLT has this functionality; you just include a procedure called “SetUp” in your test suite.

FakeTable Is Your Friend

TSQLT has a stored procedure called “tsqlt.FakeTable”, whose function is to “[create] an empty version of the table without the constraints in place of the specified table.” This makes isolated testing very easy, without dealing with foreign keys or constraints. Naturally, if you’re actually testing those constraints (which, apparently is also helped by more TSQLT functionality) this is a bad thing. But if you’re just testing data returns or calculations, this can be immensely helpful.

Perseverance Is Key

This is tiring work, especially when having to create all the tests after the fact. But the feeling you get when you get one working is well worth it. It’s amazingly calming to know that you can make any change you want to a piece of code and instantly know if it breaks key functionality. It’s taken a lot of the anxiety out of working on some very critical code, especially as a relative newcomer to the field of database development. And once I’m done, I’m thoroughly convinced that the amount of time this will save in the future is well worth the effort.

That’s all for now. I’ll continue to record my thoughts in this tag as I get further down the road. In the mean time, if anyone has tips for a newbie, please feel free to share!

Are You Developing SQL In A Sandbox?

Posted by Josh | Posted in Life As A SQL Developer, SQL Server | Posted on 09-01-2012

Tags: , ,


As a development DBA I often got requests from developers to elevate their rights to sysadmin for the purpose of “trying out some things for a proof of concept.” Examples would include things like Service Broker, replication, and CLR. And every time my answer was the same: No.

Now, before you stop reading and go off muttering “Man, what a typical DBA-hole”, you should understand why I took this view. The systems where the developers wanted this access were shared enterprise development and QA systems, which were often used by many different teams. If I had caved and given the developers this access, and they’d somehow managed to take the instance down or otherwise affect its stability, I would have had scores of people standing at my desk screaming about lost productivity. And rightfully so, because as a DBA it’s my job to make sure their systems are working.

On the other hand, there is clearly a need to allow folks to experiment with methods and architectures. Otherwise, how would we ever learn how to do new things, or know if a particular approach is going to work? But the enterprise environment isn’t the place for that. Instead, this is where one of a developer’s most important tools comes into play: a sandbox environment.

The basic concept is this: you have an area where you can play to your heart’s content without fear of affecting others. You can tear things down and rebuild them as you please (and hopefully in automated fashion, because good developers are always lazy). Personally I like to have this setup on my personal machine, using a series of virtual machines. With hard drives and memory being pretty cheap, SQL Server Evaluation Edition, and great free virtualization products like VirtualBox readily available, there really isn’t an excuse not to have something like this. Using some scripting and products like the excellent SQLSPADE automated SQL installation framework, you could spin up a couple SQL servers in a matter of an hour.

Once you’ve proven out your idea, and gotten the setup process streamlined (because no DBA ever wants to get a multi-page document full of screenshots of clicking “Next” buttons), that’s when you can move on to the shared environments, to make sure things are going to work properly in a leveraged setup.

Since moving into a full time development role, I’ve become even more convinced this is an essential tool for being a successful database developer. It makes my life so much easier not having to constantly go through channels when I need something done like setting up a login on a server. Mind you, I still agree with those processes, because they protect the shared environment from renegades like me.