start

Start something that you’re passionate about.

topofmygameYou’ve made it! You’ve followed all of the DREAM principles and you’ve built yourself a pretty sweet programming career. You’ve DISCOVERED who you are. You’ve REFINED your identity and you’ve set your goals. You worked hard to ESTABLISH your presence in the industry. You’ve done all you could to ADVANCE towards the goals that you have set for yourself. Now, you’re working on MASTERING your success by leveraging your experience and honing your awesomeness. You’re at the top of your game and things are great right?

Well, maybe not. Maybe, there is something inside of you that remains unfulfilled. You might not be getting all that you want, or need, from your current job. But why? This doesn’t make any sense. You love what you do, the people you work with and even the company you work for.

The problem, I think, is that a job, by definition, is not very fulfilling. Yeah, I know, that’s a bit of a downer, but bear with me. I am not saying that a job can’t be fulfilling at all or that a job can’t be fun, exciting or awesome. In fact, I absolutely LOVE my job. I think I work for the best company in the software development world! What I’m saying is that it just isn’t what you would be doing if you had your way. If you could choose to do anything, odds are it wouldn’t be to go work for someone else. You would probably do something for yourself.

In the end, a job is exactly that…A JOB. Somebody pays you to do something for them.

In the end, a job is exactly that…A JOB. Somebody pays you to do something for them. Let that marinade for a while. You are getting paid to do something that somebody else wants you to do for them. The fact that you’re getting paid for it implies that you would not otherwise be doing it. Maybe you wouldn’t be doing it at all or maybe just not at that very moment. Whatever the case may be, you are not getting paid to do what you want, but what someone else wants. Now that doesn’t sound very fulfilling does it? But what if you could do the things that YOU want to do?

This is something that I’ve struggled with most of my career. I’ve tried several times to starts something for myself but haven’t had a lot of success. I tried to go out on my own but was never able to make it work. I also tried, on several occasions, to start something with family, friends, coworkers and other people that I respect. Each time, the project started with a frenzy of activity but would eventually fizzle out as enthusiasm from other team members subsided. I’ve been trying to figure out why this happens for a while and I think I’ve finally made a breakthrough. I just haven’t been doing it for the right reasons.

Each and every one of my previous attempts to do something outside of work was missing passion.

Every time I’ve tried before, I’ve started a “project” for the wrong reasons. Maybe it was that I wanted to quit my job or that I wanted to work with a group of people that I liked or maybe it was just that I wanted to make more money. Therein lies the problem. Each and every one of my previous attempts to do something outside of work was missing passion. Yes, I love software development and I liked the people I partnered with but I wasn’t working on something that I was truly passionate about. My drive was to build a business, not to do something that I loved.

This endeavor wasn’t one that we were searching for or had to conjure up. It was born from the things we were already doing every day and were excited to share with our family, friends and coworkers.

Green-Start-Now-ButtonThis time around though, I think I’ve stumbled upon the perfect storm of circumstances. I am extremely fortunate that I’ve partnered with a couple of really talented guys that share my passion for helping people advance their careers and avoid the mistakes that we’ve made along the way. This endeavor wasn’t one that we were searching for or had to conjure up. It was born from the things we were already doing every day and were excited to share with our family, friends and coworkers. Eventually, we realized that others might benefit from it so we decided to make it available here. This has translated to a wonderful collaboration that is unique amongst all of my attempts to start something outside of work. And the key, I believe, is the passion that we all have and that was missing from all of my other endeavors.

So my advice to you is to find those one or two things that you are passionate about. Look for the things that you are always happy to discuss and that make you happy. Share those things with your coworkers. Share those things with your friends. Share those things with the world. Who knows, those things might be interesting, helpful or a useful resource for others.

Post Footer automatically generated by Add Post Footer Plugin for wordpress.

Read More

inbox-zero

Tame your email distraction with inbox zero

I am always amazed when I see someone open their email and see an inbox with thousands of unread emails.  Do you really think you are ever going to get around to reading all that email?  Why keep it in there if you can’t address its contents?  In this post we will discuss what “inbox zero” is.  Then we will see a few reasons why aggressively keeping your inbox at zero is so important.

Inbox Zero

Inbox Zero isn’t some fancy thing that is super hard to explain.  It is the act of aggressively managing your inbox to keep it at zero emails or as close to zero as possible.  And the ZERO in the name Inbox Zero actually doesn’t refer to the number of emails in your inbox.  It refers to the amount of time you should spend managing your email.  The more time you have your mind in your inbox the more your productivity will suffer for the things that are important.

Keep in mind that you can’t be awesome if someone sends you an email and you never respond.

