goals

Focus, Set Goals and Go Get’em!

A few days ago I was asked by a client to describe how it was that I got to where I am today. More specifically, how I was able to build my skillset and gain all of the experience that I have been able to so far in my career.

We were out to lunch as a team and he wanted his team members to hear how I had done it so they might get some ideas and use them to progress in their own careers. After describing my journey, I thought that I should capture this and share it with you all. It’s a question that I’ve been asked, in several different ways, quite a bit in the past. I don’t know that the particulars of my journey are super interesting but I do think there are a few things that could be quite valuable to a lot of people out there in the web-o-sphere.

The Spark

basicFor me it all started really early on in my life.

When I was in second grade, my teacher saw something in me and decided to move me into the gifted and talented program. This was a more advanced program tailored to students that they felt could absorb information and progress a little faster than other students.

A couple of years later, when I was in fourth grade, my math teacher decided to teach us a little bit of BASIC. I’m not sure exactly why, or what it had to do with math, but I’m super grateful that he did. His decision to do something “out of the box” is the reason why I decided to become a software developer.

It’s amazing to think that something as small as teaching a bunch of fourth graders how to do math and print output to the screen in BASIC could have such an impact. Well, it can, and it did for me. I was blown away by the idea that I could tell a computer what to do. I knew then that it is what I wanted to do when I grew up. Before then, I thought I wanted to be a teacher or a police officer. This one experience changed all of that.

One problem though…I grew up poor – very poor.

I didn’t have much access to a computer as a kid. I dreamt of being a software developer but I wasn’t able to do much about it for a few years. When I was in eighth grade, one of my teacher told me about a magnet school, The Science Academy of South Texas, which had opened up a few years earlier. It offered two tracks – health and science.

Part of the science track was computer science. All freshmen and sophomore students had to take a computer programming class! That sealed the deal for me…I applied and was accepted.

Unfortunately, this was a very bad year for me.

I started hanging around with the wrong crowd and doing all kinds of things that I shouldn’t have. After my freshman year, I left the magnet school and returned to my local high school. All wasn’t lost though. In my year at Sci-Tech, as we called it, I learned how to program in Pascal. When I got back to my local high school, I found they had started offering a beginners computer class. While taking that class, I learned that we had a computer science UIL group. I joined up and started competing against other schools in the area…including The Science Academy of South Texas.

By the time I was a senior in high school, there was no doubt what I was going to major in when I went to college. I remember my calculous teacher, Mr. Plas, trying to persuade me to choose something else. He told me I would end up in a dark room, staring into a computer screen working on really uninteresting problems. Little did he know, all of that sounded great to me! There really wasn’t anything anyone could say that would change my mind. I wanted to do this for a long time and I was going to make it happen.

The Chaotic Years

The first few years after I graduated from college were a little chaotic. They were not bad years, they were just unfocused for me…at least career-wise. I did well at work. I had found that I was actually pretty good at this software development thing. I was a hard worker and quick learner so I progressed rather quickly.

In the first 8 years of my career, I had worked for a couple of companies. I worked for a couple of years for a small government contractor on emergency management software for the chemical weapons program. Then I worked for a company that was a joint venture between the local newspaper and television station in San Antonio. I had excelled at both of these companies and had moved up rather quickly. After only eight years, I was already a Software Development Manager leading a team of web developers and designers. Most would say that I was doing really well.

The problem is that, up to this point, I had never really focused on my career. I had never put any thought into what it was I wanted to do with it or set any goals for myself. I had just been taking any opportunity that was presented to me. I had done well, but I knew I could do a lot better if I had just put a little bit of effort into coming up with a plan and goals for my career.

The Aha Moment

eurekaWhen I think back now, I remember the moment I knew I had to make a change.

I was working at MySanAntonio.com. I had a good position and decent pay but I wasn’t really satisfied. I was the Software Development Manager of a ColdFusion shop. That didn’t sit well with me. I don’t think there is anything wrong with ColdFusion. In fact, I could have continued doing that and would probably still be doing it and doing well at it. I have a few friends that are still gainfully employed as ColdFusion developers.

The problem for me was that I knew it wasn’t what I wanted to do. I had stayed abreast of emerging technologies, tools and development process and knew that the industry was passing me by. I had work with C# .NET several years prior to this and really wanted to explore that more. I knew that wasn’t going to happen any time soon at my current position so I decided to make a change. It was a risky decision, but I knew I had to make it and that it would only get riskier as time passed.

