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.

9/03/2015

How Do You Define Professionalism?

Soft Skills Quiz : Week 4. The statement made as item 4 on the quiz: I act like a professional instead of an amateur. The Merriam-Webster dictionary defines professionalism as

the skill, good judgment, and polite behavior that is expected from a person who is trained to do a job well.
While not altogether the longest definition you can find in a dictionary, I still think the meaning behind it packs quite a punch.

Well Trained Skill

While a good majority of professionalism actually comes in the form of soft skills, the one thing that nobody can argue with is proven tactical skills. I once worked with a complete jerk. He made it hard for other people to get the job done if they had to interface with him as a team-mate. However, when he was allowed to be isolated and function as a solo-unit, his hard skills trumped just about everyone else in the company. He's definitely one of the most technically apt programmers I've ever met. Do I want him on my team? No. But he gets hired for important work because he's very VERY good at writing code. Depending on the needs of an employer, sometimes the professional soft skills get overlooked in favor of ridiculously good hard skills. Granted, I have my own opinions about toxic team-members. But there's plenty of evidence in our field to suggest that not everyone needs soft skills to get by.

Good Judgement

Internet Etiquette

We all have bad days. We all have our outlets for ranting and for venting. The first and most important thing to keep in mind when you need to rant - choose your medium wisely. The millisecond you put your comment out on the internet, think of it as permanent. Someone will find it. Most likely, someone will find it that you didn't expect would ever see it. Posting a picture of yourself (or your room-mate) sloppily drunk, while potentially hilarious at the time, certainly won't get you the positive attention you prefer at the office. In fact, if at all possible just avoid those kinds of embarrassing situations in the first place. Separation of work and life still happens. But you're fooling yourself if you think the things you do at home or with your friends are entirely off limits to your employer. Unless you have a strict and very locked down social media policy, your behavior around others will reflect outwardly towards your workplace. Be careful about the activities you choose. It's OK to be silly or stupid. Just remember that someone else is going to notice, so make sure you're OK with whatever it is someone else will see.

Communications Professionalism

Besides avoiding drunk-posting on Facebook, there's other areas in your career that depend on good judgement. Think, for a minute, of the different communications channels that you use every day at work. I, for one, have instant messaging, email, phone, texting, and direct human contact. Now, think about this situation for a minute. Your web application just went entirely belly up. What's the correct order of operations to get everyone's attention? If you work in an office, the first thing I'd recommend doing is running down the boss personally and getting his attention face to face. Then, immediately follow up with a very high priority email to everyone that needs to be involved in fixing the problem. Whatever you do, DON'T get on Facebook/Twitter and say "ROFL our server crashed!" Bad idea. Very, very bad idea. The richness with which you communicate your message to the intended audience matters deeply. There's a scale I like to follow that helps: Face-To-Face>Video Conference>Telephone>Instant Messages/Texting>Email. There's also plenty of literature and advice as to how quickly someone should expect you to respond based on the kind of communication they want to partake in. Here's a pattern I want to get better at enforcing:

Face to Face (or two-way phone) conversation: The best way to get my attention immediately and have zero delay expected. But you might have to tap me on the shoulder if I'm rocking out to Beethoven.
Instant Message: 15 Minutes or less after my status shows "Online". This only applies at work. I don't do much IM replying at home
Voice Mail: 1 Hour or less after I'm back at my desk
Email: 1 business day
Social Media Direct Message Unpredictable. Please don't use this for anything important at work. Because I can't promise I won't be ignoring it for a week and a half at a time
Snail Mail: Wait, what? I'll probably get back to you eventually. I can't give you any idea how long I'll take because I don't think I own any stamps. Where does one even buy stamps...?


Polite Behavior Getting back to the way you interact with your colleagues, politeness matters. If you have to leave a voice mail for someone, use courtesy and make sure they know the best way to return a call back to you. Also leave a day and time you intend on attempting to contact them again. That way you set a clear expectation that the other person doesn't have to get confused about. Something like

"Hi Mr. Johnson. I'm calling about the widget we promised to your team in October. I have a question about it, and in order to keep us on track for its delivery we need to have clarification no later than close of business, this Friday, September 31. You can always feel free to reach out to me at 555-555-5555. If I haven't heard back from you by close of business Thursday, you can expect to get another call from me Friday morning. Thanks!"


Politeness extends to all aspects of your professional behavior. Whether on a phone call, writing an email, or responding to an instant message, manners matter. Please, thank you, and you're welcome really go a long way to making a conversation more amicable. And, as far as I'm concerned, vulgarity is just !#@% stupid. I realize that most words are just "colorful metaphors" - but if you want people to take you seriously as a professional, generally speaking cussing is out of the question. Sure, I've been known to drop a colorful metaphor on a rare occasion. But in general because that's not my normal pattern or something I keep as part of my vocabulary, it gets people's attention when I use those words. It's rare. However, even in the rare case where vulgarity manages to slip in it's even more important to follow it immediately with polite kindness. Getting worked up and turning explosive places everyone on the defensive. Even people who don't really need to be. And that, in turn, can lead to strong negative emotions that lead to poor business decisions.

JSON Jason