After nearly 20 years in software development, Ryan LaRue introduces three lessons he has learned in his programming career with takeaways that apply to all levels of experience.
Join the DZone community and get the full member experience.Join For Free
You've been hearing a lot about agile software development, get started with the eBook: Agile Product Development from 321 Gang.
Open Door Policy
One of the reasons I've always loved Software Development is its open door policy to new entrants. No MBA, PhD or, heck, degree required.
If you're smart, like to solve problems and get things done, then you will be welcomed with open arms.
At a recent client, one of the company's permanent developers was, in her near-term past, a police officer. At some point, she decided she didn't want that lifestyle anymore and worked her way into a nice position with a company that valued her work ethic and programming skills.
Some of the best programmers I have known were not college grads. Around the time that most others their age were going away for four years (or more) to decide what they wanted to be when they grow up, one way or another they realized they had a natural ability to code.
I took a more circuitous route. I was one of those that had to 'go find himself' for more years than I should have at a university. After graduating with a highly coveted degree in Exercise Physiology with an emphasis in Journalism (yes, that's sarcasm), I fell into an internship with a tiny web development shop in the River Market.
Finally, I was home.
After searching my entire life for the career that wouldn't have me hating what I do for a living, and after changing majors more times than I could count, I found what I was looking for all along.
It was interesting. It was creative. And I didn't have to wear a suit and tie.
So I am one of those grateful many that realized I could change the direction of my life because, in this industry, work ethic and the ability to solve problems are valued more than a piece of paper proving that I know all the best bars in Lawrence, KS.
Let's continue to keep those doors open. How have you helped someone lately who is more "junior" in programming than yourself?
Don't Hold Yourself Back
I recently texted a fellow programmer from a previous job and told him I thought a newly-opened management position at his company had his name written all over it. This was his reply:
"I want to continue coding. When you shift to management, your skills get rusty."
Does that sound familiar? Maybe you've even said it yourself.
After all, the sentiment is a common one in software development. It goes something like this: If you commit to the management path, you've also committed to sticking a stake in the heart of your programming skills.
I used to say the same thing - and I even thought I believed it.
Back then, when a recruiter approached me about a team lead role with limited development expectations, I would abruptly turn her away. How dare you, madame! Afterwards, having swatted away that potential boondoggle, I'd confidently return to my code feeling piously assured in my decision.
Over time, however, I realized something: it was an excuse.
Without going too Tony Robbins on you, I believe that fear often holds us back more than we realize. Fear of what, you might ask? Fear that we don't know enough, fear of failure, and the most insidious fear of them all, fear of success.
I told myself it was pure, unadulterated logic talking when I told those recruiters to hit the road. But when I took the time to analyze those decisions a little deeper, I recognized that fear might actually have been the driving factor.
In my case, I always told myself that my technical knowledge wasn't deep enough to lead a team. So I would push it off until that one fine day when the clouds would part, the sun would shine, and I would just know - I was ready.
Listen, I don't want to be too presumptuous. There are plenty of developers that just want to code and have zero desire to lead teams. If that's you, awesome. There is huge value in being completely focused in one direction.
However, if you have a desire to lead, let me encourage you to throw yourself into the fire as soon as possible.
One way to do that is to embrace consulting. While my purpose here is not to sell the consulting lifestyle, it often provides the ability to lead a team for one client and do straight programming for the next client. This is a great way to further your leadership abilities while also keeping your programming skills fresh.
Whatever path you choose in your career, just make sure that you aren't the one preventing the realization of your true potential.
Beware the Epidemic
Several years ago, I had the naive belief that all software developers have a love for programming.
Then I had several fellow programmers tell me that they hate programming.
I felt bad for them, not only because they did not share my passion for our chosen profession, but because they were coming to a job every day that they hate.
I'm guessing, however, that they did not start out this way. Early on, most people in development fall in love with programming. It has an intriguing way of pushing a newcomer to learn more about its nuances and understand its mysteries.
So what happened to turn them from an obsessed, fresh programmer into a bored, bitter code monkey?
One theory is that they got complacent.
Complacency is an epidemic in our industry (in fairness, it probably is in others, too). It's a quiet and sly foe that creeps in over the months and years, telling you that you've done enough, tempting you to do only what is expected then go home to the family. That is, after all, the safest thing to do.
Maybe it is, but it always leads to the same outcome: boredom, sameness, the feeling that you are just punching the clock. Time to make the donuts.
Slowly, any sense of creativity dies.
People outside of software development often put developers in the same boat as accountants, but, often, software developers are a much more creative lot. We thrive on the fact that there are always 20 ways to solve the same problem, and it's our job to find our own way to the answer.
The key is to always be looking for newer, better ways to get your answer, and to always keep learning - just like you did when you were starting out.
Most of all, learn to recognize when that devious foe is whispering in your ear and then refuse to become another one of its victims.
Published at DZone with permission of Ryan LaRue , DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.