I actually used to be a QA, and have worked with Java in testing frameworks for about 2 years, and before that Ruby.
My old company offered me a role a developer, due to demonstrating effort and commitment to solving live issues in the code base, and a fortunate opportunity of a move at the right time.
So, I worked there for about 6 months as a dev, not really writing much green fields stuff, more bug fixing and amending existing functionality, but I learned alot at that time and enjoyed it.
I always felt to more experienced members in the team, that I was way behind in skill and knowledge. Mostly experience I guess.
Working with Java in a testing capacity is quite different from development, because development is OOP based, and although the test framework was attempting to be, the code and structure was not as well implemented, nor thought out.
So I thought, as I am at a disadvantage "experience wise", I had better push myself to learn in my spare time, so I studied and passed the OCJP. I enjoyed it, although it doesnt go into much practical coding, it did help lay out the fundamentals, particularly regarding collections and generics. I also spent alot of my spare time writing my own blog engine from scratch, I posted on here 6 months or so ago, how to improve my knowledge and alot of guys posted that I should build the engine in Java only, and avoid using frameworks, which I did. On top of this, Ive begun studying for the OCJWCD...
Anyway, my old place started to move into a very front end, angular based domain, and I didnt particularly enjoy it, so I decided to move to a new place, and luckily, through my chances, I managed to land my first real developer role. Its been good so far, challenging, i still very junior like, which is expected I guess as I made it clear to my employers regarding my level.
So my question is, how can I continue to grow skills, knowledge and exposure. Is there anything further I can add? I guess one obvious thing is missing, like attending meetups etc, which right now I feel too exhausted to go to, because the learning curve at my new place has been really steep, but enjoyable.
Any further advice, tips etc welcome, thanks for reading.
Congratulations, Ben, it sounds like you're already doing all the right things!
OCJWCD is probably a good thing to look at in the short term, as it covers widely used web tools, although a lot of people seem to be looking beyond these, as you've already noticed. Given your QA background, have you looked at some of the more interesting alternative tools for testing like Spock, ScalaTest etc, that might be useful at work? How comfortable are you with your build and integration tools e.g. Maven, Gradle, Jenkins, etc? Do you know anything about databases or NoSQL?
Are there particular areas that you find interesting, or where you might be able to find opportunities to expand your skills at work? If you're looking at things to learn about in your spare time, have a browse through online courses at Udacity or Coursera as these can be a great way to get a quick start with new ideas/technologies. For example, I picked up some functional programming and big data skills last year by doing a few Coursera courses, and I recently started working on a big data project, which will allow me to develop those skills in practice and is also a heck of a lot more fun that what I was doing before. And you can learn a bit about MongoDB (currently the most popular NoSQL database), for example, by taking one of the free MongoDB for developers classes that run every few months at https://university.mongodb.com/courses.
I guess the trick is to keep looking out for opportunities to learn new stuff.