The Implicit Optimism of #DevOps

One of my favorite podcasts lately is DevOps Caf√©; John Willis and Damon Edwards do a great job of talking about the various trends in IT management, and have really opened my eyes to a lot of different ways of thinking about problems in enterprise systems administration. On a recent podcast, John interviewed Damon about his #DOES15 presentation, “DevOps Kaizen: Practical Steps to Start & Sustain a Transformation“. During that conversation, Damon mentioned a phrase that really resonated with me: Be Good at Getting Better.

At the heart of the DevOps philosophy is the desire to improve delivery of services through removal of cultural blockages. Success isn’t measured by the amount of code pushed out the door or the number of releases; it’s the ability to continuously improve over time. Companies that experiment (even with ideas that don’t work) learn a different way to approach any problem that they face. The freedom to experiment means that failure is not an outcome; it’s a method of improvement.

The optimism of that appeals to me; I think if you’re focusing on continuous improvement, then you’ve implicitly accepted two fundamental principles of optimism:

  1. Change is necessary for growth, and
  2. Things CAN improve (you just need to figure out how).

There’s some beauty in that; if you’re an organization facing overwhelming technical debt, it’s not uncommon to sink into a spiral of despair, where changes are infrequent for fear of breaking something. Mistrust breeds, as organizations point fingers at other teams for “failing to deliver”. You quit working toward solutions, and instead focus on fighting fires and maintaining some sort of desperate last stand.

You’re better than that.

DevOps is a cultural change; it’s an optimistic philosophy focused on changing IT culture while being open to different strategies for doing so. If you can commit to Be Good at Getting Better, you can change. It may be slow, it may be frustrating, but every day is an opportunity to incrementally move the ball forward in delivering quality business services. The trick is not to focus on where to begin, but simply to begin.


September 7, 2016 ¬∑ stuart ¬∑ No Comments
Tags: , ,  ¬∑ Posted in: DevOps, SQLServerPedia Syndication

#DevOps Two Books for Operations

Over the last couple years, there’s been a subtle shift in my responsibilities at my day job (and my interests in technology overall).¬† I’ve been doing much less database development and administration work, and more general system architecture work.¬† That’s harder to write up in blog posts than SQL code, so I’ve struggled with writing, but I want to get back into the habit.¬† So excuse the choppiness, and let me try to put some thoughts on digital paper.

I’m pushing very hard for my company to adopt DevOps principles.¬† There’s a lot of material out there about DevOps from the developer perspective, but there’s few resources for those of us on the operations side of the house.¬† In a pure sense, there’s no such thing as sides, but in a regulated industry like healthcare or financial services, old walls are tough to break down, so they’re useful as organizational frameworks for general responsibilities.¬† However, we are all developers, whether or not we sling code or manage infrastructure as code; the goal is to produce repeatable patterns and tools that allow growth and change.

Two great books that I’m reading right now are:

The Practice of Cloud System Administration by Limoncelli, Chalup, and Hogan.¬† Tons of practical advice for building large-scale distributed processing systems, and DevOps philosophy is woven throughout (and specifically highlighted in Chapter 8).¬† This is one of those books that you’ll feel like diving in on some sections, and skimming over others; it’s a through examination of system administration from development through implementation, so there’s lots of conceptual hooks to grab hold of (and conversely, things that you may not have experienced).

The second book that I’ve recently started reading is Site Reliability Engineering: How Google Runs Production Systems.¬† This book is a collection of essays which explore Google’s method of approaching reliability; like most things Google, Site Reliability Engineering is similar to DevOps, but specific to the ways that Google does thing.¬† It’s also light on documentation (insert joke about Google and beta products here).¬† However, it does offer several insights into day-to-day system administration at Google.¬† While the SRE model is not exactly like DevOps, there’s lots of overlap, and differences may be attributed more to practice than to concepts.

More to come.

 

August 30, 2016 ¬∑ stuart ¬∑ No Comments
Tags: , ,  ¬∑ Posted in: Blogging is FUN!, Book Reviews, DevOps

#DevDataBhm inaugural event

I’m presenting today at DevDataDay in Birmingham.¬† First time in a while for me, but I’m excited about the opportunity to go to sessions again and learn something (more on that in a bit).¬† I realize this blog has been a bit dusty for a while, but I’m gonna try to do better about that.

