4 ms·
Short path: - "Learn Python the Hard Way" by Zed Shaw. 52 exercises to teach you just enough Python to be able to continue. - Next, an excellent course by Red
by Jugurtha 5y ago
Short path:
- "Learn Python the Hard Way" by Zed Shaw. 52 exercises to teach you just enough Python to be able to continue.
- Next, an excellent course by Reddit's co-founder, Steve Huffman, CS253. It was discontinued from Udacity, but is available on YouTube: https://www.youtube.com/playlist?list=PLAwxTw4SYaPlLXUhUNt1wINWrrH9axjcI https://www.youtube.com/playlist?list=PLAwxTw4SYaPlLXUhUNt1w...
It will take you through the basics of the internet, HTTP, browsers, requests, cookies, databases, caching, hasing, passwords, by having you build a web application. Granted, it's on Google App Engine, but still, most of the router syntax out there is similar (webapp2 from web.py, similar to Flask, Tornado, and others).
You will learn a lot, and you'll see the result right in your browser by having a live web application. You can then take that knowledge and develop tools for yourself and others and put them online for all to access and use.
If you want to do it better and "leap-frog", read Brett Slatkin's "Effective Python: 90 Specific Ways to Write Better Python". This book will make you write code as if you had been coding for years... But, that's only doing it "right", you need something to do right in the first place: you've been in business, strategy, and operations, and you've been trained in mechanical engineering: I think you are in no shortage of ideas and things to code, so have a it.
You're in an excellent position of having been at the intersection of a bunch of cross pollinated fields, and you'll have a new skill to bring them together and do wonders. All the best!
- ai_ia 5y agoI would like to plug my free interactive courses [1] on fundamentals of computing and Python. It is designed for beginners. You can check them out without signing up and they are also available as free online books. [2] [1]:https://app.primerlabs.io https://app.primerlabs.io [2]: https://primerlabs.io/books https://primerlabs.io/books
- arisAlexis 5y agoBut why Python? There are many more jobs for JS
- scrose 5y agoPython is typically taught in 101 classes because it enforces some good practices, is fairly quick to pick up, and if you have a math/finance background, can more easily lead to some quick and fun projects that can be bootstrapped in a simple GUI in a couple days. Disclaimer: I prefer Ruby and JS over Python, but the amount of projects and roles I’ve seen lately that recommend or require Python experience seems to be growing. Not sure if that’s just related to the field I’ve pivoted into which has a stronger focus on data analysis/algorithms
- lrvick 5y agoPython teaches you how to code. Modern JS teaches you how to "npm install" But really though Python syntax is simple and readable and I find people that learn it first adapt to other languages very easily.
- cgh 5y agoJavaScript more or less limits you to front-end web programming (I know there are exceptions but realistically this is what most JS positions are after). Not great if this person’s internet is eg embedded, machine learning or, in keeping with their experience, large enterprise systems.
- idontwantthis 5y agoThat’s not true at all. Plenty of jobs for Node dev at any scale.
- Der_Einzige 5y agoCitation needed. Python is the language of AI and ML. Those fields are popping off right now.
- jay3ss 5y agoGranted I'm no JS expert, but I believe that Python would be a better fit for OP due to the larger number of scientific computing libraries and OP's background as a mechanical engineer in addition to what you just mentioned. Someone else advised that OP leverage their ME background to help them learn programming, which IMO Python is very well suited for
- Alex3917 5y agoGood advice, but anyone doing this now should be using: "Learn Python 3 the Hard Way." For whatever reason he renamed the book. edit: The Steve Huffman course is also how I learned. It's absolutely fantastic.
- Jugurtha 5y agoYes. I was going to correct it, but I wanted to avoid the conversation or the thread going into that direction.
- pixelmonkey 5y agoThat Steve Huffman course looks very nice for beginners to web development. Also looks like a nice pairing with my blog post, "Build a web app fast: Python, HTML & JavaScript resources". https://amontalenti.com/2012/06/14/web-app https://amontalenti.com/2012/06/14/web-app This is still my #1 blog post by readership, even years later. (200,000+ readers.) It was originally published in 2012, but I did several updates over the years, including a 2018 update for Python 3 and "Modern" JavaScript (SPAs).
- Alex3917 5y agoI wrote a pretty similar blog post in 2013, based on my experiences learning to code in 2012. It's shocking how little has changed since then. Like probably there isn't a lot of reason to learn Jinja2 at this point, but even jQuery and Bootstrap are just as relevant as ever. And Angular is actually good again, so my recommendations for 2022 would likely be closer to my recommendations for 2012 than to my recommendations for 2017.
- rg111 5y agoI personally found "Python Crash Course" by Eric Matthes to be a much better and effective book.
- farmin 5y agoI heard about udacity on the radio and by chance picked Intro to python and then CS253. I still have a little Twitter app running on GEE. Mind was blown. Great courses, shame CS253 has not been kept and updated. I particularly remember the story in the course of him having a list of all his users usernames and passwords unhased on his laptop and it was stolen. He said he was embarrassed and emailed them all to let them know. Lesson was to hash passwords. Cant remember if that was for reddit all some other project he did.
- Jugurtha 5y agoThere was someone commenting on how it was sadly discontinued here https://news.ycombinator.com/item?id=18568798 https://news.ycombinator.com/item?id=18568798 and I commented on the proper link of what became a hard to find course. I still have access to it on Udacity when logged in: https://classroom.udacity.com/courses/cs253 https://classroom.udacity.com/courses/cs253 But it's hard to find.
- ultrasounder 5y agoI endorse every single word of this. As an EE pivoting to SWEng I completely endorse Zed Shaws book LPTHW and LMPTHW which teaches you to think about composing larger programs. You get a lot of practice on creating common Unix utilities. And once you have some Python under the belt migrate to Effective Python by Brett slatkin. Most importantly you should have an end goal, my initial goal back on 2006 was to get an entry level EE job that payed me a salary to support me and my wife and sponsored H1B. Fast forward to 2021 I am looking to get to work on Web3.0(solidity smart contracts and Decentralized oracles). So I am planning to learn Solodity using Brownie, React for Front end to crate Dapps and Algo/DS to pass the coding interview circus.
- machiaweliczny 5y agoI can vouch for Steve Huffman course. Maybe some other recommendations from my personal list might be of use to you - https://github.com/damaon/BestCSResources https://github.com/damaon/BestCSResources
- iainctduncan 5y agoThese are good suggestions, though I would argue that Magnus Hetland's books are even better for the same type of thing!
- DrNuke 5y ago> You're in an excellent position of having been at the intersection of a bunch of cross pollinated fields, and you'll have a new skill to bring them together and do wonders. All the best! That’s it, really, even without the gloss: OP’s background should stay firmly relevant to make him stand out. The new tool he adds to his resume is vertical (aka applied to his own domain expertise) and widens his professional reach… in this perspective, learning Python to perform industrial analytics, predictive maintenance, data-informed financial analyses, etc. seems a smart, openly justifiable move.