Learn New Skills
Take part in webinars; webinars are a great way to enhance your skills and the best part is you can literally do them from your office - or your living room... with a beer in hand.
Attend workshops, we regularly hold Scala workshops for Engineers to develop their Scala skills, workshops like these are a great way to learn a specific skill efficiently but guided by an expert.
Sign up for courses; find out exactly what skills are required for the role you are hoping to progress into and then you can sign up for courses that will provide you with these. There are so many courses online and some of them are completely free.
There are many ways you can 'teach yourself' - again it is important at this point to find out exactly what skills are required for your dream role and then find some relevant books, podcasts and youtube videos for you to begin learning. All of these resources can be used on your daily commute so won't eat any time out of your normal day.
Networking will provide you with a whole group of associates that you can from time to time contact for advice when you need it, ultimately making you better at your job.
Through networking, you may also be able to find a mentor, who will ideally be in a position that you would like to be in - they can then guide you on how you can get there and what they did when they were in your position.
By widening your network, you will increase your options when you need to out-source work, which will likely result in a better quality of work.
Networking will enable you to build relationships with people outside of your own company, which will help you if you are unable to progress in your current company.
Write about your skills and create an interesting portfolio
When applying for your new role you will need to send a cv as part of your application - so it is vital that this presents your skills and experience in the best way - if you can, know what skills will be required for the next role you want before even looking at applying for it and when you do something in your current role where you use that skill then try and write about it there and then, that way when you do come to apply for a new role you will have a lots of specific examples to refer back to. Additionally when writing about your skills and experience don't stop at writing about it once - redraft again until you are happy with how it sounds to your prospective employer.
Creating a portfolio online with actual examples of your work is a great way to showcase what you can do and have done - it will also create the easiest way for prospective employers to understand your skill level.
Take on extra responsibilities or projects in your current role
You don't have to begin in a new role, to face new challenges or develop new skills you can do so in your current position. You can take on assignments that aren't usually your responsibility - if you work in a team with a set task list why not switch it up for a while. You can also try taking on projects that haven't been done before, not only using different skills but also developing your leadership abilities.
This doesn't mean you should dive into the first new project you can think of - clarify what you are trying to learn, ask yourself what is different in this project to what you have done before and then ask yourself why you haven't done something similar before. Make sure you address the fact that there may be obstacles in your way and if so are you able to break them down?
If it is your current day-to-day task list that you are unhappy with, in your current role, try to re-shape it by offering to complete tasks that you would like to be doing, perfect if that person is a little stretched, you will be helping them out. Temporary assignments or covering for someone while they are away is a great way to gain experience in tasks which are outside of your job description, while only being temporary which will ensure your permanent task list isn't too heavy.