TOPIC:   Theory of Cloud Database Administration
SPEAKER: Stuart Ainsworth
ABSTRACT: 
The cloud is more than just a marketing term; it’s a model for designing scalable, distributed systems and assigning ownership to various components of those systems.¬† Data is a crucial part of that model, and there are lots of challenges ahead.¬† This presentation will explore the history of cloud computing, the current state of data in the cloud (using SQL Server 2016), and the impact on career choices for data people.

August 20, 2016 ¬∑ stuart ¬∑ No Comments
Tags: , , ,  ¬∑ Posted in: Conferences, SQL

Where’s your slack?

I’ve been rereading the book Slack: Getting Past Burnout, Busywork, and the Myth of Total Efficiency recently.¬† As I alluded to in my last post, my life has been rough for the last few months.¬† My nephew’s passing took the wind out of an already saggy sail; I’ve spent a great deal of time just trying to balance work, family, and life in general.¬† Some people turn to counselors; I turn to project management books.

The premise of the book is that change requires free time, and that free time (slack) is the natural enemy of efficiency.¬† This is a good thing; if you are 100% efficient, you have no room to affect change.¬† Zero change means zero growth.¬† I’ve been a proponent of slack for a while (less successfully than I’d like); it makes sense to allow people some down time to grow.¬† Just to be clear, slack isn’t wasted time; it’s an investment in growth.¬† Slack tasks include:

  • Research into interesting projects.¬† Lab work allows you to experience the unexpected, which gives you time to prepare for the unexpected in production
  • Building relationships. Teams are built on trust, and trust is earned through building relationships.¬† Teams that like each other are more likely to be successful when it comes to problem solving.
  • Shadow training.¬† Allow team members to work in other teams for a while; learn how the rest of the company operates.

In short, slack is necessary in order to promote growth; if you want your organization to stay ahead of it’s competition, cutting resources in the name of efficiency is sure-fire plan for losing.¬† The best advice for slack time is the 80/20 rule; run your team at 80% capacity, and leave 20% for slack.¬† In the case of emergency, slack time can be temporarily alleviated, but it’s the responsibility of management to return to normal work levels as soon as possible.

So what does this mean for me personally?¬† In the name of efficiency, I let slack time go.¬† I work a full time job, a couple of different consulting gigs, act as a chapter leader for AtlantaMDF, and am an active father.¬† I have no hobbies, and suck at exercise.¬† I love to travel, but trips are planning exercises in and of themselves.¬† In short, I have zero slack to deal with emergencies.¬† When something goes wrong and time gets compromised, I immediately feel guilty because I’ve robbed Peter to pay Paul in terms of time.¬† That’s not living,

I’m done with that.

Change is incremental, so I’m not planning on upsetting the apple cart just yet, but I am trying to figure out ways to make my slack time more of a recharge time.¬† Don’t get me wrong; I waste time.¬† I sit and stare at Facebook like the rest of the modern world; I binge on Netflix when new series drop.¬† That’s not slack, and it doesn’t recharge me. Slack is using free time to grow, to change.¬† My goal is to find an hour a week for growth-promoting free time.¬† I’ll let you know how I’m doing.

 

April 11, 2016 ¬∑ stuart ¬∑ No Comments
Tags: , , , ,  ¬∑ Posted in: Blogging is FUN!, Professional Development

R.I.P. Cristian Charles Hammons – 1/12/1994 – 12/1/2015

12509403_10153830404628104_6803017885983941827_n

I’ve been reluctant to write this post for a couple of months now, in part because I don’t usually use this forum for posting personal stuff, and in part because I didn’t know what to say.¬† I’ve got another post in mind, however, and I felt like I needed to give this topic the respect it needed before I could pick up where I left off.¬† Bear with me.

On December 1, 2015, my nephew took his own life.

No matter how many ways I tried to write that previous sentence, none of them seemed to adequately capture what I’m thinking or want to say, so I’ll leave it alone and try to finish this post.¬† Cris was a smart, funny, kind young man with whom I didn’t spend near enough time as he grew up; I really only got to know him over Facebook as an adult, and I loved him.

He had battled depression for years, and he lost the war.¬† He left behind a grieving fiance, a set of in-laws who loved him very much, his mother (my sister),¬† grandparents, great-aunts, great-uncles; all of us were shocked, and I didn’t realize how much I would miss him.

Family is important, y’all.¬† Don’t miss out, and don’t let anything keep you from loving yours.

Me and Cris, circa 1995

Me and Cris, circa 1995

February 17, 2016 ¬∑ stuart ¬∑ 2 Comments
Tags: , ,  ¬∑ Posted in: Health

