Coder Camps

Blog

Flexibility is a Developer’s Greatest Asset

Flexibility is a Developer’s Greatest Asset

After over a dozen years of experience in the software industry, I have found that my single biggest selling point to new employers is my ability to quickly pick up new skills and become productive with them – even if the tools or languages I’m using may not be my first (or even second or third) choice. Sometimes, you get lucky and can choose each piece of the puzzle yourself, but more often, some or all of them are chosen for you, and it’s natural to want to push back against things you don’t like or don’t understand. With that said, let’s go through a few “don’ts”.

Don’t let frustration blind you to possible opportunities

While I would never argue that you should consciously choose the wrong tool for the wrong situation, and there are certainly times where it’s worth speaking up before your team goes down a potentially disastrous path. You should be prepared for the worst, however, and there will be many times in your career where you simply don’t get that option. When that inevitably happens, it’s important to make the best of a bad situation, and view that as the opportunity it is. Even your least favorite tool or technology likely has something valuable to teach you.

As a personal example, I do not enjoy working in JavaScript as much as many of my peers do. I find it chaotic and disorganized, and while I appreciate what talented developers are able to do with it, I prefer the organization and structure that’s more inherent to something like C# or Java. However, learning to use JavaScript despite it not being my first or second choice has value – not just as a line item on a resume, rather it requires me to think in certain ways that object oriented languages often do not.

To my surprise, my experience working with JavaScript and thinking in a functional programming way made me a better developer in modern-day C#, which is looking more and more like JavaScript, with, among other things, LINQ and lambda expressions, and implicitly-typed variables. While both JavaScript and C# are, at their cores, imperative and object-oriented languages, you can do some pretty clever things with functional programming in JavaScript. Without that experience in JavaScript, I would have had fewer reasons to think outside my imperative programming bubble when I returned to C# years later.

Don’t allow yourself to become pigeonholed

If you ever find yourself using the exact same tools and technology for consecutive years at a company, it might be time to start looking for a new job. There’s nothing inherently wrong with becoming specialized, of course, but even within that speciality, you want to make sure you’re always learning and always moving forward. It’s not just about adding to your resume either, though obviously that’s a helpful aspect. It’s also about personal growth and making sure you always challenge yourself. Solving the same problems with the the same tools day after day is a tempting trap, but ultimately you’re sabotaging your own future career. I’ve left otherwise-fulfilling jobs because the company simply refused to move the technology stack forward.

That’s not to say leaving a job is always the solution, or that you should walk away from a job because the company isn’t using the latest and greatest technology, but moving forward and learning should be at the forefront of your mind. If you find yourself stuck with no obvious alternatives, work on some side projects that challenge you in new and interesting ways. Companies want to hire people with experience, passion and a diverse toolset, and if your job isn’t giving you those things, you need to seek them elsewhere, at least until you find  job that can.

Don’t worry about choosing the wrong path

I started my career working on LotusScript and VBA applications. I haven’t looked at either of those languages in years and in fact, I have reached the point where neither of those are even bullet points on my resume. The tools and technology of your first or even your second job won’t define you or your career, and even those most limiting situations can teach you valuable lessons that you can take with you on your career. Even the worst project with the worst tools written in the worst language can give you an interesting story to tell. Learning the wrong thing to do is oftentimes just as valuable as learning the right thing to do.

A good company won’t expect you to know and understand everything they do right out of the gate, and while it’s obviously a bonus if you have experience with certain aspects of their technology stack, it’s far more important that you can point to examples of how you’re willing and able to learn and use a variety of tools. No single job will define your entire career unless you allow it to.

Jason Kallelis is Principal Software Engineer at Playground Health, and a Senior .NET Developer at FEi Systems, two companies with entirely different software stacks, but he doesn’t let that stop him. Connect with Jason on LinkedIn

Enter Your email to subscribe to our blog for more information about the industry.
Facebooktwittergoogle_plus