Complacency kills: 5 local devs share how they keep their coding skills fresh

by Kelly O'Halloran
June 22, 2017

Alexander Martin has been coding since he was seven. Today, he’s a senior professional services engineer at Tenfold.

It runs in the family.

His dad is now 30 years into his role as a senior DBA where he reguarly works with Oracle. Father and son talk shop regularly.

“I had been telling [my dad] about technologies like Docker and AWS for about a year now, but it wasn't until he faced downsizing at his current employer that he started really looking into how modern-day infrastructure and architecture works,” said Martin.

Martin’s dad understood his programming skills were becoming obsolete, so he began studying for AWS and Google Cloud Platform certifications. It worked. He remains a valued member of his team.

If you’ve also been coding a while, it’s critical to stay on top of industry trends and new tech stacks and skills. It’ll keep you top of your game in your craft.

We caught up with five seasoned developers to find out how they also stay fresh and marketable.

 

alex tenfold.png

Martin began coding at a young age, initially learning from a CD how to program games in BASIC. He’s a full stack JavaScript expert and often uses the Mozilla Developer Network as a resource for documentation on the language.

How do you keep your skills fresh and sharp?

Thankfully, my job lets me explore different languages and libraries. The latest project I've been working on at Tenfold uses gRPC so that our Java and our JavaScript microservices can talk to one another.

On my own time, I like to create and contribute to open source projects. These are a great way to learn and collaborate. If you're not sure how to get involved with a project, a lot of codebases have an issue label to help invite new contributors. For example, NodeJS has a label called “good first contribution.”

What resources do you recommend?

Reddit has some great communities to stay up to date on the current ecosystem. I try to check /r/javascript and /r/node every couple of days to see new libraries, updates and discussions.

For specific codebases, check to see if the community has a dedicated Slack, Discord or IRC Channel. For those who extensively use the libraries created by Facebook, there is a large Reactiflux chat community. Not only do they encourage discussion and help people who use their libraries and tools, but you'll also find dedicated channels on things like ES2016, Webpack and other modern JavaScript codebases.

Why is it important to continue to improve your skills?

Programming languages and their ecosystems move at an exponentially increasing pace. In less than a year and a half, NodeJS jumped from version 4 to version 8. Just last month, Yarn was the hottest package manager around, but now npm 5 is trying to reclaim its territory.

It's important to see where the ecosystem is heading. You'll be able to make informed decisions and prepare yourself (and your projects and your resume) for adjustments before you're forced to make a change.

 

 

 

sprinklr office collage.jpg

Troy Cox has been coding in various forms for 15 years. He’s a DevOps engineer for Sprinklr, where he remains proficient in the programming languages that are most popular at any given time. To stay sharp, Cox recommends attending Austin’s wide variety of programming meetup groups.

What programming skill/language are you an expert at?

As someone who isn't necessarily a software engineer by trade, it's prudent to be a generalist in the most popular languages. I find it gratifying to study how various languages and the tooling associated with them share similarities and inspirations. Regardless, I aim to use the best tool for the job. For several projects, that has been Python, though I don't shy away from good old shell scripts.

How do you keep your skills fresh and sharp?

At the rate technology moves, it's important to keep your finger on the pulse. We are very lucky to have a fantastic Meetup scene here in Austin, covering virtually every facet of the tech spectrum. It’s the best way to interact directly with other people learning and growing their skills. Often you'll find that people are not only approachable but are also facing many of the same challenges in their day-to-day work and personal projects as you.

What resources do you recommend for other coders to utilize?

Documentation and posts on Stack Overflow can get you pretty far these days. However, IRC remains an oft-forgotten resource. As someone whose early technical knowledge blossomed through the generous live assistance from strangers on the internet, I gain satisfaction from paying that forward and believe many others share the sentiment.

What usually happens to developers who are content with their skills?

