4 ms·
I think there's a lot of advice floating out there about how to become a SWE, from well-intentioned but misinformed people. Some of the soft misconceptions whic
by syndicatedjelly 2y ago
I think there's a lot of advice floating out there about how to become a SWE, from well-intentioned but misinformed people. Some of the soft misconceptions which are commonly distributed:
- Proficiency in xyz language is extremely important. I think this is misunderstood to mean that becoming a Python/Typescript/whatever expert is what differentiates the pros from the bros. I would actually recommend studying the theory of programming languages from first principles, instead - Dan Grossman's "Programming Languages" class on Coursera is great for this. It lays the foundation for understanding how any programming language works, from a theoretical and mechanics basis. I was able to pick up new languages and understand concepts in existing languages way, way faster after building this foundation. The "10 hours to Python mastery" types of courses are a waste of time and focus on the wrong things in my opinion - invest the time in foundational knowledge instead.
- YouTube videos and blog posts are sufficient to become a proficient programmer. This is a bit of a con in my opinion. Both formats are like a sugar-heavy diet - you'll feel high and satisfied quickly, but in the long-term, the lack of information in these formats will starve you of high-quality information. Get into a habit of returning to first principles - figure out what the canonical textbooks are for the subject matter you are trying to learn about, acquire them, and read chapters out of them when you are stuck on a problem. This will deepen your understanding and give you a basis for exploring related subjects. Also, read the man page. Read the man page. Read the man page.
Also check out OSSU (https://github.com/ossu https://github.com/ossu), which has a bunch of great recommendations for free/nearly-free courses that will complete a full CS curriculum. I lack a CS degree, so I periodically reference this curriculum when looking for a new subject to study in my downtime.
Happy to talk more if you're interested, we need more smart and capable individuals like yourself in this field.
- kleiba 2y agoThanks for taking the time to give input. You might have missed the part in my original outline, but I am already a proficient programmer with decades of experience in a number of programming languages. Also, I've taken theory of programming language courses at university. What I'm lacking is hands-on experience in everything else that's relevant in the profession. Like I've pointed out, I spent my professional career in academia, and although I've done lots of project work in the field, I doubt that the academic setting is comparable to professional software development.
- deleted 2y ago[deleted]
- syndicatedjelly 2y agoSorry I missed that. Hopefully my comment is useful for someone else then.