So I gave up my management position and took a contract position as a C# developer. Looking back, I realize this could have gone really bad for me…I could have failed miserably. Luckily, things worked out. When I made the change, I knew I had somewhat of an ace up my sleeve. I’ve never been afraid to work hard and put in the effort and time to get good at something. So, I made the move and I put in the extra work to learn how to be a C# developer. I made it work. And it’s been working for me for 10 years now.

The Rest Is History

After coming over to the dark side (C#, .NET, Microsoft), I knew that I could not leave my career up to chance like I had before. I was determined to be a lot more focused and goal oriented. This meant making several changes immediately.

skillsFirst, and foremost, I needed to expand my skillset and commit to maintaining it constantly. I started off reading a lot of books, blogs, and trying to learn as much as I could from others. I quickly realized that it wasn’t working out as well as I wanted. You see, I learn by doing…not reading or watching others do.

So, I decided to start doing work on the side to help. I figured, if I have to work on something in order to learn it, why not get paid to do so. So, I took small moonlighting jobs that allowed me to try out new technologies or tools that I had only ever read about or played with before. This worked out really well for me.

Secondly, I needed to create goals for myself and focus on reaching those goals. I had already decided that I did not want to be a ColdFusion developer and that I wanted to focus on the .NET framework but I need to set even longer term goals for myself. By this time in my career, I knew what I was and wasn’t willing to do for work and just had to figure out what I wanted to achieve. I didn’t think that I wanted to go back to management so my goals were more in the technical space back then. I wanted to become the best software developer I could be.

Lastly, I needed choose where I would worked more carefully. I realized quickly that if I was to make progress towards my goals, I would have to do a better job of vetting potential employers. I needed to make sure that I was always progressing and that I was working at places that were in line with my technical and career goals.

Focus, Set Goals and Go Get’em!

Again, I don’t think that the particulars of my journey are very interesting, or important. You will all have a different experience. I think the things that are important are the fact that I realized that I was going down the wrong path, refocused and set goals and I worked hard to make those goals a reality.

I challenge all of you to take stock of your career and ask yourself if you could be doing better. Odds are you could…and you should. So focus, make a plan, set some goals and make things happen.

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

Read More

promotion

Advancement – It’s All Up To You

Recently I’ve been having a lot of conversations with my friends and coworkers about essentially the same thing: how does one get a better role at their company?

How does a junior become a senior level developer? How does a senior developer make the transition over to lead, principal or architect and beyond? Often, these questions are followed by “I’ve been at my company for a while and I still haven’t been promoted to a new position.”

Aha, we gotten down to the root of the problem.

You Must Initiate

In our industry, unlike many others, progress is not usually a formula based on tenure. We should not expect, or rely on, being promoted into a more senior role because of the amount of time we’ve been with a company. That is not to say that tenure doesn’t play a role in advancement, but it is not usually going to be the main factor in deciding whether you are promoted or not.

adv1Whenever I have these conversations, I like to immediately reset the context of the discussion by telling people that we need to stop relying on others to promote us.

In most cases, the only person that cares about the advancement of your career is you! Many employers claim to care about providing opportunities for advancement but usually it is more of a selling point to potential employees than a true desire to see people grow, advance and do better. In most case, upward movement that is initiated by the employer is motivated by some business need and not your personal growth. It is some strategic move intended to satisfy a business objective that benefits your employer more than it does you.

That is why we should not leave this in our employer’s hands. Unlike other fields, ours is one in which we have the opportunity to affect our advancement and growth in dramatic ways. All we have to do is realize that it is in our power to do so…and take the reins.

Grow Your Skillset

First and foremost, you should make sure that your skillset is up to par.

skil1If you intend to get ahead, and move into a new role, you need to start by increasing your worth to your employer. You will need to demonstrate that you have mastered your current responsibilities and have grown beyond the constraints of your current position. This means making sure that you are comfortable with all of the tool, technologies and processes that are used on your project.

Depending on your goals, this might also require that you stay abreast of industry trends and emerging technologies. If you want to move into an architect position, for example, you’ll need to become an authority on all things technology…not just the technologies and tools that you are currently using.

Grow In Maturity

In order to make the jump from your current role into one with more responsibilities, and potentially one that involves managing other developers or projects, you will need to demonstrate a level of maturity that is commensurate with that type of position.

What does this mean? Well, it turns out that developers are quite emotional people. You would think that we’d be very stoic and level-headed because of type of work that we do. This is just not the case.

mat1I think it has a lot to do with the fact that we are used to being treated as magicians and, to some extent, we let it go to our heads. Employers, friends and family have always told us that we are awesome and, at some point, start to believe the hype. When something happens that we don’t agree with, we tend to be very vocal and respond emotionally.

I’m not suggesting that we should just accept everything that we are told. I’m saying that we should not respond as emotionally to situations…especially if we’re looking to move into a position of authority or leadership. Instead, we should object when appropriate, provided data to back up our objections and, whenever possible, offer solutions or alternatives.

Grow In Leadership

Usually, getting promoted means taking on more of leadership role.

If you intend to move into a new position, with more responsibility, you should take every opportunity you have to demonstrate your leadership abilities. This will prove to your employers that you have the necessary chops to take on the extra responsibilities.

This could mean any number of this. It may be that you put in some extra hours during a time crunch. I could also mean that you start mentoring your teammates. Maybe you start volunteering to lead programming efforts or projects. Whatever the case may be, you should start looking for opportunities to showcase your ability to get things done, help your teammates and coordinate development efforts.

What’s Your Special Sauce?

Every one of us has something that makes us unique…our own “special sauce” that sets us apart from everyone else.

spe1Maybe it your ability to get things done. Maybe you work really well under pressure. You might be the type of person that works well with business folks and can translate business requirements into technical specifications. You should try to find whatever it is that you are good at and make every effort to showcase it.

Be careful not to take it too far and come across as bragging, but take every opportunity you have to exercise this special skill of yours and make sure everyone around you is aware of it. Whatever you can do to set yourself apart from the rest of the team, in a positive, way will help you stand out and increase the likelihood of promotion.

You Are In Charge

If you take anything away from this blog post, it should be the idea that you are in charge of your own career.

You, more than anyone, can affect it. If you want to make a move: do it! Whatever the “it” might be for the particular move you’re trying to make. Make it happen. Remember, you always have more option at your disposal; you can always find another job.

If the company you are with doesn’t look like it’s going to allow you to progress like you want, you can always go somewhere else. The only thing that can keep you from advancing is yourself and, luckily, that is under your control. Just do it!

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

Read More

goals

Setting clear goals to help guide your career decisions

For the sake of argument, let’s say that you’ve been working as a software developer for a while and you’ve been able to advance in your career. You’ve gotten a few raises and maybe a promotion or two. If someone were to ask you how your career is going, what would you answer? Better yet, how would you answer? You might say that it’s going well considering that you’ve been able to advance financially and have been promoted to a more senior position. Is this a good enough answer? Are promotions and raises the only measures of success and failure for our careers. If you’ve been following the DREAM principles and have taken the time to DISCOVER who you are and REFINE your goals, then you have a lot more data points at your disposal to answer these kind of questions. Most importantly, you have the career goals that you’ve established and can use to quantify your success and measure how much progress you have, or have not, made towards them.

If someone were to ask you how your career is going, what would you answer? Better yet, how would you answer?

As I’ve mentioned in previous posts, when I came out of college I didn’t really have an idea of what I was going to do with my career.  I was not really prepared to be a professional software developer at all. Nothing in my youth or schooling had gotten me ready for the real world. In fact, for the first few years after school, I just did whatever was in front of me and took every opportunity I was presented with without much regard to career path or any other personal goals.

At first glance, you could say that this was working well for me. I was progressing rather quickly at work and I had become pretty good at my job. In the first 5 years or so, I had switched jobs once, gotten several raises and had already been promoted into a management position. To a certain extent, these minor successes had blinded me to the shortsightedness of my career choices. It took me a while to realize that although I was advancing, I wasn’t really doing well in terms of my career.

You see, the first job I took after college consisted mostly of writing backend applications in Perl. Then, I switched over to a job working at a small Cold Fusion shop.  Neither of these programming languages were what I considered cutting edge and, in fact, I could see that there was no future in them for me. Yes, I was gainfully employed, but I was losing a lot of ground with respect to the changes that were happening in the software development industry. There were new programming languages, tools, technologies and process that were taking off and I wasn’t getting any exposure to them. This realization hit me like a ton of bricks. I knew that if I didn’t do something about it quickly I would soon become pigeon holed into the niche programmer that I was becoming and it would be really difficult to regain all the ground that I had already lost.

I realized that if I did not set these goals for my career I ran the risk of digging myself into a hole that I would not be able to climb out of.

So, what happened? How did I get to this point? How could I have gone for so long without realizing that I was falling behind and coding myself into irrelevance? After thinking about this for a while, I realized that I had never really set any career goals for myself. Up until then, I had been reactive. I would only ever consider the opportunities that fell into my lap. I wasn’t proactively looking to take the next step to better my career or progress towards a goal. This was a HUGE eye opener for me. I realized that if I did not set these goals for my career I ran the risk of digging myself into a hole that I would not be able to climb out of.

goals-signI immediately pivoted and started working towards what I felt were more appropriate career goals. I decided that I would go back to working in the C# .NET programming language that I had started looking into a few years before. I would use that to try to get my career back on track. After realizing that this was not going to be possible at my existing position, I decided to leave my management role and take a developer position with a different company that was using C# and other leading edge technologies, tools and processes. I knew that it was a very risky move. I was essentially giving myself a demotion but I also knew that it was the right move for me in the long run. I was banking heavily on my ability to learn and excel at anything that I set my mind to. In hindsight, I know I was very fortunate that my gamble paid off in the end.

At this point, you might be thinking “Wait, what’s so wrong with being a Perl or Cold Fusion programmer?” Well, nothing really. I could have stayed at the same job or even gone somewhere else and continued working in either of those programming languages. Maybe I would still be working somewhere in that space today. In fact, I have a couple of friends that are still doing really well as Cold Fusion developers. The problem wasn’t that I didn’t think I could make a career out of Cold Fusion or Perl. The problem was that I didn’t want to…and I had never intended to. I had ended up there because I had not been focused on my career and had made decision without setting or considering my long term goals.  I knew there were other things out there that I wanted to do and I realized that the only thing keeping me from doing them was myself. I had never really focused on my career or set any goals that I could work towards. So I just took what was available and didn’t really consider where I wanted to be in 5, 10 or 15 years.

Things that I didn’t think I was interested in when I was in my 20’s have become a lot more appealing to me now that I’m in my late 30’s

successAfter having refocused and refined my career goals, I took the necessary steps to align my career with them and start making progress in that direction. Soon, I was advancing just as I had at the onset of my career but this time it was more in sync with my long term goals. As it turns out, this wasn’t the only time I had to reset goals for myself. In fact, I’ve found that I have to do this fairly frequently. This isn’t necessarily a bad thing. We are all growing every day – changing as developers and human beings. Things that I didn’t think I was interested in when I was in my 20’s have become a lot more appealing to me now that I’m in my late 30’s. At the same time, our young industry is changing at an extremely rapid pace. New technologies, tools and processes are being developed every day that might make us reconsider our goals from time to time.

The key takeaway from all of this is that we should always be working towards some goal. That goal might change over time, but it’s crucial that we always have one to help guide us as we navigate through our careers. How can we really quantify our progress if we don’t know what we’re supposed to be progressing towards?

Without [goals], it is difficult to determine if you are heading in the right direction or not. In fact, goals are what will determine that direction.

In order to know whether you’re making progress in your career, you need to establish the goals that you are attempting to reach. Without them, it is difficult to determine if you are heading in the right direction or not. In fact, goals are what will determine that direction. Setting goals is not an exact science, so don’t expect to get it right the first time around. The key is to always have a goal that you’re working towards so that you can remain focused and make career decisions based on whether the outcome gets you closer to achieving these goals. So remember to stay focused on your career and frequently reevaluate your goals so that you are always working towards something.

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

Read More

lane1

You Can’t *Not* Do Something

What do you do when you don’t know how to do something? Or you have something you want to do but don’t have the time to do it?

The answer is easy but difficult: you simply do it.

Everyone has twenty-four hours in the day. To accomplish your goals of leveling up with your skills, learning new technologies, or working on side projects that you want to turn into your main income, you must make the time to work on it.

Make Time Stop

Most of us have to work full-time, requiring at least nine hours per day when counting commute time and extra hours. If you have a family to care for, you also need to spend time with them, caring for your children and spending time with them.

kanbaIf you don’t carve out time to work on your projects, you will never make any progress. You must look at your schedule and what you spend your time on and find ways to make it happen.

Wake up an hour early twice per week, or two hours early. Stay up late an hour and work. Take a lunch break but work on your project then.

Cut down on watching videos and television series, on playing video games, on facebook, and be amazed at how much time you gain. Ask your spouse to support you taking an evening per week or a day per month to work on your project. Explain how doing so will “buy your freedom” from having to punch a clock everyday.

Tools to Help

Use tools to help you in your work: a kanban board like Trello or Kanban Flow where you can add and track tasks you want to work on. Use the pomodoro technique to focus your work periods and give yourself small breaks.

Learn to use email (like Inbox Zero), reminder tools, and automated systems to streamline your efforts. The more you automate your processes and make systems, the more you are freed up to work on the next big project.

You can learn so much now with free YouTube videos, online learning academies, and tutorials. Figure out what you want to learn and start a side project with it. We are all constrained in varying ways by time, but also most of us waste a lot of it.

So get off your “buts” and start on your project today!

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

Read More