It's almost holiday season. First comes Thanksgiving, where we usually reunite with family and friends from all-over, eat a complete feast and buy a thing or two on Black Friday. Our short sabbatical from work is interrupted by a breezy December work season and before we know it, it's Christmas.
That is the typical November to December timeline. This year with COVID-19 pandemic, it's hard to say how it'll pan out. But one thing that is for certain is that we are stuck at home with lots more time on our hands.
So if you're traveling (hopefully safely) and need something on the journey or if you're just staying at home and need something to pass the time, we compiled a list of the best books/movies/TV shows for you programmers.
There's some more serious reads in the top for those who want to brush up or refine their technical skills in Python web development or data science. But for those looking for a slightly more relaxing way to get educated and unwind, turn your focus to the non-technical picks down below.
While consuming these sources of media, you'll be able to de-stress, learn something new, enjoy yourself, and get a fresh perspective on computer science and technology. For us coding enthusiasts, this is the best kind of entertainment.
Our Top Technical Book Picks
- Automating Boring Stuff with Python by Al Sweigart
This book teaches you how to automate all those tedious, time-consuming things that you manually do on your computer that you didn't know your computer could do for you. While it might start with something simple like updating spreadsheet cells, it'll teach you how to send reminder emails and text notifications about important things in your life – bringing tech to revitalize common daily things.
P.S. It also has step-by-step instructions on how to do these things and practice projects at the end for you to challenge yourself.
For those that wonder that their code isn't appealing or efficient enough, this book is for you. It delves deep into the "hidden gold" in Python's standard library and teaches you the tricks and gimmicks to naturally and organically write beautiful and idiomatic code in Python.
3. Python for DevOps: Learn Ruthlessly Effective Automation by Noah Gift
To start getting into more technical stuff, this book is an extremely practical guide for you to learn how to use Python to interact and automate with Linux. For personal and professional use, it's a great resource to understand Linux systems and administration tasks in conjunction with today's most popular DevOps tools such as Docker, Kubernetes, and Terraform.
Great for current full-stack developers, this book is a comprehensive guide for you to add Django to your existing repertoire. It might not be the most clear book for newcomers but it is a neatly organized collection of "best practices, lessons learned, practical advice, and informed opinion" that certainly all beginners can grow into.
I think the best introduction for this book is this customer review itself:
He (Grinberg) had the most ingenious way to structure the book: he opens with some introduction of the basics of Flask, and once enough is understood, he teaches all the new concepts via an actual app that you can make along with him. What makes this especially useful/amazing/helpful is the subject matter itself: Flask is a fairly minimal web framework, so lots of plugins and additional tools are needed, so you get to see all the other stuff he pulls in that is necessary, but not strictly Flask.
Data Science & Machine Learning
- Deep Learning by Ian Goodfellow
This book features a glittering review from none-other-than Mr. Elon Musk. That's a pretty big upvote right? You'll be introduced to deep learning with a hierarchy of topics that will equip you with both a mathematical and conceptual background. With topics ranging from linear algebra to information theory to online recommendation systems to bioinformatics, you'll get an in-depth look into deep learning that you'll continue building on in the future.
2. Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow by Aurélien Géron
With concrete examples, digestible theory, detailed project walkthroughs and practice exercises, Géron will help you garner an intuitive understanding of the topics and tools tp build intelligent machine learning models using the production-ready Python frameworks of Scikit-Learn and TensorFlow.
3. Python For Data Analysis by Wes McKinney
Written by an actual Python big-shot Wes McKinney (the creator of the Python pandas project), this book is a great expose into the modern data analysis and visualization tools and techniques in Python. You’ll delve into the latest versions of pandas, NumPy, IPython, and Jupyter with practical case studies too. Plus, you won't have to copy the code from the book onto your computer. All data files and related material are available on GitHub.
4. Doing Data Science: Straight Talk from the Frontline by Cathy O'Neill and Rachel Schutt
Based off Columbia University’s Introduction to Data Science course, this books puts you in the classroom itself as if you're listening to guest speakers from all over the industry. With chapter-long insights, you'll "hear" from the leading masterminds from companies like Google, Microsoft, and eBay and how the use data science algorithms and models in their daily applications. With a refreshing outlook of professional data science, this book is a great welcome to data science.
Our Non Technical Wildcards
- Weapons of Maths Destruction by Cathy O'Neill
Cathy O'Neill, the brilliant mathematician and data scientist, appears for the second time in this article. Authoring this New York Times Bestseller, she brings her readers into the "dark side of Big Data". By evaluating our lives in the age of the algorithm, she introduces the negative implications of data science and how it can endanger the processes we consider fundamental to our civilization: democracy, social mobility, discrimination, and much more. It'll force you to think if the decisions that we face in our lives are made by humans or machines.
2. Invisible Women: Exposing Data Bias in a World Designed for Men by Caroline Criado Perez
Celebrated feminist advocate Caroline Criado Perez explores how women pay a massive cost in time, money, and their lives due to the underlying gender discrimination in big data. The worst thing is, most people don't even know it exists. Numbers play such an imperative role in our society and ingrained disparities and issues are reflected in it, thereby affecting every decision we make with that data in the future. Perez investigates data bias in a heartfelt, perplexing, and unforgettable way. While it might take years for the bias to dissipate, acknowledging that it exists is one step closer.
This text topped many Book of the Year lists, from PBS Newshour to The Economist. Investigating hard-hitting questions regarding our daily lives, Stephens-Davidowitz offers revelations at the intersection of big data and human behavior. Our actions on the internet have amassed eight trillion gigabytes of data that when looked into, can tell us more than we would like about our likes, dislikes, hopes, fears, desires, and more. Although some of the answers to these questions are insightful and surprising, how far do we go before the line between observation and invasion of privacy blurs?
4. The Clean Coder: A Code of Conduct for Professional Programmers by Robert Martin
Masterful software expert Robert C. Martin engages the readers with the best techniques, tools, and disciplines of software craftsmanship in this book. With practical advice and clever approaches to software development activities, he helps potential and current developers reform their attitude.. You'll discover the delineation between easy/shallow and worthy/difficult decisions, responsibility and amicability, hard-work and burnout, and the true meaning of yes and no in this space.
5. The Design of Everyday Things by Dan Norman
While this book isn't related to programming per se, it explores one of the most vital aspects of modern technology: human centered design. Telling us that "usability is just as important as aesthetics", we are shown that design doesn't have to be complex, but intelligent – which are lessons that any coder or human being could benefit from when they face designing and building something of their own.
- The Social Network
Detailing Mark Zuckerberg's journey from Harvard dorms in Cambridge to Facebook in Silicon Valley, this movie covers ever impressive, surprising, often-unknown, difficult, and poignant step. With a hefty exposure into a tech entrepreneur's mindset and progress, The Social Network gives you an outlook into social media algorithms, recommendation engines, intellectual property theft, and accidental success. Also, the background score is killer.
2. Imitation Game
This movie will place you right in the midst of World War II where you'll see everything from Nazis to the invention of world’s the first computer. Following Alan Turing, the brilliant mathematician, you'll experience his successes and struggles in decoding the German Enigma Code. Inspirational and insightful, this movie would be appreciated by programmers worldwide with its showcase of the real life applications of Computing Machinery and Intelligence.
3. Source Code
The source code in the complex, mysterious, almost hard-to-believe programming application allows the main protagonist to enter the body of someone else. The catch is, they can only enter the last eight minutes of a person's life (looks like an important bug to fix right?). It follows a suicide bomber on a Chicago train and everything that ensues when the hero uses his technological capabilities to stop it. The complicated but rewarding storyline highlights the depth and limitations of technology that seems more powerful than it really is.
4. Ex Machina
A psychological thriller that delves into how artificial intelligence can equally as much damage to the world as it can do good. It follows the intertwined encounters of a low-level software employee, a brilliant tech CEO, and a beautiful robot. But this robot borders very very close to human consciousness and capabilities and it is much self-aware and deceptive than anyone could have imagined.
5. The Matrix
Loops and recursion. One is every programmer's go-to practice, and other is often a conundrum that takes people years to fully understand. The Matrix has both. It's hard to summarize The Matrix in a few sentences. But hailed as one of the greatest movies of all time, the science fiction flick captures a simulated reality created by intelligent machines where one computer programmer learns the truth and launches a rebellion against them. I'm not gonna say more, because it's a movie worth watching to discover everything else yourself.
This show follows an introverted mastermind that is a cyber security engineer at an average company during the day and a crime-fighting vigilante hacker at night. It introduces to the implications of not only technology and privacy but also social conflict and individual responsibility. It's hard not to immediately engrossed by their characters in the show as they're portrayed in such a raw and realistic manner. But it does touch you one thing, programmers can fight as much crime as superheroes.
2. Silicon Valley
Silicon Valley takes place exactly where you think it does. This HBO creation follows a gang of brilliant misfits and their journey with their company, Pied Piper. It's a humorous, surprising, insightful, and refreshing look into how tech startups originate, progress, evolve, and mutate– both the actual company itself and the people that are behind it.
3. Person of Interest
I think people that watch Person of Interest can say the AI machine in the show is a character in and of itself. Developed by a genius coder, this machine predicts crimes and attacks before they even happen. It showcases not only programming, internet, and technology are intertwined but how their combination affects the human world beyond our own understanding, for both the good and the bad.
4. Halt and Catch Fire
This show is all about its characters. With impressive character development during all four seasons with engaging storylines and personal progress, it shows the highs and lows of being an entrepreneur, computer engineer or software developer in the 1980s. Whether it makes you wish you were in their place or more glad to be where you currently, you'll have to watch it to find out.
In another comedy-drama to add to your list, this comedy drama was created by Greg Daniels, the man behind the modern, go-to sitcoms of The Office and Parks and Recreation. Here, after app programmer Nathan Brown passes away, his consciousness is uploaded to a virtual reality world. You come across a technological heaven/hell in this show and how technology has implications in your current and afterlife.
6. Black Mirror
I think the best introduction to this show comes from this quote which summarizes it better than I can:
The Washington Post suggests the real genius of Black Mirror “lies in its dissection of humanity–how our emotions, compulsions and fears inform our use of technology.” Similarly, Vulture commented that “the best episodes of Black Mirror suggest that familiar technological ideas — things like social networks, artificial intelligence, or gamification — carry with them some sinister, heartbreaking, or alarming possibility for a dystopian future.”
While it might take you months to finish all these recommendations on this list, I certainly do encourage you to pick one or two and get started with them. Even if you think that it's hard to find pleasure in things that actively disseminate knowledge (especially when you want a clean break from work and school), you might be pleasantly surprised by some of these books and T.V. shows. They entertain as much, if not more, than they teach. And for those of you that worry that prefer to see a T.V. show over taking on an actual book, remember that reading is just like T.V, except that it's all in your head.
Hi I'm Sreya – thanks for reading!