Technology changes daily. New frameworks, tools and programming languages emerge on weekly basis. It is not possible to keep up with everything, but it is important to stay sharp and understand the trends, learn new approaches and paradigms to become a better programmer and problem solver. It is the key in our business to keep your finger on the pulse.

Understanding new paradigms, learning new tricks and languages feature, lets you see the problems from different perspectives, and gives you the opportunity, to apply the best fit solution.

Below you will find a list of websites that I use and I am a fan of that help me stay on top, and constantly learn something new. When time allows, I use either of them daily, to finish at least one challenge. I will expand the list as I approach new, interesting services - also, comments are welcome.

Table of contents

  1. Programming
  2. Security
  3. Other

Programming

  • https://www.codewars.com - play Codewars to solve 5-30min tasks in one of many languages (JavaScript, PHP, Python, BASH, Haskell, Swift, SQL, Dart, C, Rust and many others). Great user intrface (sometimes the websites feels slow). Lets me practice languages that I am not currently using in my projects
  • https://codegolf.stackexchange.com - it is called “golf”, because the solutions to given problems should be as short as possible - in any language possible (there were even languages created for this particular purpose). Read it to learn about new languages, new languages features, approaches and possibilities. Just have in mind that, the solutions for most problems there are not considered “best practices” (mostly because of the unreadability)
  • https://www.khanacademy.org - is a non-profit educational organization with a great website. I used it to refresh my data data structures and algorithms knowledge. There are several courses to learn about JavaScript (gaming, drawing and animations and AI: natural simulations), as well as cryptography and information theory
  • https://leetcode.com/ - similar to CodeWars, it will let you solve different programming tasks, that might be asked during interviews. Currently, they support 9 programming langugages: C, C++, Java, Python, C#, JavaScript, Ruby, Bash, MySQL. It will also let you mock interviews, where you have limited time to provide the answer in programming language of your choice.

JavaScript

  • https://javascript30.com - 31, short, great videos from the amazing Wes Bos that will teach you (remind you of) many JavaScript features and capabilities, as well as programming tricks. Apart from many JavaScript features, I have learned console.table(some_variable); to display you variables in a form of a table in the browser console 😳

CSS

Security

  • http://overthewire.org/wargames/ - Wargames let you learn and practice security concepts in the form of fun-filled games. Use it to level up you shell scripting skills and get to know new tools. Go to https://www.wechall.net/ to set-up an account and see your progress in several “hacking” games as well as see a huge list of other “hacking” games

Other

  • https://github.com/jwasham/google-interview-university - trending on GitHub since several months, a huge repository of learnign resources (from computer science basics to advanced topics), from John Washam that created it in a form of a todo list for his process of preparation for a Google job interview

Newsletters

  • https://stackshare.io/ - the best general IT newsletter I found so far. Delivers updates from the biggest tech blogs, news about new tools and tech stacks, weekly. The only one that I actually ready 100% (or close).