5 reasons why you should keep your inbox at zero

  1. It is inefficient to keep scanning through the same list of emails you have already looked at.
  2. A loaded inbox adds pressure to your mind.  A clean inbox is freeing.
  3. If you let the inbox pile up, you are basically giving in to someone else imposing a todo list on you.
  4. Email is no different a distraction to your day to day productivity than email.  We think there are all sorts of very important nuggets of information in there…but that is rarely the case.
  5. Email is a horrible way to communicate.   Ever find yourself sending an email to a person that is just 5 feet behind you?  Get up and walk over.  If it is important enough to say in an email take two seconds to have some personal connection.  Build some bridges.

10 ways to achieve inbox zero

  1. Don’t leave the email client open at all times.  Instead, schedule when you manage your inbox as a single unit of time.  Using the pomodoro technique is good for this.  Time box how long you will look at your email.  And eradicate the email as quickly as possible so that you can get back to real work.
  2. Processing your email once every house is likely good enough.  If you can do this task even less frequently your thought process won’t be as fragmented.
  3. When you first open your email look for any mailing lists that you don’t care for and go through the steps to unsubscribe yourself.  This will make future activities more efficient.
  4. Then seek to remove as much noise as possible by deleting or archiving mail that isn’t important.
  5. Now scan for email that you can forward to other people that might be better suited to deal with the topic of the email.
  6. Following the GTD principles, if you can address an email in two minutes or less, do it now and get it out of the way.
  7. For any emails that you can handle now but need to be responded too, move the email to a folder called “requires response”.  In your next “email session” you can spend some time cleaning out that folder.  Some folks alternatively choose to leave email in the inbox that requires response and instead follow the rule that you don’t leave work or go to bed until the inbox is cleaned out.  Personal choice here.
  8. Get in the habit of using tags on your email.  This way the mail system can make your email sorting process more efficient.  I like to add a tag to denote what client an email is for.  I also tag email that specifies me in the TO line directly vs. a distribution list email.  One is usually more important than the other.
  9. Once you respond to an email, immediately archive it.  This removes the noise from the inbox.  And if it needs an additional response it will come back to you and show up again.  If there are follow up tasks requiring your attention you can use a task tracking tool to schedule that work.
  10. When you can remove yourself from a conversation, do that!  Please stop replying all!  Or ask to be removed from a noisy distribution list when possible.

Post Footer automatically generated by Add Post Footer Plugin for wordpress.

Read More

awesome-640x320

Don’t believe the hype. Be mindful of the gap between your title and your skill set.

blueribbonAs developers, I think we have an experience that is unique to our industry or maybe to high-tech industries in general. Throughout our careers we’re told that we’re awesome. Everyone we interact with tells us that we’re magicians making software appear out of nowhere. Every day we perform super human feats of software development. Maybe it’s because we work for people that are not very technically inclined. What we do on a daily basis is nothing short of magic to them. Or maybe it’s because these people were trying to motivate us to do better. In any case, sooner or later, some of us start believing the hype. We begin to think that we might in fact be some sort of code slinging wizard. Every year, or so, we get a decent raise and a huge bonus. Eventually we start getting promoted…first a senior engineer, then team lead, next principal engineer and eventually architect. This only helps to reinforce the belief that we are in fact the Gods of the programming universe.

All of this continues for several years and we keep buying into the idea that we are the awesome-est of the awesome oozing awesome sauce on everything we touch. By this time, our head has grown so much that we can barely squeeze it through the door of our swanky corner office.

reality-check-aheadThen, all of a sudden, something happens that pulls us back into reality. Maybe we are laid off and have to start looking for a new job or maybe we’ve gone as far as we can go in our current position and decide to test the waters. This is probably the first time in years that we’ve been on the market. Things have changed drastically while we’ve been, heads down, climbing the career ladder at our previous company. We look through job listings and see that every one of them requires some tool, technology or process that we are not familiar with. Industry best practices have progressed and what was magic at our old company is now not so cool, new or even relevant.

All of a sudden we realize that we are not as awesome as we thought we were. We are consumed by self-doubt. What is happening? Have I been fooling myself this whole time? How did I get this far without realizing how far behind I was?

Unfortunately, I see this play out far too often. I’ve interviewed several people that have an architect title and are not able to code a simple fizz buzz console application. In fact, in one case, an “architect” I was interviewing didn’t know how to create a new console application project at all. This is not as uncommon as you might think. It is really easy to climb the careers ladder at one place and lose sight of the industry changes that are happening around us.

I too experienced the same thing early in my career. I had spent 6 years at a company and had climbed all the way up to Web Development Manager. One day, I looked up and said “man I’m a really good Cold Fusion programmer!” This was followed soon thereafter by “holy crap! I’m a good Cold Fusion programmer…what the heck!!!” I realized that the industry was leaving me behind and that I had to do something immediately if I wanted to have any chance at catching up. I decided to make a change quickly and refocus my career on learning the things that I had missed out on while I was going “full steam ahead” down the wrong path.

