473,387 Members | 1,528 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes and contribute your articles to a community of 473,387 developers and data experts.

6 Skills Developers Should Build to Keep Things Interesting at Work

Eli Lopian
It's easy to get bored writing code day after day. This is especially true when you aren't building a new application from scratch but rather are coding bug fixes and minor enhancements. It's up to developers to challenge themselves and build the skills that will keep their jobs interesting and motivate them to get out of bed every morning. Here are six skills you should work on to keep enjoying your software career.


1. Build Technical Skills

The core of every developer's career has to be rock-solid technical skills. In order to progress to new opportunities, they have to be current technical skills, too. You often won't get that kind of training on the job—you're more likely to learn a new dot version of a package you already know than a completely new technology, even if another team at the office is using it.

Technical sites and even popular press will tell you what the new hot technologies are. If your company isn't bringing them in, challenge yourself to learn them on your own, with a side project at home. Cloud and trial versions make it easy to try out new tech at little cost. If you've been an SQL developer for 5 years, experiment with one of the NoSQL databases. Make it even more interesting for yourself by choosing a technology that's nothing like what you do at work all day—if you're a backend developer writing server-side code, experiment with building the front end for a mobile phone app.

Another way to build technical skills is to try out a new technical role. You'll need your boss's help, but instead of just writing code, take on a different role for your latest project. You can try out QA, analysis, administrator, production support, or other roles. You might discover you want to make the transition permanent, but even if you don't, you'll get a better understanding of how the code you write affects the rest of the development process, and you'll be a better developer because of it.

Take the opportunity to share your new skills with others, too. You can contribute to an open source project, speak at a user group meeting, or mentor students. This is a great way to reaffirm how much you know and how valuable it is.


2. Build Productivity Skills

Sometimes, it can feel like you are working 10-hour days but you hardly accomplish anything. You might even find yourself working on the same section of code for multiple days. In order to provide value to your company, meet your deadlines, and get a sense of professional fulfillment, you must find ways to be more productive.

Some productivity skills seem counter productive, like in the “sharpening your saw” analogy where a lumberjack continuously saws for several days and yet, he becomes less productive. The process of cutting dulls the blade, making his efforts ineffective, so the solution is to sharpen the saw, periodically. For developers, we want to add more codes and features but it doesn’t mean we achieve it by simply adding more and more code. Instead of adding more lines of code and features, the more efficient way to go is by “sharpening” your unit testing.

Using code unit testing helps you create a suite of tests that you can run at any time during development, and it is key to increasing your productivity. Doing so will enable you to continually verify the quality of your work. This essentially frees you up and keeps your coding velocity and speed constant, so you can get more work done in less time.


3. Build Interpersonal Skills

You'll need good communication and interpersonal skills to share your tech knowledge, and in fact, you need those skills to get ahead at work, too. Work today is collaborative, even software development. You need to be able to discuss designs with your colleagues, work together to solve production problems—if your business uses pair programming, even coding isn't a one-person job.

So learning how to communicate effectively is another skill that can help you find new opportunities at work. Both written and verbal skills are important. A business communication course can help you learn how to write an effective email; you can also learn how to write longer documents like a support guide.

Because giving presentations is important, learn both how to use PowerPoint to create effective slides and how to speak in front of a group, confidently. At the very least, better communication skills will help you ask your boss for more dynamic and challenging work!


4. Build Management Skills

Ever wonder what your boss does all day? They're dealing with a whole different set of issues than the development team, and building management skills is a great way to get out of your development rut. It does mean leaving hands-on work behind, but if you're bored with what you're doing, that may not be a bad thing. Managers deal with project planning, budgets, and people, and you can take classes in all three. You can show off your management skills on your own projects by getting better at estimating the time needed to finish an assigned task. Mentoring a junior developer is a great way to learn how to develop people as well as develop code.


5. Learn Business Skills

We're not talking business skills as in "MBA", here. For developers, business skills means building a better understanding of the business and industry you're working in. Unless you're building general-purpose software, like a word processing application, applications are built for specific domains.

The more you know about the domain you're working in, the more interesting your programming projects will be, and the more likely your code will meet the unstated business requirements. You can ask to take some of the training classes that help new business-side employees learn their jobs; sometimes you can shadow an end user for a day which will help you build a better relationship with your customer as well as learn more about the business.


6. Build Life Skills

The last, but most important, way to get out of a rut at work is to stop focusing solely on your job and start living your life. You may not be able to limit your work days to 9-to-5, but even if your applications are 24x7x365, you don't have to be.

You should give yourself a break and stop checking your work email from home. Most of the time, urgency is more perceived than real, and the problem can wait until the morning. Spend time with family and friends doing things you enjoy. You'll head into the office with a clearer head and be able to enjoy what you do more.

You can do a lot to build these skills on your own, but don't forget to talk to your manager. They're the person with the power to help you find ways to apply these new skills on the job. Chances are your boss wants you to be happy and stick around at work—it takes time to find, bring on, and train a new employee. A good manager will help you find new challenges and new ways to enjoy your job.
Oct 23 '17 #1
0 3225

Sign in to post your reply or Sign up for a free account.

Similar topics

2
by: john | last post by:
Hello developers, I am examining trends in developer satisfaction with Microsoft. Without starting a flame war, I would really appreciate it if you respond with the top 3 things that, as a...
48
by: Nathan Sokalski | last post by:
Ever since I found out that they didn't give us a way to install both IE6 and IE7 on the same machine, I have been more frustrated and annoyed with Microsoft than I ever have been with any company...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.