#BigData is coming; what should SQL Server people do about it?

I’ve been presenting a lot on Big Data (specifically Hadoop) from the perspective of a SQL Server DBA, and I’ve made a couple of recent observations. ¬†I think most people are aware of the fact that data generation is growing at a staggering rate, with some estimates as high as 44 zettabytes by the year 2020; what I think is lacking in the SQL Server community is a rapid movement among database professionals to expand their skills to highly scalable Big Data platforms (like Hadoop) or streaming technologies. ¬†Don’t get me wrong; I think there’s people out there who have made the transition (like Michelle Ufford; SQLFool, now Hadoopsie), and are willing to share their knowledge, but by and large, I think most SQL Server professionals are accustomed to working with our precious relational system.

Why is that?  I think it boils down to three reasons:

  1. ¬†The SQL Server platform is a complex product, with ever increasing opportunities to learn something new. ¬†SQL 2016 is about to drop, and it’s a BIG release; I expect most SQL Server people to wrap themselves up in new features and learn something new soon. ¬†There’s always going to be a need for deep expertise, and as the product continues to mature and grow, it requires deeper knowledge.
  2. Big Data tools are vast, untamed, and very organic. ¬†Those of us accustomed to the Microsoft development cycle are used to having a single official product drop every couple of years; Big Data tools (like Hadoop) are open-source, prone to various forks, and very rapidly developed. ¬†It’s like drinking from a firehose.
  3. It’s not quite clear how it all fits together. ¬†We know that Microsoft has presented some interesting data technologies as of late, but it’s not quite clear how the pieces all work together; should SQL Server pros learn Azure, HDInsight, Hadoop? ¬†What’s this about U-SQL? ¬†StreamInsight, Spark, Cortana Analytics?

The first two reasons aren’t easily solved; they require a willingness to learn and a commitment to study (both of which are difficult resources to commit). ¬†The third issue, however, can be easily addressed by the following graphic.

This is Microsoft’s generic vision of a complete end-to-end analytics platform; for the data professional, it’s a roadmap of skills to learn. ¬†Note that relational engines (and their BI cousins) remain a part of the vision, but they’re only small pieces¬†in an ever-increasing ecosystem of database tools.

So here’s the question for you; what should SQL Server people do about it? ¬†Do we continue to focus on a very specific tool set, or do we push ourselves (and each other) to learn more about the broader opportunities? ¬†Either choice is equally valid, but even if you choose to become an expert on a single platform in lieu of transitioning to something new, you should¬†understand how other tools interact with the relational system.

What are you going to learn today?

December 1, 2015 ¬∑ stuart ¬∑ No Comments
Tags: , , ,  ¬∑ Posted in: Blogging is FUN!, Hadoop, Professional Development, SQL, SQLServerPedia Syndication

My good Karma (Go) for the day

A couple of weeks ago, I briefly mentioned the Karma Go, and how I intended to use it to stay connected at the 2015 PASS Summit in Seattle. ¬†The good news is that the little fella worked great inside the convention center; the better news was that the convention center had upgraded its WIFI capabilities, so my Go was unnecessary. ¬†However, something else has recently happened that may be helpful to people closer to home;¬†Karma has recently announced that a monthly unlimited plan is now available for the Go. ¬†Speed’s capped at 5MB, which isn’t super-fast – unless you live in Jackson County, Georgia.

You see, here in Jackson County, we have only one option for broadband: Windstream DSL. ¬†When it works (as it has for me), it’s fine; I have the 12MB package, which is OK for working from home. ¬† If I have an outage, I fall back to my Go and I’m covered (that’s happened twice since I got the device in August). However, a lot of people in Jackson County pay for a service that is unreliable (to say nicely); quotes pulled from a Facebook group dedicated to Windstream issues in the county:

Really tired of the constant outages. I’ll reset and the Internet comes back in for 2 minutes then goes right back out. It’s just awful!”

Or sometimes it works, but at speeds far less than what you’d expect

Service today at the office [in] Pendergrass…. [(0.57 MB down/.42 MB up)] makes life interesting trying to get business done… Thank God my Ipad is ATT. “

Or sometimes they don’t show up at all

I moved. Windstream said they’d be here today. I called at 4:30 to ask when since they haven’t called. The service rep said we were next in que and it is now 7:30. No show. How typical. Lies and the runaround. Windstream is beyond incompetent.”

