Saturday, July 23, 2011

Thoughts on "growing as a developer"

I just read the following blog post written by Robert Bowen:

These are the highlights:
  • We should always be moving forward, reaching for the next plateau
  • Find a way to grow, actively pursing opportunities of growth
  • Make sure:
    • Your schedule allows for that
    • You don't think you mastered the field
    • You think outside of your day-to-day job world that may have become stagnant and monotonous
  • Ways to grow:
    • Step outside of our comfort zones to try something new and experiment to guarantee to learn something new and push our skills to new heights
    • Study the work of those you admire
    • Keep up with the field and how it is evolving
    • Reach out to others for feedback
    • Collaborate on projects with others that will push you to challenge yourself
    • Be active in the community, like running a blog, contributing to blogs and discussions
Pay-off
This is a great post and reflects my motto of always keep getting better and pushing myself. I believe that, by getting better, you will grow in your field and, no matter what the current circumstances are, over time that will pay off.

Is it worthwhile?
I've started challenging myself in this regard by asking: is my motto actually something worth living by?  This pay-off will definitely be worth in terms of personal satisfaction. Like one that has hobbies and personal projects, oftentimes these are for personal satisfaction more than for some special reward in the future.

Provided value
Other than personal projects, when you are  an employee or a freelancer, or even an entrepreneur, this growth pays off to the extent that it provides value to those paying for your time, service, or product. And that is very important to realize sooner than later.

Multiplying effect
Even getting better technically, typically you hit a ceiling at some point, because no matter how much you can accomplish, you can accomplish only so much as an individual contributor. Unless you have a multiplying effect in the organization. Not that multiplying effect is something easy to define, and can be subject to politics and subjectivity, but the general idea is that on can make the entire organization better. Only doing that you can grown as an individual contributor, otherwise you will not grow beyond a certain point in your career.

Is getting better valued?
Besides that, another very important point is how much getting better is actually valued by the organization you are part of. If you are surrounded by people that do not see value in getting better - they may think that the current level is good enough, or just don't value improvement as long as things get done - you will grow frustrated as your growth will not be recognized and you may not even be potentially be rewarded at all by it. In some cases, you can be even penalized by that. This all can lead to potential stagnation and will require a major effort for one to keep sanity in such an environment. Notice that, if you are dealing with customers (as a freelancer or entrepreneur), it can be the same.

Address actual needs
The key is how you can leverage your getting better to provide more value - and find or create the environment that nurtures that mindset. You can make your program/code/design more efficient, more resilient, more secure, etc, and that is where your growth will manifest itself. In reality, the trick is to find the right set of people that really want more efficient, more resilient, more secure, etc, as oftentimes they think the current state of affairs is good enough. It just could be that the challenges faced by the company cannot be fixed or substantially improved by your skills, in which case the relationship can grow sour over time.

Being ahead of the curve
Eventually, if one keeps getting better, it becomes increasingly more difficult to find the right opportunities to leverage this knowledge, and this can be incredibly frustrating for the individual. The personal satisfaction is still there, but as we say that some people are much ahead of their times, some people are just ahead of the curve and must find how to apply their knowledge. Taken to the extreme, only a few places and few people in world may actually value these people, and spending their days doing the "wrong" thing or in the "wrong" place may prove to be a complete waste of time.

More than technical skills
As part of growing as developer, everybody should work on their interpersonal skills if these can be their weaknesses. I don't think that weaknesses must be necessarily completely fixed. One should build on their strengths with the following rule: don't let the weaknesses get in the way. In our field in particular, these weaknesses are typically related to soft skills, and bright people often can work on them. By doing that, nobody will dismiss great ideas or contributions on the basis of soft skills. As part of finding the right environment and right set of people to work with, improving on soft skills can be quite beneficial.
Post a Comment