Some people learn best by reading textbooks. While others prefer watching video tutorials, or reading tech blogs. Others just learn by working on real world projects. There is no one size fit all. The list below is subjective.
- Leetcode. This is my favorite coding site because it contains a variety of challenging questions and algorithms. Plus, it supports many programming languages.
- InterviewCake. I subscribed InterviewCake site and got a free weekly challenge question. It is a great way to set a reminder to practice and improve coding skills.
Pluralsight and Lynda are great for learners both students and professionals of all levels. These two paid subscription services have a vast collection of video tutorials for many fields of study. However, because technology is changing rapidly, some contents are out of date. And you also want to be little picky when choosing an instructor and a course to invest your time with.
- Egghead. contains short, instructional video tutorials. It seems to target specific tasks suitable for on the job applications.
- Dev.to What I likes most about dev.to is an engaging community, great in-depth topics and real work experience shared by the community.
- Medium.com It is quite often that a Google search of a particular topic lands me on Medium site. It goes to say that it has a great number of contributors and writers for many practical topics and hand-on tutorials.
If you are a fan of reading textbooks from well known authors. Here a few I like.
- O’reilly publication. I started out my web developer career by reading a few books from O’reilly. I think they are worth the read.
- Manning publication. I like their books and writing approaches to each topic.
- Stackoverflow. An indispensable tool for Q&A
- If you want to learn specific topic such as Node.js, PHP, or Rails, there are websites dedicated to those domains, (e.g. Laracasts for PHP)
This is by no mean a complete list of available resources on the web. I did not intend this post to be a review of the resources. Therefore, I keep each bullet as short as possible. If you are reading this, you have probably heard of most of the sites listed above, if not all. Please comment below if you know a good one. As a lifelong learner, I am always excited to explore and learn.
Soft skills are as critical as technical skills for a software engineer. No one works in isolation. Each person has to deal with teammates, colleagues, managers, etc. Therefore team interpersonal skills are essential too. Soft skills include things like good communication, honesty, teamwork, integrity, organization, empathy, etc.