Windstream was hit with a $600,000 fine by the Georgia Governor’s Office of Consumer Protection, and while the service has improved for some, many of my neighbors are still being overcharged for a service they’re not receiving. Some folks in the group had read about the new unlimited plan for Karma Go and wondered if it could be used to replace Windstream. The blog announcement for Neverstop includes this caveat:

“Can I ditch my home internet provider?

Neverstop isn’t meant to be a replacement for your home internet (yet). It’s a way to have internet anywhere, anytime. Speeds on Neverstop aren’t fast enough to be comparable to a wired home internet connection. It’s not practical for most people to use Neverstop as their only internet connection, but if you’re a light user and looking to cut down on costs, you’re welcome to give it a try. Lots of us at the Karma office are already using it as a replacement for a phone plan. Who needs minutes and texts these days?”

I thought I would help people decide for themselves; I asked the Facebook group for general locations in Jackson County where people were interested, and I headed out.

Here’s my lessons learned:

Jackson County, Georgia is bigger than I thought.

I had originally allocated an hour for my trip, but it took nearly 2 (and the starting point above is not near my house). The area is semi-rural; there’s lots of little suburban areas and towns surrounded by farms and ranches. I-85 runs through it, so cell coverage (even Sprint) is pretty good. I streamed music over the Go the entire trip, and had no hiccups; everywhere I stopped (and whenever I glanced at it), I had at least 2 bars of signal, and usually 3. In hindsight, I probably should have streamed video as a test, but overall, I think it was a fair representation of coverage.

Speed tests were good (mostly).

Below is a chart of my findings, complete with download and upload speeds. I used two different speed tests, and got comparable results from both, so I’m listing the worst speed for each spot check.

Location

Download (Mbps)

Upload (Mbps)

Durham Dr, Hoschton

5.36

2.50

Oak Grove Church, Jackson Trail, Hoschton

4.13

4.22

Jefferson Memorial Stadium, Jefferson

4.93

2.40

Real Deals, Jefferson

0.95

1.72

Brockton Loop (Far Side), Nicholson(?)

5.39

10.37

Thyatria Brockton Road, Jefferson

4.00

6.12

QuikTrip, Pendergrass

2.99

5.14

Diamond Hill Church Road, Maysville

2.46

2.87

Sims Bridge, Commerce (Banks County)

5.61

3.66

 

As you can see, the Karma Go on the Sprint LTE network provided broadband speeds throughout my journey, but they weren’t always high speeds. The finding near the Real Deals store concerned me, but it may have been related to where I was parked. Overall, it may be worth investigation as a replacement for home internet services within certain contexts (explained below).

Possible Pros for Karma Go ‚Äď Neverstop plan

If you’re a Jackson County resident and looking to escape from the Windstream experience, the Neverstop plan has some benefits that may make it worth considering.

  1. They offer unlimited internet connection for $50/month, capped at 5Mbps downup (I think it’s 5Mbps both ways).
  2. The plan allows for three devices to be connected to the Internet at a given time; if a fourth device connects using the plan, one of the other ones will be disabled until the number gets back to 3.
  3. They offer a 45 day return period for the device, which retails at $149. I don’t think that refund covers any purchased data, but if you feel like the device CAN’T replace your home internet service, will work as a reasonable backup, they let you swap plans at any time.
  4. They also have a referral program; here’s the link to my code: https://yourkarma.com/invite/stuart4873. If you decide to purchase the device, you get $10 off, and I get a $10 credit.

Possible Cons for Karma Go ‚Äď Neverstop plan

Here’s the possible problems that I see with using Karma Go as a replacement for your home broadband service:

  1. LTE technology is based on cell service, which is usually less stable than wired connections. Given the instability of Windstream, however, I don’t know if that’s true or not. My single sample today may not accurately reflect coverage at your home; that’s why I’d recommend trying it for 30 days before dropping your old service.
  2. A hotspot is NOT a router. This device allows you to connect a computer or other device over WiFi to the Internet, but not to each other. In other words, your devices won’t see files on each other directly; if you’ve got advanced networking needs or a lot of devices, this may not be a great fit.
    1. A perk of this is that each device that’s connected gets its own 5Mbps pipeline; that pipe is not shared among your devices.
    2. You may be able to purchase a router that allows you to create an internal Wifi network for your devices, and then connect over another Wifi channel to the hotspot (like this one). You’d get connectivity between your devices (and override the 3 devices connected to your Karma Go rule), but they’d all split the 5Mbps pipeline.
  3. The company itself is young. Karma’s only been around for a few years, so there’s no telling how reliable they are. They’ve had some shipping problems and communication problems of their own, but that’s part of being a startup.

