Widget Tricks Newsletter #2
How to sound like a smart software engineer. Who is hiring (with Salary Range)? Learn about the internal workings of Riverpod. How to bootstrap your business. The problem with AI and much more.
📃Post of the Month
✍️ Articles to Read
Widget sizes relative to screen size in Flutter using MediaQuery
If we are developing a responsive Flutter app that supports multiple platforms with varying screen sizes, MediaQuery is our friend. In addition to the basics, this blog also explains how to retrieve the meaningful height, which includes the Appbar, StatusBar, and BottomNavigationBar.
The First Rule of Programming: It's Always Your Fault
No matter what the problem is with your software- maybe it's not even your code in the first place- always assume the problem is in your code and act accordingly because studies show that roughly 95% of errors are caused by programmers, 2% by systems software (the compiler and the OS), 2% by some other software, and 1% by the hardware.
💼 Flutter Jobs to Apply
Mobile App Developer: StudyStream (Remote)
About the role: Lead the development of our first mobile app to serve a large and active student community. As our lead mobile app developer, you will be working with support from our web app development team and using our existing API to develop a mobile app based on existing features that we have in our web app.
Salary Range: $60K - $120K
Flutter Developer: Sytex (Remote)
Build high-performing applications with the best user experience using Flutter and who wants to take a leading role in a growing startup. Sytex is a platform that allows teams to manage infrastructure projects, centralizing all the information in one place.
Salary Range: $42K - $75K
📦 Code from Pub Packages
Drift
Drift is a reactive persistence library for Flutter and Dart, built on top of SQLite. It supports all 6 platforms. (Android, iOS, Linux,macOS, web and Windows)
Inspector
A Flutter package for inspecting widgets with an eyedropper and a magnifying glass. Useful for debugging widgets and QA testing. Its supports keyboard shortcuts if you're using a physical keyboard.
📺 Videos to Watch
Observable Flutter: Diving into Riverpod, with Rémi Rousselet.
Learning about the internals of any tool can provide incredible insights and a wealth of knowledge.
One quick way to learn API Design is to observe how the creator takes a step-by-step approach to solve a problem. I was amazed by how Remi developed the Riverpod API, from using keys as String to Provider objects.
Bootstrapping Side Projects To Profit by Pieter Levels, Nomad List Founder.
Pieter Levels Makes $2.7M/Year With 0 Employees. His mantra is to start a successful business by creating something and adding a 'BUY' button to it. If people purchase it, then you have a successful business. If not, move on and try something else until it works
Expand your business from niche. Start small first, so you can get bigger later, because if you want to compete with big companies on the first day it's not going to work.
📚 Quotes From Books
Designing Data-Intensive Applications
This is one of the most technically dense books I've ever read, and despite coming from a mobile background with little experience in backend development, I found the book's explanations of complex topics to be surprisingly easy to understand.
It begins by covering topics on how to a simple database works using a bash script and log file, and progresses to scaling databases for billions of users through partitioning, replication, and more.
Surprisingly often I see software engineers make statements like, “In my experience, 99% of people only need X” or “…don’t need X” (for various values of X). I think that such statements say more about the experience of the speaker than about the actual usefulness of a technology. The range of different things you might want to do with data is dizzyingly wide. What one person considers to be an obscure and pointless feature may well be a central requirement for someone else
Your Code as a Crime Scene
I never realized how much information about a codebase's defects, complexities, and decay can be uncovered through its history. By examining a code's history, we can assess the health of a project, identify dependency issues both within the code and among contributors.
After reading this book, I have become much more cautious about the git history of my projects. Every commit can serve as evidence for finding problems and improving the project's overall quality.
The relative success of any large-scale programming effort depends more on the people on the project than it does on any single technology.
You can read the full summary here.
😂 Fun and Memes
Artificial Intelligence: Last Week Tonight With John Oliver
Who could explain better than John Oliver what Artificial Intelligence can do to our world, for better or for worse? I highly recommend watching this video, as it is full of infotainment.
The problem with AI right now isn't that it’s smart, it’s that it’s stupid in ways that we can't always predict.
The biggest thing we need to tackle is the ‘black box’ problem of AI. Meaning that we should be able to understand exactly how and why an AI came up with its answers
Why Modern Tech Sucks
There's nothing to explain here. Just sit back, relax, and enjoy the video.
⚒️ Tool I found useful
Temp Mail - Temporary Disposable Email Address
Remove objects, people, text and defects from any picture
How to Use Capitalize My Title
🗳️ Feedback to Make It Better
I would like to know what you think about the topics we cover.
Thank you for being a part of the Widget Tricks Newsletter, and I am looking forward to hearing from you soon.