4 ms·
First, why do you want to be a Software Engineer? Higher pay? Do you like coding? Interested in puzzles? Second, I would just start small. Automate the boring
by zengid 9y ago
First, why do you want to be a Software Engineer? Higher pay? Do you like coding? Interested in puzzles?
Second, I would just start small. Automate the boring stuff will get you in the right mindset for being able to factor out repetitive tasks by thinking about them as algorithms. In my opinion, algorithms are the original essence of what makes computer science a science: it's what Church and Turing (two google-worthy figures in our fields history) first formalized on their pursuit to define what it means for something to be computable.
Once you can break a problem down into an algorithm, you can write a computer program to solve that problem. That is the power of writing code: if you can understand it algorithmically, you can delegate the task to a machine. This takes time and lots of practice!!! I would focus on trying to do this over and over until it's natural. Once you feel comfortable in Python, try learning another language and see how much easier/harder writing programs in that new language becomes.
Third, you shouldn't feel like Machine Learing is out of the question. http://course.fast.ai http://course.fast.ai is a MOOC specifically designed to prove that ML is indeed something anyone can play around with. (I'm just beginning the course, and I'd recommend it after a year of coding under your belt and have a good comfort with using a unix-like terminal).
Good luck, and keep practicing!
- zengid 9y agoI forgot to mention, let your learning process be organic. Let yourself break off into tangents as you learn new things. Pretty soon you'll have 25 tabs open as you're clicking through Wikipedia, github, and youtube. This is good because you'll be able to get a breadth of knowledge as you deepen it in a specific area. Just be sure to know when you need to go back and resume the original thing you started with (which usually can be determined by you're level of excitement and interest as you toggle through the many tabs you have open with ctrl-tab or ctrl-alt-tab). You'll learn faster if you follow things that are interesting to you. Don't learn something just because you think you have to (in less you absolutely cannot progress without getting past that obstacle in your understanding). This way you'll end up with a body of knowledge that relates to your interests and experiences. Use that to branch out more tendrils of knowledge. Its a very fractal-like growth process.