The Self-Taught Programmer: The Definitive Guide to Programming Professionally by Cory Althoff
I am a self-taught programmer. After a year of self-study, I learned to program well enough to land a job as a software engineer II at eBay. Once I got there, I realized I was severely under-prepared. I was overwhelmed by the amount of things I needed to know but hadn't learned yet. My journey learning to program, and my experience at my first job as a software engineer were the inspiration for this book.
This book is not just about learning to program; although you will learn to code. If you want to program professionally, it is not enough to learn to code; that is why, in addition to helping you learn to program, I also cover the rest of the things you need to know to program professionally that classes and books don't teach you. "The Self-taught Programmer" is a roadmap, a guide to take you from writing your first Python program, to passing your first technical interview. I divided the book into five sections:
- Learn to program in Python 3 and build your first program.
- Learn Object-oriented programming and create a powerful Python program to get you hooked.
- Learn to use tools like Git, Bash, and regular expressions. Then use your new coding skills to build a web scraper.
- Study Computer Science fundamentals like data structures and algorithms.
- Finish with best coding practices, tips for working with a team, and advice on landing a programming job.
You CAN learn to program professionally. The path is there. Will you take it?
More about this book
How This Book Is Structured
This book is divided into six parts, based on moving through the following stages: learning to program, learning object-oriented programming, learning to use programs (like your operating system) that will make you a better programmer, learning Computer Science, learning to program for production and getting a job and working on a team.
Many of the subjects covered in a single chapter of this book could be and are covered by entire books. My goal is not to cover every detail of every subject you need to know. My goal is to give you a map an outline of all of the skills you need to develop in order to program professionally.
Part I: Introduction to Programming. You will write your first program as quickly as possible, hopefully today. If you already know how to program you can use this section to start learning Python. If you already know Python, skip it.
Part II: Introduction to Object-oriented Programming. I cover the different programming paradigms focussing on object-oriented programming and build a game that will show you the power of programming. After this section, you’ll be hooked on programming.
Part III: Introduction to Programming Tools. You learn to use different tools to take your programming productivity to the next level. By this point you are hooked on programming and want to get even better. You will learn more about your operating system, how to collaborate with other engineers using version control, how to use your Interactive Development Environment to boost your productivity and how to install and manage other people's programs.
Part IV: Introduction to Computer Science. Now that you can program, you will have all kinds of questions about how everything works. This section is where a lot of those questions get answered. I cover algorithms and data structures, network programming and computer architecture.
Part V: Programming for Production. You will learn to program for production (create code that is actually used by other people). I cover the software development process, testing and best programming practices.
Part VI: Land a Job. The final section is about getting a job as a software engineer, working on a team and improving as a programmer. I provide tips on how to pass a technical interview, work on a team as well as advice on how to further improve your skills.
If you don’t have any programming experience, you should try to practice programming on your own as much as possible between each section. There are additional resources to explore provided at the end of each section. Don’t try to read this book too quickly. Instead, use it as a guide and practice for as long as you need in between sections.
Product details
- Publisher : Independently published (January 24, 2017)
- Language : English
- Paperback : 299 pages
- ISBN-10 : 1520288174
- ISBN-13 : 978-1520288178
Author Bio
Cory Althoff is a programmer, speaker, and author whose work includes The Self-Taught Programmer and The Self-Taught Computer Scientist. After graduating with a major in political science, Cory taught himself to program, eventually becoming a software engineer at eBay. Several media outlets have praised his books. The Next Web called The Self-Taught Programmer one of the best books to develop your coding skills, and The Chicago Tribune included it on their lists of best computer science books. Over 250K developers are part of the self-taught programmer community he created through his popular Facebook group, blog, newsletter, and Udemy course. Cory lives in California with his wife and daughter.
Hands-On Machine Learning 2nd Edition by Aurélien Géron
Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems 2nd Edition by Aurélien Géron Through a series of recent breakthroughs, deep learning has boosted the entire field of machine learning. Now, even programmers who know close to nothing about this technology can use simple, efficient tools to implement programs capable of learning from data. This practical book shows you how. By using concrete examples, minimal theory, and two production-ready Python frameworks—Scikit-Learn and Tensor Flow—author Aurélien Géron helps you gain an intuitive understanding of the concepts and tools for building intelligent systems. You’ll learn a range of techniques, starting with simple linear regression and progressing to deep neural networks. With exercises in each chapter to help you apply what you’ve learned, all you need is programming experience to get started. Explore the machine learning landscape, particularly…
Python Crash Course, 2nd Edition by Eric Matthes
Python Crash Course, 2nd Edition A Hands-On, Project-Based Introduction to Programming by Eric Matthes Second edition of the best-selling Python book in the world. A fast-paced, no-nonsense guide to programming in Python. Updated and thoroughly revised to reflect the latest in Python code and practices. Python Crash Course is the world’s best-selling guide to the Python programming language. This fast-paced, thorough introduction to programming with Python will have you writing programs, solving problems, and making things that work in no time. In the first half of the book, you’ll learn basic programming concepts, such as…