Since the release of Salesforce’s Trailhead (A set of learning resources for budding force.com developers) I’ve had a number of people ask me ‘I’ve done Trailhead… what should I next?’
Here’s my answer!
The number 1 thing you can do to improve your skills is to practise them. Coding is no different to any other form of practice, the more you code the better you become.
But what do you code?
Obviously you might be coding in your day job but there’s a good chance that it may not be sufficiently stimulating, so I like to work on a side projects.
I ‘find a itch and scratch it’. This could involve building something I find personally useful (and rebuilding it again and again and again using different tools/technology). Others contribute to an open source project.
What ever you decide its up to you, the only criteria is that you find it personally stimulating enough to motivate you to keep going!
Study your craft
You don’t become a world champion by simply practicing, you need coaching.
Few of us are lucky to have a mentor who’ll help you like a coach — I’ve typically relied on books to gain my knowledge.
There are a number of different style of books out there, one style is the ‘how to’ style which aims to teach you a specific technology. Personally I find these kind of books are sometimes dangerous for learning good coding — with examples and problems that rarely examine the challenges and practices of real world problems — a lot of introductory Apex material could be considered in this category.
The second type goes into more advanced instruction specific to a technology. There are a couple of good books in the Salesforce ecosystem here:
The final type of the book looks deeper into the practice of the coding, these are usually based on a technology (as an illustrating mechanism), but aren’t about the technology.
In this category there are a number of books I own and would recommend:
Learn new ways of working
Part of experience is applying the right tool to the right job and in this sense what you know is your toolbox; the more you know, the more tools you have and the more ways you have to solve problems.
One rule of thumb people apply is to learn a new programming language every year but the world is more nuanced than simply programming languages — you can extend this to frameworks and tools as well.
But what technology should you pick? My two criteria are:
- What is popular right now.
- What will be useful to me.
So for me that has been things like AngularJS and Mulesoft, for you it’s likely to be something completely different.
One more thing
If you are like me, you’ll always feel like there is more to know that what you already know.
You just have to recognise that there is no end game, no point at which you can say ‘I’ve learned all I can’.
The industry is always changing, if you aren’t moving forward, you’ll fall behind.