I think that depends on what those skills are. I'm sure that the handful of best-in-class mainframe programmers are delighted that fresh graduates aren't being drawn to that craft.

Those attracted by the "ooh shiny" factor of developing with the latest and greatest programming languages will be popular and constantly in demand. However, the inertia of existing projects in older languages means that they certainly aren't going anywhere anytime soon, guaranteeing that anyone comfortable maintaining those can remain so.

 

 

conde nast developer Collage.jpg

Rafael Hoffmann Barros and Nola Stowe are both software engineers at Conde Nast. Barros has coded for 11 years and Stowe began when she was 13 years old. Barros recommends watching posted videos from the big talks and workshops from conferences or engaging on Stack Overflow, while Stowe encourages coders to blog and attend user groups.

What programming skill/language are you an expert at?

Barros: Python, and reluctantly: JavaScript.

Stowe: I’ve spent the majority of my time in the web doing Ruby, JavaScript, PHP and Python. I love writing tests of all types.

How do you keep your skills fresh and sharp?

Barros: I read. I read. I read, and I write some code. When I find an article that has something interesting, I try to implement it myself without copy-pasting code, so I get the practice and the insights myself. Just running a project from a stranger isn't enough to learn.

It's also helpful to go back to basics every now and then. Practicing on the thousands of online coding exercises keeps me on my toes.

Tinkering around is useful, too. Inventing projects to work on during my downtime — some can even bring in some extra cash — is a way to apply a technology that cannot be put in practice at work just yet.

What resources do you recommend for other coders to utilize?

Stowe: Take your career into your own hands. This is not your company’s responsibility. I attend user groups, follow languages on Reddit and am an active user of Pluralsight and Safari Books Online. I blog at Ruby, etc. because that forces me to describe what I am learning and it might help someone down the road (or my future self!).

Why is it important to continue to improve your skills?

Barros: To stay marketable, and productive even. The companies I have worked for needed to be competitive and ahead of the curve on the market — most of the time that comes from software.

Stowe: How would you like to go to a doctor who only knows what he learned in college 20 years ago? He keeps up his skills, and as programmers, we should do so as well.

What usually happens to developers who are content with their skills?

Barros: They fall behind. People who vehemently defend a language or framework for too long may miss out on opportunities when that tool is outdated.

Not having a curiosity to try new things or even trying something that goes directly against my preferences can teach me what's on the other side of the coin, which is always useful.

Being content is being complacent.

 

 

ga atx Collage.jpg

Riley Dallas also recommends free online resources like YouTube and Udemy when coders need to learn something new and Egghead.io for “all things JavaScript.” Dallas instructs web development at data science at General Assembly and has been coding since 2004.

What programming skill/language are you an expert at?

Ruby on Rails.

How do you keep your skills fresh and sharp?

Watching screencasts is a great start, but you have to get your hands dirty. Think of a really simple app to make and code it using the technology you're trying to learn.

Why is it important to continue to improve your skills?

Different technologies tend to fall in and out of favor quite rapidly. When I first started, PHP was dominant. Then it was Rails. Now it's NodeJS. If you're a one-trick pony, you can quickly find yourself holding the short stick.

What usually happens to developers who are content with their skills?

I try to avoid working with developers who are content with their skills.

My favorite weed-out question when interviewing developers is "What are your favorite programming blogs, podcasts, books, etc?" The question behind the question is: "Do you care about your craft?"

The passionate ones can rattle off two or three responses without hesitation.

 

Images provided by participants, Shutterstock and social media. Some responses have been edited for clarity and length.

Let us know what you want to read about by leaving us a tip or tweeting us @BuiltInAustin

Jobs from companies in this blog

Austin startup guides

LOCAL GUIDE
Best Companies to Work for in Austin
LOCAL GUIDE
Coolest Tech Offices in Austin
LOCAL GUIDE
Best Perks at Austin Tech Companies
LOCAL GUIDE
Women in Austin Tech