The Best of Better Programming (December 21, 2020–January 8, 2021)
The best things we published to end 2020 and begin the new year!
Sent as aNewsletter
6 min readJan 8, 2021
Hey everyone, happy new year!
We hope you had some relaxing time to end the year, maybe a few nice 4-day weekends spent exactly how you planned to. If you’re already in full new year-gear or easing into 2021, we’ve got some of our best stories from the last 3 weeks below sure to inspire your programming journey this year.
JavaScript:
- JavaScript ES2021 Features With Simple Examples by Carlos Caballero — Kicking things off, Carlos gives us a look at what’s new in ES2021 like
weakRef
s,String.prototype.replaceAll
, and more. - 6 Front-End Coding Ideas That Will Get You Fired Up to Code by Indrek Lasn — Indrek continues to put out great lists of inspirational code ideas. My personal favorite from this list is building an animated racetrack with moving cars.
- My All-Star React Stack by Harish Venkatesan — Harish is new to the newsletter this week, breaking down his JS stack and what he relies on whenever he starts a new project. I’m excited to check out Bulma.io, a CSS framework.
- The 4 Creational Design Patterns in Node.js That You Should Know by Catalin Pit — Catalin is back this week with 4 design patterns that you should familiarize myself with that can help bring structure to your codebase: the Singleton, Factory, Builder, and Prototype patterns.
Software Engineering:
- The Biggest Lie In Open Source by Fernando Doglio — Open source software is undoubtedly an incredible aspect of our industry. The words I’m typing would not be possible without many open source libraries bringing my thoughts onto Medium, into an email, and into your inbox. There are some parts of open source that aren’t so rosy though. Fernando explores those.
- A Useful Framework for Naming Your Classes, Functions, and Variables by XOR — Naming things is famously one of the hardest parts of computer science. XOR makes it easier with a framework for your thinking and naming.
- Git Commands to Live By by Omar Sharaki — Omar goes beyond git basics with 17 git commands that can help make our lives easier and make us more productive engineers.
- Forty and Still a Software Developer? by James Williams — Agism in software engineering can be a real thing. It depends on the company you work at but as we get older, we develop a plethora of experience that younger engineers just don’t have. And that’s invaluable.
- Understanding the Builder Design Pattern by Carlos Caballero — Building on Catalin’s design patterns article above, Carlos goes deeper into the Builder pattern.
- 3 Programmers, 3 Paths, 1 Road to Glory by Zachary Minott — Zachary is back this week, exploring how three different programmers use their time and attention and where that leads them in their respective careers. Worth reading as you think about career navigation.
Interviewing:
- Design Uber’s Backend: A Systems Design Walkthrough by The Educative Team — “How would you design X” is a common coding interview question and this week, The Educative Team looks at how they’d design Uber’s backend. This maybe give you a leg up if you’re going into an interview at Uber or if the company you’re talking to is talking to you about system design (Full disclosure: I have no idea if this will help you at Uber).
Python and Data Science:
- How to Choose the Right Database for Your App by Dhananjay Trivedi — Your database is an incredibly important choice as you move from prototype to a beta and beyond. Often times we think that we’ll switch off of our original choice early on but as data expands and so do the demands on our time, our database can become the first large piece of technical debt that we incur. Dhananjay explores how to make the best choice for your project when it counts the most.
- NumPy Illustrated: The Visual Guide to Numpy by Lev Maximov — Lev is here to visually show us how NumPy works, visually comparing data structures, and more
- How to Scrape Modern Websites Without Headless Browsers by Aris Pattakos — Web scraping continues to be a popular topic on Better Programming. How better to structure unstructured data when an API doesn’t exist? This is a fun article from Aris about how to scrape without using a headless browser.
- Beautiful Plots With Python and Seaborn by Juan Cruz Martinez — Juan is back this week to show off Seaborn, a beautiful way to map and plot data in Python. If you need to spruce up your data visualizations, check this article out.
iOS:
- The 6 Swift Extensions I Use in Every iOS Project by Mats Bauer — Everyone has their repo or Gist filled with useful shortcuts that you’ve accumulated over the years, from project to project, company to company. Mats is new to the newsletter this week, showing off his six favorite extensions.
- Understanding @inlinable in Swift by Bruno Rocha — Bruno’s got some useful tips to increase the performance of your Swift apps by using
@inlinable
.
Misc:
- Why Java Is Perfectly Alive by Ivan Khodyrev — Java is dead. Long live Java. Nah, Java’s good. Here’s Ivan to tell you exactly why that is and how it’s not going anywhere, anytime soon.
- How to Install Linux on Windows by James Briggs — Have you ever wanted to dual boot your machine? Sounds like a fun weekend project. James wrote a great guide to help you install Linux on your Windows machine so you can switch between OSes, if you’d like.
- 6 Form-Related HTML Tags You Might Not Know About by Albert Walicki — Albert wrote this useful article about form tags that you may not know about, going beyond the standard ones we all use to stand up a form and into things like
fieldset
anddatalist
. - My Minimal, Safe Bash Script Template by Leo Gutiérrez — I love a good bash script. They make using your machine feel so much more, yours. Whether you’re a bash pro or just getting started, this article from Leo can definitely help you out.
- The Best Software Engineering Books I Read in 2020 by Mwiza Kumwenda — Don’t worry, this isn’t another article recommending the usual computer science books like Clean Code. Mwiza goes beyond that with his lest of his favorite books of 2020.
Exciting Career Opportunities From Better Programming Jobs
BetterProgrammingJobs.com continues to grow this week! If you're an employer or your company is hiring, you can post a job for free and promote it to this email list of 75,000+ devs next week for just $100.Featured Career Opportunities:* Icebreaker is hiring a Full-Stack Product Engineer:Icebreaker is an awesome video chat platform for short, time-based conversations with fun questions to help you get to know the person you're chatting with. Want to help build the future of community, culture, and connection? Want to join a remote team of awesome humans (& some dogs & a cat)? We’re hiring a Full-Stack Product Engineer!Apply to Icebreaker
* Sunroom is hiring a Founding Senior Engineer:Sunroom is on a mission to create joyful, safe, and shame-free sources of income for womxn. They've just started building their first products, and they’re looking for their founding engineers.You'll work to build the core product, working directly with the CTO to create more economic opportunity for womxn and enabling them to become entrepreneurs!Apply to Sunroom
That’s it for this week! Have a great weekend.
Stay safe, healthy, and please wear a mask,
– Zack Shapiro and The Better Programming Team