General

The following is a generalization of things I’ve done and what I’ve learned from it.

I’ve done several small projects using different technologies like React Native, .NET, and Unity3d. I even taught a course on C++! But the thing is, it's cool knowing multiple frameworks and languages, but learning frameworks and languages is the easy part of programming. What seems to be overlooked a lot are design patterns and clean code. Or in other words, the ability to reduce complexity. Any framework question can be Googled, good design decisions and clean code can't. These skills can only be mastered with time and experience but they can be applied anywhere. Well, most of the time.

This also links to what I think separates good programs from the bad. It's not the number of commits made to open source projects that makes a good programmer, but the number of books they’ve read. Programming books that is. Good programmers learn skills that can be applied to any language or situation. Reading helps you circumvent the usually time it would take to master the art of reducing complexity.