I'm sorry Mr Smith.  We can see that you are a reliable employee, having worked at Acme Inc for 15 years.  But what we need are people who have experience with Doodadz written in Unicornium.  This Python you have worked with has been completely phased out of our software stack 5 years ago.

Over my career in development, I've learned a few habits through experience that I believe help develop a career.  Most of them are simple things, but they take some discipline to do frequently.  Keep your eye and ears on the market movements for your chosen field.  Develop your skills and expand upon them with new skills, tools and frameworks regularly.  Use those sharpening opportunities to build a personal portfolio.  And finally, keep a constant look out for new and better opportunities.

To keep your eyes and ears on the market movements is pretty easy if you like news.  For this exercise, stick to industry relevant news.  With the internet, there are a ton of good sources and a simple search brings up a multitude of potential avenues.  I believe that one of the tricks to this is to find a few good sources and then limit your time on them.  Information overload is a real potential issue, and it is generally an addictive activity.  I advocate being current on the trends but also limiting your time spent to about 1-2 hours a week.  For software developers, I like to visit places like http://pypl.github.io/PYPL.html every couple of months to get a pulse of where the overall industry is going, and any similar break downs for your particular industry (say, web development, mobile development, freelancing, department of defense, embedded, etc) as well as in your region (geography does impact some of the trends) for which languages and stacks are most popular.  This populates your inputs for the rest of the topics in this article.  You don't always have to stick to the up and coming or the most popular language.  But it is very handy to be aware when something is falling out of favor.

Armed with current industry knowledge, you should then pick a skill, language, tool, or framework to learn - or learn in greater depth.  30 minutes a day 4-6 days a week.  Some employers are interested enough in your personal development to allow such learning to happen on the job.  Even if they don't though, this is an important step to developing yourself.  I prefer to use regular time every day over larger binges at longer intervals.  This keeps the projects and learning moving forward and I believe that the concepts sink in better.  For me, I am less likely to forget and slack off in this supplemental learning with the regularity.  With this time, you can learn new features in your IDE.  Try out a new IDE.  Try a new language.  Try a new framework. View instructional videos about all of the above.  When trying a new language or framework, I would do so with an eye towards completing a distinct project that's useful to you.

Completing projects is important, especially early in your career.  There are always pain points and more enjoyable points.  Getting to The End will help you develop the discipline to push through the pain points as well give you a well rounded experience with that item, from creation to deployment.  Going through the entire exercise also helps you accurately identify where those pain points are, how that technology might be used effectively and where it might not be a good fit.  And the final payoff is to have something to show off in your portfolio.  Which brings us to...

Make a portfolio.  Such self promotion is alien to a lot of engineers I know.  However, having one makes the job interview a lot easier.  More importantly, it helps you look passionate and engaged by your work as well as present your skills as a developer that no white board development challenge is going to be able to match.  Just do it!

Last of all, always keep a casual eye open for new opportunities.  Even if you are happy in your current position.  Times change, both technical and business.  The industry moves on quite rapidly and in 10 years the landscape will look very different from what it looks like today.  Regularly evaluating companies for fitness as well as a good professional fit for you will help you.  You will learn things about your industry that may help you in your current position, both in making good technical decisions for the future and in knowing your market rate in preparation to re-negotiating your rate with HR.  This means keeping a resume up to date.  Keeping your LinkedIn profile up to date.  Checking the job boards at least once a quarter.  When something interesting does pop up, an application is quick and easy.  Interview skills won't completely decompose.  And when the next big wave of industry change occurs, you'll be able to ride it to success rather than end up washed up on a beach trying to figure out where you went wrong and then forced into an unpleasant career change.

Business photo created by yanalya - www.freepik.com