3 ms·
Everyone here's already given solid advice to you, so I'm here to offer my two cents from a slightly different perspective. In "Outliers", Malcolm Gladwell poi
by asymptotic 16y ago
Everyone here's already given solid advice to you, so I'm here to offer my two cents from a slightly different perspective.
In "Outliers", Malcolm Gladwell points out research that indicates there are three requirements for a job to be satisfying: "autonomy", or you getting to decide what you will do or how you will do, "complexity", that the job is full of tasks that engage you emotionally and intellectually at a "Goldilocks" difficulty level (not too hard, not too easy), and "connection between effort and reward", i.e. the harder you work the more you get rewarded.
In my experience, while learning new programming languages, frameworks, and software engineering concepts, since my learning happens in my free time I have bucket loads of autonomy but I often misguage the complexity level and sometimes fail to offer myself any opportunity for reward in the long run.
Hence, here are two more pieces of advice. Firstly, work on a real project, ideally for a person in real life. Someone who breathes, feels, and is willing to drink coffee with you. Ask _them_ what they want, tell them you're trying to pick up a new skill and want to help them out! What better connection between effort and reward can there be than helping a real person? (I hear people saying "money, money, money!", and yes I hear you).
Secondly, start at rock bottom and learn everything from scratch. Assume you know nothing. Be the proverbial empty cup; a student approaches a Zen master with a cup and says "Master, teach me everything you know!" and the master proceeds to fill the student's cup with tea until it starts to overflow hot water onto the students hands. The student looks confused until the master responds "How can I fill your cup when it is already full?". Then, once you get started, offer yourself increasingly more difficult challenges and concepts. Continually progress your knowledge. Even in a language as sublime and as easy to initially use as Python there are always more concepts to learn, more elegant approaches, faster methods.
Good luck!