Just be the ball, be the ball, be the ball. You’re not being the ball Danny.
— Chevy Chase, Caddyshack
And you may find yourself in another part of the world.
— The Talking Heads, Once in a Lifetime
Are you a bit-twiddler? A business-applications expert? A detail-oriented or conceptual thinker? Do you love puzzles but hate working with people? Love working closely with others or would you rather go heads-down for eight hour stretches?
Everyone has at least one gift, and every developer has a niche. Not everyone has paired their gift with their development niche, though: Sometimes they’re opposing forces. I’ve worked with a lot of very bright developers with a raw talent for low-level programming details, but who couldn’t conceptualize a business process at all! They struggle with their coworkers and they struggle with their jobs, round pegs forced into square holes.
Except I hated it.
I wasn’t stupid. The technology was simple to grasp and the work was (generally) pretty easy. At the end of the day, something was lacking and I felt a general sense of missed fulfillment. I felt a huge hole in my desire and interest in work.
I had not balanced my equilibrium.
I had to step back and reevaluate my career and take stock in the areas of development that interested me. In my free time, I love writing C and working with low-level machine code, but I wouldn’t enjoy working at this level every single day. I started making a list: What am I good at how does it relate with my experience?
I’m good at ideas. I’m not good at details. I would rather conceptualize; I’d rather create solutions.
I’m good with people. I’m not good working alone. I would rather be on a team, lead and mentor.
I’m good at business process. I’m not as good at low-level abstractions. I’d rather build business applications.
Little by little, I began finding an equilibrium between my life experience and interests and the development talent I had been building for the last ten years.
This is no easy task. Distilling so many interests and activities into a very rough job description took a long time, and it’s taken me years to find a balance I enjoy. I’ve even had hiccups and missteps: For a while, I thought I’d rather do heads-down development.
But I found out that I didn’t enjoy it.
Iteratively, I reevaluated my career and took stock of my opportunities and experiences.
I hacked my career path.
Pegs, Holes and Flexibility
I’ve been fortunate enough to find a balance in my career, taking the round peg of my interests and gifts and marrying it to the round hole of my opportunities and niche.
If you find yourself in a position where the work you’re doing just isn’t enjoyable, but you really consider yourself a developer, then perhaps you haven’t found your development equilibrium. Maybe you’re a round peg in a square hole and it might not be the place you work! You may find that you’re simply doing the wrong style of development work.
That’s one of the single greatest aspects of being a developer: We have a tremendous amount of flexibility. If you’re not a business applications developer, maybe you’re a user interface developer. If you don’t enjoy working in an environment where you interface a lot with other people, maybe you need a more heads-down role.
As long as you’ve dedicated your life to learning and growing and changing with the tide of technology, you’ll always have an opportunity.
You just need to find the balance.
You need to be the ball.