Over a million developers have joined DZone.

Can Your Programming Skills Be Rated?

Is it possible to self-evaluate your programming skills and when they need to be improved?

· Agile Zone

Learn more about how DevOps teams must adopt a more agile development process, working in parallel instead of waiting on other teams to finish their components or for resources to become available, brought to you in partnership with CA Technologies.

I received an interesting question from a reader of the blog last week about evaluating your skills.

Do you have some resources that would help me evaluate my own computing skills into categories like weak in one area or strong in another area. […]
What I am wanting to do is start reviewing my own existing computing skills (since college) so I can reflect an up-to-date resume and my social media profiles.

Unfortunately, it’s hard to compare programming and software development skills. Each project and problem domain is different: the basics of a technology are shared by everyone, but once you’ve passed a certain point your experience can vary wildly. For example, I work on large software that’s been around for a long time, has long-established traditions, and various versions in the wild. That’s a totally different context than a startup that’s just getting started, needs to prototype new features quickly and doesn’t worry about breaking things. The skills you learn in both environments will be valuable, but they are not the same ones even when they share a framework or a programming language.

There are also no recognized tests and classifications in the industry in general. If you’re working with technologies from vendors such as Oracle, Cisco, or Microsoft you can be certified, but that’s not true of all technologies. Also, some freelancing platforms like Upwork have tests to help rate their freelancers, but they usually evaluate syntax minutiae and knowledge of API methods. This is a poor indicator of real programming abilities. If you’re not working every day with a language, you won’t know all those details by heart, but they can be looked up quickly as you need them.

Still, it’s not easy seeing where you stand with skills you didn’t use recently. But if you worked on a large project using a given skill, it’s a good bet that you’re strong in it. I’d say the best way to check if your skills are up to date is to read a recent book or listen to a few talks on the subject to see how things are currently done. Some of your knowledge may be slightly dated, but the basics are probably still solid and would require only a little work to update if you need to use them. Besides, many shops are still maintaining legacy software or don’t use all the brand-new features of a language to keep things simple. They won’t mind that you’re not familiar with the latest syntactic sugar.

On the other hand, some frameworks go through a total rewrite like Angular in JavaScript or Symfony in PHP, or are totally dropped from favor like ColdFusion or ASP classic. In that case, you’ll probably find out during your reading that getting up-to-date means starting over from scratch, and it may be better to just drop that skill or move to a new framework. Frameworks are more susceptible to this than programming languages, since languages move more slowly and must care more about maintaining backward compatibility if they want people to upgrade.

So, do you have old skills that you wish to upgrade? Please share in the comments!

Discover the warning signs of DevOps Dysfunction and learn how to get back on the right track, brought to you in partnership with CA Technologies.

Topics:
skills ,assessment ,learning

Published at DZone with permission of Cindy Potvin, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}