In the ever changing world of web development, knowledge is power. While your list of known-knowns might grow every day with your experiences in the workplace, the list of known-unknowns, the things you know you don’t know, and unknown-unknowns, the things you don’t even know you don’t know, grows much faster. It’s dangerous to go alone, take this (list)!
- Google.com - If you search it, the answers will come. However, you might have to sift through a few blog posts about an outdated version of the tool you are researching.
- Stackoverflow.com - Developers helping developers. You know you’ve stumbled upon the fabled ‘one true answer’ when the question being asked has over 500 upvotes and the answer being given has hundreds of upvotes more than the next closest. Stackoverflow is full of practical answers to very applied questions in programming and software development.
- Stackexchange topic-sites ( wordpress.stackexchange.com, ux.stackexchange.com, dba.stackexchange.com, unix.stackexchange.com, serverfault.com, superuser.com, programmers.stackexchange.com, security.stackexchange.com, webapps.stackexchange.com, webmasters.stackexchange.com ) - Like their big brother, Stackoverflow.com, these sub-sites provide a more narrow focus on each of their namesake’s subject matter. Based on the way these communities have defined themselves if you are working in one of the above areas, it might be best to start your search there.
- Freely available development e-books ( GitHub List of Free Programming E-Books ) - Books used to be the bread and butter of programming resources and documentation, but these days with so much more content available online, books are often overlooked. One thing they still provide are all-in-one, comprehensive approach to tackling a problem or understanding a concept. No need to track down multiple blogs to cover each step of your current task.
- Github.com - You can learn a lot about programming by seeing how others write their tools and applications - especially ones that are being used by thousands of other developers and application users. Most github projects include some sort of documentation, but even if they don’t the code itself can be a great document in how to solve a problem.
- The home of your development technology online ( devnet.kentico.com, asp.net, sass-lang.com, iis.net, haskell.org ) - Never forget that if your tool is large or popular enough it probably has its own forums and documentation. Make sure you stay up to date with and look for tutorials and FAQ on the technology’s hub website.
- Blogs and social media of leaders in your industry ( weblogs.asp.net/scottgu, ericlippert.com, blog.codinghorror.com, WiredViews Dev Blog, twitter.com/mhevery, twitter.com/wycats ) - We all like to think we are great developers but there’s always someone better. Look for those programmers out there who are exploring uncharted territories for us and documenting what they find. Their blogs can be a valuable insight into new and exciting things along with well known and documented topics. Large companies will often support or pay advocates to write about their technologies to get the word out amongst developers or to keep the fires stoked in the technology’s conversations and communities.
- Blogs and social media representing technologies ( blogs.msdn.com/b/visualstudio, atlassian.com/git/tutorials, twitter.com/AngularJS_News ) - Everyone is social these days, even developers. There are accounts for the people themselves, which they use for both work and personal matters, but there are also accounts dedicated to sharing news and content about the technologies they represent. These are an easy way to keep your mental finger on the pulse of developments.
- Online source code sandboxes ( jsfiddle.net, codepen.io, phpfiddle.org, dotnetfiddle.net, plnkr.co ) - Learning by doing! Create an account at one of these sandbox sites and try your hand at that cool idea you had before falling asleep last night. Other developers on sites like stackoverflow.com will often share solutions using these sandboxes and they can be a great way to show a proof of concept for a project without having to create an entire project or environment.
- Online web development education tools ( khanacademy.org/computing/computer-programming, egghead.io, thinkster.io ) - Sometimes you get it… but you don’t really get it. Other times you just need a place to start. These education tools can be a great place to start with something new - aimed at the absolute beginners. Some offer quick looks at confusing topics, trying to clear the fog from your brain with a few examples over the course of 10-15 minutes.
- Video ( MarakanaTechTV on YouTube, channel9.msdn.com, AngularJS on YouTube ) - Wouldn’t it be great if you could sit in on a couple programming conferences from the comfort of your own home or have a lecturer come and give you a crash course on the hot new node.js tool? Thankfully there are hundreds (probably thousands) of such videos on sites like youtube. And the providers of this great content are adding new videos weekly. It’s like watching TV - except it’s good for you.
- View-source on your favorite websites ( vice.com/news, soundcloud.com ) - There are some really smart people out there who are doing cool things in web development. And their work is available for you to peek at - just view the source of your favorite web page. You never know what kind of best practices and new ideas are waiting just under the surface.
By now you’ve learned nothing about keeping your bread fresh, perhaps it will be another topic for another blog. In the meantime, if I have in any way helped you keep your web development skills sharp my work here is done! Remember, in our world knowledge is power and the more tools you have in your arsenal the better it is for all of us. If you have a go to source or would like to comment on mine I welcome your feedback.