January 18, 2015
Learning a new technology
By: Ashley Osborne
As most people who have read about Accenture know, we as software engineers are expected to move from project to project when we have finished our work. I find especially at a junior level we are expected to learn what I call horizontally- learning several frameworks/technologies before going vertical and specialising in one. This of course, leads to the potential of starting a new project and having to learn a completely new framework, or language rapidly. I think a valuable skill to have as a software engineer is the ability to learn new frameworks and enhance your existing knowledge. Over the past year I’ve had to learn a few new frameworks for example:
The Android framework
Most recently the mule framework
Whenever I start with a new skill I always follow a few strategies that I find work well for me:
Arguably the first point of call is to Read The Full Manual- all frameworks have excellent developer guides that give you a glance into how they work, some like the Spring one, are excellent and cover the technology in great depth
2. Find a good book
The second thing I always like to do is google around for the best tutorial books and read them (the commute to work is an excellent place to do this if you are very busy!)
3. Come up with something to build in the technology
Once I’ve done my ground work and learnt a bit about the technology through theoretical sources, it is now time to actually build something with it- this can be anything from a basic shopping cart system (Spring) to a full blown app (Android). I find this is where you really learn the most. However it can be tempting to just follow online tutorials, which essentially do all the thinking for you and you don’t end up learning how things in the framework actually operate, just how to make something work, and will hamper your learning in the end. For this reason I try to stay away from tutorials as much as possible, only using them as a reference.
4. Learn from people around you
A great thing about working at Accenture is the people. Whenever I’ve had a question and am really stuck I’ve never felt embarrassed to seek help from the more senior developers- chances are they have had similar issues and as well as helping with a solution they can explain how it works. Its good to remember sometimes you can be the most senior developer at something so always try to help others when they need it!
5. Continuous Improvement
Once I’m comfortable in working with a technology I always try each week to learn something new about it or investigate how something works under the hood. I also try to follow blogs/twitter accounts and even youtube web blogs.
In conclusion whenever learning something new just remember that there is support and resources to learn something new. Also experiment with your own ways of learning- some people react better to other methods.
As normal any questions or comments are more than welcome.