1/09/2016

Redirecting my Attention

So, now that I've actually read Soft Skills: The software developer's life manual it occurs to me that I've got two completely amazing passions when it comes to writing software. One of them has very technical ramifications - and I'm going to use this blog going forward to talk about what those technical ramifications are.

My other passion, I feel much more confident writing about on http://simpleprogrammer.com/ - Soft Skills and all of the human and business aspects of software engineering. John Sonmez has done an amazing job giving all of us software engineers a wonderful platform for interacting and communicating with one another about how to catapult our careers. So, I'll keep contributing there for all of the content I come up with related to those things.

Stay posted for my first content shift about API development. I do it pretty much all day, every day, in one fashion or another. So it should be pretty easy to keep a weekly blog post going again. Starting on Thursdays at 11. Like I did before. I guess time will tell.

Thanks for being readers and for trusting me with your time. All my best.

10/07/2015

I've Moved. Sort Of.

Going forward, I'm going to be providing content almost exclusively on http://www.simpleprogrammer.com for a while. I realize this might be a little contrary to the advice of having a blog, your own website, etc. But, John has a team of editors, layout, and graphics people - and people generating ideas, and a huge audience. And I just have me.

So, in order to continue to grow as a writer and as a presence online, I'm going to shift gears and focus my attention on putting out amazing content over there. I'll still put up links on this website to point you at my content, and I'm still happy to answer any comments or questions that come up here. This is just me doing my best to find my voice and my niche.

Look forward to keeping the dialogue going!

10/01/2015

Hiatus

I've been dealing with a family medical situation over the last several days, so writing is pretty far from my mind. You can find lots of good writing in these places instead, if you want to:

I'd love to hear from you those places you go for professional enrichment, too.

9/24/2015

Guest Blogging

The wonderful people over here: http://simpleprogrammer.com/2015/09/23/my-business-is-software/ have editors and graphics people and all kinds of other neat stuff. So, there's a good chance you'll see me writing over there a bit more, and here a bit less, until such time as I've got enough time to write in both places.

That said - enjoy my latest over on John's blog. I like how it turned out!

9/17/2015

Deadlines

My normal time for content to go live is 11:00 AM CST every Thursday. It's Wednesday night right now. My family have been sick and my job has been intense. But, one thing I know about blogging from my audience so far is that consistency is key. So I've imposed a deadline for myself to get content out at least once a week. This is what I call a well reasoned and natural deadline. The other kind of deadline is an arbitrary artificial deadline created by project managers who have to prove that the company that hired them isn't "wasting" their money. Avoid these deadlines like they are a three headed venomous snake. Trust me. They bite.

What's a "Good" Deadline?

I'm not opposed to deadline management if they come in the form of the end of a sprint or time box. The amount of work that goes into a sprint before the sprint expires might change depending on the size of the stories in the sprint. But if you do traditional sprinting, the end date of the sprint should always remain fixed. And if you use that during a continuous delivery cycle, the end of a sprint also means a production deployment. Then you have a few things going for you that are "hard dates" - specifically the sprint retrospective at the end of your sprint and your sprint planning day at the beginning of the next sprint. Or, in my case - motivation to get my writing done for my lovely loyal readers. Thanks for being loyal - hopefully I will continue to not let you down.

One other kind of deadline we can't avoid, no matter how badly we want to, come from forces external to our project itself. I currently work in the higher education industry. If FERPA laws suddenly change and we have to change our system to not violate them by a certain timestamp, then that's a hard deadline. And we can't miss it. In a healthy organization what this means is that we bump out other feature scope in favor of the new regulations. In a not-so-healthy organization this means massive amounts of overtime and lots of energy drinks.

What's a "Bad" Deadline?

Here's how to spot a bad deadline in the wild. Be warned, they can sneak up fast and bite you from out of nowhere. They come camouflaged as "just give me your best estimate" or "we have a target date of..." In general, you can tell a deadline is arbitrary or non-realistic if it's based on something that:
  1. You or your closest team representative didn't come up with or help come up with as a critical, non-movable deliverable because of the ramifications it has legally or on the bottom line
  2. You did come up with it as a best guess estimate and your project manager puts it in big red letters on the calendar as the "Go Live" date
  3. You're on a waterfall project. Yes, those still happen. Yes, the deadlines inside of them still bite.

Managing Up

Even if you've got the three headed snake of bad deadlines looming in your sights, you can still manage up to make the deadlines approaching more realistic within your own circle of influence. There are several ways you can still have an affective release date that matches the timeline, but you have to do a really good job communicating expectations and clearly defining what scope you will hit on time. Project Managers love to do scope management, it's yet another reason they get paid. So, if you tell them that you need to adjust scope to meet their arbitrarily decided upon release cycle, make sure you can clearly articulate your reasoning. And make sure you're ready to deal with someone who wants a very good reason why your estimate wasn't handed to you from a higher power and created with magic all-knowing dust. If you can clearly articulate, in a quantitative way, why your initial scope cannot possibly take place in time for the deadline - it's up to the project manager and product owner (hopefully there is one) to decide which scope needs to go into phase 2, or 3, or whatever. In all reality, what you're doing is your best to "bend" the project management SDLC into something a bit more sprint-like - but morestill have to do so in a charismatic way so that you're still "meeting your deadline"