Final Thoughts: Should You Buy It?

If you’re unable to get reliable service from your provider, and you have good coverage from Sprint, and you have a limited number of network devices, it’s probably worth your time to investigate the Go as a replacement. Again, a 45 day return period gives you a lot of time to put it through its paces. I love it as a backup option (the Refuel plan), but it sounds like many of you should give it a whirl as a replacement.

November 11, 2015 ¬∑ stuart ¬∑ No Comments
Posted in: Blogging is FUN!, Gadgets

Reason 1234 for attending #SQLPass: The stretch

I’ve done a lousy job of encapsulating my thoughts about the Professional Association for SQL Server’s Summits for the last few years, but here’s a quick thought about one of the reasons I love this conference: the stretch.

What do I mean by stretch?¬† It’s the exposure to new ideas, new concepts, things I may never use.¬† It’s easy for technical people to get obsessed about our struggles of the day; we invest a lot of mental energy into figuring out problems that require immediate solutions, so we often pick educational sessions that fit into our current solution requirements (i.e. I’m having issues with ETL, so let me go pick up a few sessions on BIML).¬† That’s satisfying, but it’s not a stretch.

The stretch is thinking about issues and problems which I don’t see ahead.¬† It’s the creative detours, the opportunities to explore ideas that are just, well, fun to think about.¬† There’s two benefits to this; first, by allowing the mind to wander, it actually gives me a chance to have an inspirational moment about my current issues (the “aha” moment).¬† Second, by learning a little bit about something foreign to me, it gives me an advantage if the situation ever arises that I may need to know something about that topic (i.e. we don’t use Azure now, but we might in the future).

What’s your stretch at Summit?¬† I’m going to squeeze in a class on R, and maybe some USQL.

October 29, 2015 ¬∑ stuart ¬∑ One Comment
Tags: , , ,  ¬∑ Posted in: Conferences, PASS, SQL, SQLServerPedia Syndication

#SQLPass #Summit15 Gear: My KarmaGo

Just a quick post as I’m packing up for the Professional Association for SQL Server Summit 2015; this year, I’m carrying a mobile hotspot with me: my Karma Go.¬† Just to state the obvious, yes, I am aware that the Washington State Conference Center has free wifi. I also know that¬†wifi gets horribly overloaded in certain areas (like the keynote rooms) when thousands of device-carrying database people begin tweeting at once. ¬†I also know that most people have hotspots on their phone, but I don’t (corporate phone; unlimited data, no sharing).

So why the Go? ¬†Besides the fact that I want to stay connected with more than just my phone, I also like the fact that it offers a reward for sharing. ¬†You see, Karma’s data plan consists of two parts:

  1. Pay-as-you-go data. ¬†I filled up with a bunch of data (mostly to use when my home internet goes down), and I refill when I run out. ¬†No monthly subscription, ¬†so I’m not paying twice for unused Internet.
  2. Sharing earns data. ¬†If a new user connects to my hotspot, they get 100MB of free data, and I get 100MB of data added to my account. ¬†Easy-peasy (my SSID is “Free Karma By @codegumbo”) .

Checking the coverage maps (Karma runs on Sprint LTE), it looks like I’ll have great coverage. ¬† Let’s see if I can stay connected through the keynote this year ūüôā

October 26, 2015 ¬∑ stuart ¬∑ 2 Comments
Tags: , ,  ¬∑ Posted in: Blogging is FUN!, Conferences, PASS, Professional Development

Coding naked.

Me, circa 1992. This is not the most embarrassing picture of that time period.

Me, circa 1992. This is not the most embarrassing picture of me from that time period.

True story: when I was in college, I was the lead singer (if you can call it that) for a goth rock Christian rave band called Sandi’s Nightmare.¬† I had zero musical talent, and relied solely on the strengths of my band-mate (Brad; you still rock); however, while my singing ability was dubious at best, I was pretty theatrical.¬† We had a total of 3 awesome shows before we moved on to other things, but it was a lot of fun while it lasted.¬† Our biggest hit was a cover of Lust Control’s Dancing Naked, a fantastic little number about David’s celebration of the ark returning; his passion and excitement overwhelmed his embarrassment.

I promise, I’m not making this stuff up; it was pretty edgy for the Bible belt of ¬†Northeast Louisiana in the early 90’s.¬† I mean, I had an earring and everything.¬†¬† The point of this post (besides reveling in my musical abilities and tastes of 25 years ago) is that sometimes we just need to be naked.