The key takeaway from all of this is that finding yourself at this juncture in your career isn’t a death sentence. At least you’ve recognized that something is wrong and you have the opportunity to resolve it. It is up to you to make a change and refocus your career. You have all of the necessary tools at your disposal and all it takes to reset is to go out there and do it. To avoid getting into this situation in the first place, you should try to stay abreast of all the trends in the industry and periodically reevaluate your current positions to determine whether it is still the right position for you. Sometimes the answer is going to be no, but that’s ok. At least, you still have the chance to do something about it. You don’t want to be the person that spends 20-25 years at a company only to realize that you can’t even consider going somewhere else because you’ve become so specialized at your current job that making a change would mean starting from scratch.

Post Footer automatically generated by Add Post Footer Plugin for wordpress.

Read More

valueproposition

Change your value proposition – your experience is valuable

technicalwizardWhen I first considered what it was I wanted to do with my career, I thought that I wanted to focus on being some sort of technology wizard. I wanted to see how far being the technical expert at a company would take me. I thought a team lead or management role was just not for me. I couldn’t see myself not coding on a daily basis…much less for weeks at a time. As the years passed, I held on to that belief and fought tooth and nail against what seemed to be the natural progression of my career.

Eventually, people around me started telling me that I was a good leader, that I was good at architecting the solution to problems and that I brought a lot of valuable experience to the table. I dabbled in management and leading projects and teams, but I wasn’t really sold on it at first. The more I did it thought, the more I found that I really didn’t hate it as much as I thought I would. In fact, I really enjoyed it. It felt good helping others, making technical decisions, mentoring coworkers and leading development projects and teams. Now, I’ve embraced it and find great enjoyment and satisfaction in what I do.

…every year, it’s getting harder to compete with developers that are coming out of college.

In the past few years, I’ve come to accept something that I had been denying for a while…every year, it’s getting harder to compete with developers that are coming out of college. It’s even harder to compete with this new generation of programmers because, unlike me, they’ve grown up with computers all of their lives. Some of these new developers have been coding since they were in grade school. Recently, I went to speak to a group of middle school students that were starting a coding club and I was blown away by what they already knew about computer programming and the types of questions they were asking. I didn’t even have a computer until my freshman year in college!

What I’ve realized late in my career is that my value proposition has changed…it had to. It can no longer just be what I can produce by pounding on the keyboard all day. Now, it has to be more about my experience. I’m coming up on 20 years of professional software development. In that time I’ve done some really cool stuff and I’ve learned a lot of new and interesting tools, technologies and process…but that not what’s really important.

I’ve gone down the wrong path two, three or four times with tools, technologies and processes that seemed to be the right choice but ended up being not quite right for one reason or another…and it had nothing to do with technology.

The part that is even more valuable than what I’ve accomplished is that I’ve done, or seen others do, a lot of things the wrong way. I’ve gone down the wrong path two, three or four times with tools, technologies and processes that seemed to be the right choice but ended up being not quite right for one reason or another…and it had nothing to do with technology. I’ve experienced all of these things and I’ve learned from them.

I’ve learned that not everything that is shiny and new is right for you, your team or your project…even if all of the articles you’ve read say that it is. Most of the time they speak to the happy paths and don’t touch on the more difficult use cases and scenarios. Maybe it’s the deployment, support or maintenance stories that are not quite ideal for your situation. Maybe it’s the makeup of the team in charge of maintaining the product that is not ready to do so with a particular technology, tool or process. Maybe the cost of maintaining a certain solution is more than the client is willing to spend. All of these experiences, and the foresight that they give you, are extremely valuable to a project, client or employer.

…after a certain point, it gets harder and harder to negotiate a higher salary based on just your ability to code.

At the same time, I’ve noticed that it gets harder and harder to negotiate a higher salary based on just your ability to code. At some point you reach the ceiling of what a company is willing to pay you for coding and it’s hard to get beyond it. As far as the employer is concerned, they could pay a mid to senior level developer three quarters as much as they do you to do exactly the same thing. At this point, you have to leverage your experience and use it to differentiate yourself from others that can code as well as you can. Start working on the project management, architectural and leadership skill that can set you apart from other developers and give you a whole new component of value that you can bring to the table and bargain with.

As I’ve progressed in my career, I’ve learned to love being the person that answers questions, architects solutions and leads teams of developers. I’m no longer addicted to the immediate gratification of “slinging code” for a living. That’s not to say that I don’t love coding anymore. It’s just that I’ve done it for almost two decades and I’m ready to take on a new challenge. Whenever I find that I need my coding fix, I just find something to do on the side and fulfill that need. I found that I like my new role a lot more than I ever thought I would early in my career and I’m glad that I listened to all of those people that encouraged me to embrace it.

Post Footer automatically generated by Add Post Footer Plugin for wordpress.

Read More