Financial Samurai  Forums
Career => Entrepreneurship / Side Hustles => Topic started by: supportingmaps on July 02, 2020, 10:14:38 AM

I've been programming in Python for the past year. I'm currently a Lambda School student studying data science and machine learning. I lost track of how many hours I spent programming but it's somewhere north of 1,000 hours. So more than 99% of the population. A golden nugget I will give you all is do a topbottom learning approach to programming. Do projects not learn topics like computer memory and data structures initially. This is it's own separate discussion but that's the problem with going into university and why there's a decline in enrollment.
Learning
Python is a beginner friendly language. If I only had to recommend one book it would be Zed Shaw's Learn Python the Hard Way. The other book I would recommend is Automating the Boring Stuff with Python. Corey Schafer's Youtube videos are also very helpful.
Networking
I suggest reaching out to mentors on LinkedIn, Twitter, and Meetup groups. Not everyone will help you but once you make enough cold calls and emails you will connect with people.
Careers
I highly recommend you pick a path to specialize. It could be cybersecurity, big data, AI, machine learning, etc. This is because more people are entering the industry and bootcamps are an alternative to college. I have a degree in accounting and I would like to get my CPA and combine either big data or machine learning with accounting. 510 years down the line I probably would open up my own CPA practice. Everybody is different but at the end of the day you should own your own practice. Working for someone else even in this field isn't profitable. There's so many youtube channels of programmers that used to work at Google and are now giving career advice. Just in case you've been living under a rock technology is rapidly advancing and we may see jobs like medical doctors vanish in the coming decade. Like I've told other people be the automator not the automated!
Feel free to ask me any questions.

Resources for learning Deep Learning:
https://deeplearningdrizzle.github.io/
https://blog.paperspace.com/apracticalguidetodeeplearningin6months/

I published this about a year ago and maybe had 10 people read it? Part of the challenges of writing is marketing your ideas to a receptive audience. If you can program and perform advanced math there's plenty of jobs to go around.
NO BS Guide to Linear Algebra Book Review
I will preface this book review by briefly stating my background. I started studying data science in late March 2019 after being inspired by a podcast to research this field. As of this date I have spent about 50+ hours reading and listening to material. Linear algebra is an essential subject you have to understand to succeed in data science. I ordered this book because Imperial College London’s Mathematics for Machine Learning Specialization Coursera course utterly stumped me. When I was searching for linear algebra help I found Jason Brownlee’s Machine Learning Mastery’s site and I heeded Dr Brownlee’s advice to order the book.
The author, Ivan Savov, has an electrical engineering, physics, and computer science academic background with a master’s and PHD. He has “ more than 15 years of teaching experience as a private tutor” and prides himself on helping his “students overcome their fear of math and ace their exams” (minireference).
While I have studied somewhat advanced math classes in college and high school it has been a while, hence why I had to order the book. Machine Learning and Dr Savov are absolutely correct that this book cuts straight to the chase and explains concepts that people with an average IQ will be able to understand. The book doesn’t assume you have a math background.
Machine Learning Mastery recommends reading these certain parts:
Concept Maps. Page v. A collection of mindmap type diagrams are provided directly after the table of contents that show how the concepts in the book, and, in fact, the concepts in the field of linear algebra, relate. If you are a visual thinker, these may help fit the pieces together.
Section 1.15, Vectors. Page 69. Provides a terse introduction to vectors, prior to any vector algebra. Useful background.
Chapter 2, Intro to Linear Algebra. Pages 101130. Read this whole chapter. It covers: * * Definitions of terms in linear algebra.
Vector operations such as arithmetic and vector norm.
Matrix operations such as arithmetic and dot product.
Linearity and what exactly this key concept means in linear algebra
Overview of how the different aspects of linear algebra (geometric, theory, etc.) relate.
Section 3.2 Matrix Equations. Page 147. Includes explanations and clear diagrams for calculating matrix operations, not least the mustknow matrix multiplication.
Section 6.1 Eigenvalues and eigenvectors. Page 262. Provides an introduction to the eigendecomposition that is used as a key operation in methods such as the principal component analysis.
Section 6.2 Special types of matrices. Page 275. Provides an introduction to various different types of matrices such as diagonal, symmetric, orthogonal, and more.
Section 6.6 Matrix Decompositions. Page 295. An introduction matrix factorization methods, recovering the eigendecomposition, but also covering the LU, QR, and SingularValue decomposition.
Section 7.7 Least squares approximate solutions. Page 241. An introduction to the matrix formulation of least squares called linear least squares.
Appendix B, Notation. A summary of math and linear algebra notation.
Slight quibble I want to address is Dr Brownlee’s pages don’t match up but with slightly more effort you will be able to locate the information. With that being said, this book helped me better understand vectors, Eigenvalues, etc.
Pour Conclure
Dr Savov shines in this book in explaining linear algebra topics relevant to machine learning and it was worth every penny. I highly recommend you pick it up!
Work Cited
https://minireference.com/

https://fivebooks.com/bestbooks/learningpythonanddatasciencevickiboykis/
One of the books mentioned in the site, free for reading:
http://home.ustc.edu.cn/~louwenqi/reference_books_tools/Computer_Organization_and_Design_3Rd.pdf

When I was first starting out programming I was super eager on attending tech/programming conferences. After attending several of them (i.e. AWS, Blue Startups) I find it's okay to attend them in moderation for networking and education purposes. Some of the people I've exchanged contact information with don't remember me (dunbar's number). I'm not the type to sit down and watch something at normal speed as I rather watch a presentation on 2x speed or have the opportunity to ask questions.
I use a transcription tool called Otter to help me analyze presentations at 2x speed.
My current preferred approach to networking is attending Meetup events. I find that in technology events there aren't too many outgoing types and with my customer service experience I can connect with people and eventually get roles in companies when the time is right.

Some more free information:
UC Berkeley CS267 Home Page Applications of Parallel Computers
https://sites.google.com/lbl.gov/cs267spr2020
Harvard's Beginner friendly CS50 program
https://cs50.harvard.edu/
MIT's Electrical Engineering and Computer Science program
https://ocw.mit.edu/courses/electricalengineeringandcomputerscience/
Github Open Source CS Degree
https://github.com/ForrestKnight/opensourcecs

I'm currently studying algorithms:
Handy cheat sheet to reference algorithms
https://www.bigocheatsheet.com/
Computer science is all about balancing tradeoffs. The Harvard CS50 link I referenced in the previous post is great for beginners to visualize how algorithms work.

I recently heard about VIM and how it can enhance coding efficiency. I have a lot on my plate and it's a program I would love to utilize to help me get more tasks done in the day. Here's a couple links to check out:
https://www.barbarianmeetscoding.com/boostyourcodingfuwithvscodeandvim/tableofcontents/
This source is okay. I'm about 1/4 of the way through reading it. I think it will be better if it had exercises and if there was a way to print out the cheatsheet so I can leave it the side while I'm coding. I think I need another month before I go into the more advanced concepts.
Vim is for programmers who want to raise their game. In the hands of an expert, Vim shreds text at the speed of thought.
Vim is for programmers who want to raise their game. In the hands of an expert, Vim shreds text at the speed of thought.
http://www.vimgenius.com/
Timed flashcardstyle game that I found out today. I will play around with it.
https://www.openvim.com/
Good resource to practice VIM. Interactive and with enough time will help you develop the muscle memory to use VIM to shred text.