Let me explain; I made choices that in hindsight are difficult to defend (like my haircut). However, there was a reason for the choice at the time, and even though it may not have been the greatest idea, I’ve learned something from every experience I had.¬† While there are things that I would do differently if given the choice and knowledge I have today, I don’t regret many things.¬† That’s what the metaphor of nakedness is all about; being open and honest about not only your successes, but your choices along the way.¬† You can’t change the past, but you can learn from it.

Becoming a Naked Developer

I’ve spent most of my professional career as a SQL developer working for one company (13 years in November);¬† I was the first developer hired by that company, and my job was to build an integration platform transforming syslog data into reports, all on a shoestring budget.¬† I strung something together in a couple of weeks, and in the first month, I took a process that normally took two weeks to do by hand down to a day; my boss threatened to kiss me (I was flattered, but declined).

Was it pretty (the code, not the boss)?  No.  Was it successful?  Yes.

Fast forward a couple of years to 2004: I’m a member of small team building a solution to analyze more data than I’ve ever seen in my life (terabytes of data from firewalls and Windows machines); we had to import and semantically normalize data in near-real-time.¬† We built a solution using DTS, and then moved it to .NET and MSMQ.

Was it pretty? No.¬† Was it successful?¬† Yes.¬† Part of that code is still being used today, and my company has thrived off of it.¬† We were acquired by a larger company 8 years ago, and we’ve kept moving forward.

Every few years, we’d talk about doing a rewrite, and we’d bring in some outside expertise to evaluate what we’ve done and help us come up with a migration plan.¬† Some consultant¬†would come in, look at what we did, and shake their heads at us.¬† Each time, we (the remaining original developers) would attend meeting after meeting as our code¬†was dissected and judged; we sat naked (metaphorically) in front of a team of experts who¬†told us¬†everything that was wrong with the choices that we made.¬† At the end of each visit, we’d regroup and complain about the agony of judgement. In all honesty, we would have done things differently, given¬†our current¬†experience (and modern technology).¬† However, the simple truth is: we won the day.¬† We continue to win the day.

During some of these initial code reviews, the consultants were jerks.¬† They’d spend a lot of time bemoaning how horrid everything was; I’d be embarrassed and try to explain what I¬†would have done differently if only I had the time.¬† The consultants¬†would eventually propose some complex solution that would cost hundreds of thousands of dollars to implement.¬† Our company would consider the offer, stick it in a file somewhere, and we’d keep on keeping on.¬†¬† Clunky code that works is better than expensive code with the same outcome.

Over time, I learned to live with the embarrassment (as you can tell from this post); I started listening to what the consultants would say and could quickly figure out which ones had good advice, and which ones were there to just be seagulls.¬†¬†People that focused on solving the immediate problems were much easier to talk to than the people who wanted to rip out everything and start over.¬† Don’t get me wrong; sometimes you need to start over, but there is¬† a cost associated with that decision.¬† It’s usually much easier to start where you are, rather than trying to reinvent the wheel.

What’s my point?

First and foremost, don’t dwell on your past mistakes.¬† If you can honestly say that you built something that worked within the constraints of the time period, no matter how clunky or silly it seems now, then it was the right decision.¬† Working software works.¬† Laugh at it, learn from it, and let it go; repair what you can, when you can, but keep moving forward.

Second, learn to code naked.¬† Whatever it is that you’re trying to do at the moment, share it.¬† Open yourself up to code review, to criticism; exposure brings experience.¬† Granted, you’ll meet some seagulls along the way, but eventually, you’ll figure out who’s there to help you grow as a developer.¬† Foster those relationships.

Third, encourage¬†people to¬†grow; recognize that¬†the same grace you desire for your coding mistakes is applicable to others as well.¬† Be kind, be gentle, but be honest;¬†seek to understand why they made the design choices they did, and be sensitive to the fact that if it works, it works.¬†¬†Sometimes we get caught up on trying to figure out¬†the right way to do something, and ultimately end up doing nothing because it’s too¬†difficult to implement it according to the¬†textbook.

Life is too short to not enjoy what you do; try to share that joy without embarrassment.

THIS is the most embarrassing picture of me from that time period.¬† I thought being an actor was the best way to meet girls… Yes, those are tights I am wearing…

 

 

 

October 8, 2015 ¬∑ stuart ¬∑ 3 Comments
Tags: , , , , ,  ¬∑ Posted in: Code, Good Habits, Professional Development, SQLServerPedia Syndication