Give It Your Best

shoupn profile image Nick Shoup ・3 min read

This post was originally published on my blog Fundamentals of Code

Your Best Looks Different From Day to Day, Even When Your Best Sucks

Some days I can give more than others. Sometimes one day can look much different than the next. I had a hard time falling asleep last night. I've been working on a project that has me working more than usual. Mostly because it keeps me up at night thinking about it. We are migrating applications, data stores, and services to AWS, and we're a little light on resources (That and maintaining the existing and dated infrastructure). On top of that I'm fighting off a head cold, and I was up at O'dark thirty this AM with the cat waking me up. I'm not complaining, as this is the name of the game. This is life. However, I'll admit my best today looked mediocre compared to others. In some ways, it seemed to suck pretty bad. At the same time though, I get to show up and produce value.

Provide Value

I think a lot of the time developers get this one thing wrong. We're not there to write code, we're not there to show off how much inside knowledge we have of a specific language. Sure what we do requires knowledge that is specialized. What we're hired to do is produce value and help others solve problems with the things we build. Being a developer requires analytical skills, and the ability to communicate effectively. My position more so, as I'm the only developer on my team and I'm considered a shared resource, so I get to work with a lot of people in not so technical roles. But today, I was pretty content to not have to deal with people today. I got to work on a couple of python scripts for automating data deliverables for a co-worker. Shaves days off of a process that used to take a week.

Even When You Feel Like It's Not Your Best

"The best is the enemy of the good." ~ Voltaire

Even when I know some subroutine could be optimized a bit, or that email could maybe explain something a little better, I still ship something. I still do my best to communicate. Not to say that I'm going to ship something I know that's buggy shit, but if it works and is an improvement sometimes that really is good enough. I worked on some legacy VB .NET code a couple years ago that was atrocious. If I were to have tried to refactor that code to be the best every time, I would never have delivered. I did eventually get the opportunity to rewrite that application into C#, but it was piecemeal, still not what I exactly wanted, but it was a vast improvement in both performance and re-usability of the code base (plus it had unit tests!). I don't say this sort of thing to brag, I say it to offer the idea that there needs to be a balancing act of sorts.

Make a Promise to Yourself

This post, for example, I really just want to Netflix and chill, maybe watch a couple of the new Ozark episodes and take a NyQuil. At the same time though, I made a promise that I would deliver posts regularly. I've blogged before and never was consistent. This is my attempt at being consistent, even if it's not exactly what I wanted to do this evening.

I Get To

I find largely it comes down to a specific attitude. That attitude is "I get to". It probably was something I read in a book like "Seven Habits of Highly Effective People". I get to show up. I get to be a part of something and contribute. No hand holding needed. Not that I don't ask for help, but I don't expect others to pick up my tasks if at all possible. I believe in being part of a team and as such want to be consistent even when I'm not at my best. This tempered with the understanding that we're all humans and have our weak moments. Don't let the small stuff be the deciding factor for the long run.

The Long Game

We should always play for the long game. Playing for the short term doesn't get me very far, short term can be chaotic. If I focus on the long game, it really helps to put things in perspective when things seem to be falling apart and maybe suck.


Editor guide
pim profile image
Pim Brouwers

What a fantastic post. I think this perspective can really only be fostered to this level in someone who works on a team of primarily non-technical people. And it truly is a wonderful perspective!

With respect to data movement, how do you enjoy working with python? I normally just default to a c# console app if I need to do that sort of thing (or powershell if it's really basic), since I'm working within Windows and normally with SQL Server. What's your experience like?

shoupn profile image
Nick Shoup Author

Thanks Pim. With respect to Python, we work with Geospatial datasets. Most GIS software comes with a library written in Python. In this case I use ESRI's arcpy. Basically we're running a clip analysis (spatial selection) from sql server and then outputting to another format (shapefile). I created a desktop tool that automated most of the selection process and xml metadata updates.

Prior to this role, I worked on an ETL application that was written in C#. I won't go into detail, but that was my preference. However, the previous Dev on my current team already had some Python scripts written that I repurposed. But yes, for most cases, C# is my preference.