Closing Thoughts

Deadlines can add emphasis to important things that really need to be finished on time. They can also add stress to things that really shouldn't be stressful. I'd love to hear more about your own deadline demons and successes, feel free to comment!

9/10/2015

Sick Days

While I imagine at least one or two of my colleagues share my daydreams about merging our consciousness with robots, as of now the human race is undeniably and without any doubt, human. While this means that we have all sorts of human ways to fail (and succeed) what I can say is that nobody on the planet can avoid getting sick. Sometimes the only thing that our bodies allow us to do when we are sick is sleeping. And recuperating should always be your first goal whenever you get sick. But, there's another little thing that comes with sickness - boredom. So, here's some boredom fighting ideas that don't require your awesome brain to be running at full throttle, but also aren't going to make you feel like you're wasting time because you are sick.

Learn Something

Books

Nonfiction

I really like this book list: The Ultimate List of Programming Books. However, it doesn't include Team Geek which is one of my favorites related to working on programming teams.
The amount of non-fiction writing out there could fill several life-times of nonstop reading. Some of it really teaches us interesting things, some of it is really dry, but in general if you're reading something in the non-fiction category you're probably going to learn something. Even if it's only the title of a book you can't stand to read.

Fiction

I don't spend much time reading non-fiction any more. I'm a huge Star Wars fan, and as a kid I spent a good deal of time reading all of the novels that had "Star Wars" in the story-line somewhere. Thanks, Disney, for making all of that knowledge obsolete! Here's the thing, though. Even though that trivia I did have about Mara Jade and Admiral Daala really doesn't amount to a hill of beans regarding practical factual knowledge, spending that time reading taught me all kinds of things about how to communicate in writing. By reading the written communications others had spent time authoring and editing I spent time with "good writing". I'm not talking about the content, really - I'm talking more about the organizational structure, the syntax, the diction, the tone, and all of those things that transcend content itself. Human beings need to communicate with one another. Universities have entire degree programs - and advanced degree programs - dedicated to the study of the way we communicate. If you want to learn a little bit more about the ways we communicate ideas to one another, you can't go wrong by reading. Even if it is something silly or "non-academic" or whatever you want to call it. Here's some quotes written by better writers than me on the subject: 20 Surprisingly Profound Quotes From Fantasy & SciFi.

Documentaries

I don't really spend much time watching the youtubes or regular TV shows these days. By cutting TV (and specifically, the ridiculous amount of advertising that comes with it) down to a very limited selection of my most favorite things, I've bought myself a significant amount more time to get things done, like writing this blog. However, during sick time sometimes its pretty difficult to want to do anything besides lay on the couch and stare at the ceiling (or a TV). Even if you find yourself in this position, you can still spend time learning all kinds of crazy, interesting things. There's a channel on YouTube called Ted Talks - it will most certainly get your brain going.

Make Something

Blogging

Sitting at a computer desk to write may not be the first thing that comes to mind when you're not feeling well. But, if you've been keeping a regular blog such as I have, sometimes it feels good just to let ideas flow out onto a page and then come back to them later for editing purposes.  Even if you don't go about writing a full-fledged blog article while your hacking up a lung, you can use a mind mapping tool like XMind to capture your ideas to make them more concrete later.

Creative Hobbies

One of the best outlets I have for myself is my sketchpad. I really enjoy drawing, and others enjoy what I draw for them. In general, I tend to make a drawing and then give it away - because it brings a smile to other people's faces and it makes it so I can stop being a perfectionist about it! When I find myself with unfilled down-time, if I'm sick of reading, writing, or learning in general, I still don't tend to turn on the TV. Instead I pick up my pencils and drawing pad and get to work on something to activate my right brain. As programmers we have to make use of both halves of our brain - anyone who says we're not creative individuals hasn't ever seen some of the cool ways we solve complex problems with a series of simple steps. Creativity is a huge part of our profession, so if you find something that you enjoy which exercises the creative half of your brain you're helping your creative problem-solving side too. I know several programmers that are also musicians - so making music is a good outlet too. Creativity is part of who we are, and sick time - at least for me - is a great time to embrace it.

Your Regular Job

If you've called in sick, don't work. I bring up this point solely because I've been guilty of doing exactly that in the past. I call in on a sick day with a blazing fever, but decide that I've got a little bit of brainpower so I can get task XYZ done today without any interruptions. Yes, you're probably on a paid sick day so you're still "getting paid" to do this work. But nobody at your office is expecting you to do any work at all. Not one person. Doing work for work while sick is a little like stealing from yourself. Also, the normal stuff you do at work isn't likely to help you mentally recuperate, either. Do yourself and your employer a favor, set aside that thing you were working on at the office and do something else. Sick time is supposed to be recovery time.

JSON Jason