Issue 43 - Fundamentals Give You an Unfair Advantage
Learn Fundamentals. Who is Hiring. Troubleshooting Flutter-Unity. Extension Type and Union Types in Dart. Android API Humor. AI history. Impossible Job Search.Dependency Validator and much more.
How Fundamentals Give You an Unfair Advantage
Usually this newsletter is all about Flutter and AI, but today I want to talk about the importance of fundamentals.
Learning programming fundamentals is like learning to drive. You don’t start by memorizing where the windshield wipers are in a Tesla vs a Toyota. You learn steering, braking, acceleration - the core concepts. Once you master those, you can drive any car on any road.
Similarly, if you learn fundamentals, you can work with any framework or programming languages (these developers are in high demand).
So don’t jump to solutions with frameworks or programming languages. Understand the problem on a fundamental level first.
Steve McConnell in Code Complete 2 puts it perfectly:
“Don’t learn to program ‘in’ a language, rather learn programming ‘into’ a language.”
Let’s say you’re searching for a product on a website. Rather than focusing on which standard library function you’re going to use for this, you should think about what kind of search you’re looking for.
Does it involve linear search or binary search?
Are there search to specific properties?
Or is it a full-text search on the product object?
Once you understand how different kinds of searches work, you can apply this principle to other languages as well.
So if fundamentals are so important, why isn’t everyone doing it? A similar question can be asked about exercise - if exercising is healthy, why isn’t everyone going to the gym? Because focusing on fundamentals is HARD. Going deeper into any concept or understanding the true problem is HARD. That’s developer avoids it.
So Try HARD things. Learn Fundamentals. This will give you an unfair advantage in the job market.
What fundamental concept changed your programming style? Hit reply - I love hearing these stories.
Flutter with AI Workshop
AI won’t replace you. But a person who knows how to use AI will. If you are a Flutter developer and want to leverage AI in your day-to-day workflow, I am planning to run a workshop.
Checkout more details on flutterwithai.com
💡Flutter/AI Tips:
1. Avoid Prop Drilling in Flutter
2. Speed up Flutter tests in CI.
💼 Jobs To Apply:
1. Lead Mobile Software Engineer at Nu
This role will involve working across a variety of technologies, including Native, Flutter, and related frameworks. We are looking for a Mobile Engineer with solid experience to join the App Core team — a cross-impact engineering team responsible for building and maintaining the core infrastructure of the mobile application, optimizing our performance, and enabling product teams to deliver high-quality mobile experiences.
Salary Range: not mentioned.
✍🏻 Articles to read:
1. AI Coding by George Hotz
English is a non-deterministic language. One word can have different meanings for different people in various contexts. Similarly, AI models are trained to interpret words differently based on their training on given data. However,Programming languages, on the other hand, are highly deterministic; terms like “for loop” and “class” have consistent meanings for everyone.
2. Troubleshooting Flutter <-> Unity integration by Matthew Groves
Version conflicts with gradle, plugins, kotlin and ndk version were a nightmare. It’s a similar story for our team as well when we were integrating Unity in Flutter as AAR in Android and as Pod in iOS.
3. Extension types by Dart Team
Extension types serve the same purpose as wrapper classes, but don’t require the creation of an extra run-time object, which can get expensive when you need to wrap lots of objects. Because extension types are static-only and compiled away at run time, they are essentially zero cost.
Extension methods (also known just as “extensions”) are a static abstraction similar to extension types. However, an extension method adds functionality directly to every instance of its underlying type. Extension types are different; an extension type’s interface only applies to expressions whose static type is that extension type. They are distinct from the interface of their underlying type by default.
4. Demystifying Union Types in Dart, Tagged vs. Untagged, Once and For All by Majid Hajian
In any language, the type system can be very difficult to understand.This blog discusses one of the most complex type systems called union, which is supported in TypeScript and other languages.
However, this feature has been requested in Dart for a long time, but Dart Team has not yet added it because they think this is not necessary; union in dart can be build with sealed classes. Also some other union type packages are also available.
A great blog post explaining union types in great detail with excellent, concise examples. A must-read for everyone.
5. Jokes and Humour in the public Android API by ROllerozxa
Do we have something similar in Flutter?
6. When the Job Search Becomes Impossible: Three Phases of Burnout by Jeff
After my B.Tech graduation, I was unemployed for 1 year. And When I transitioned to freelance work 4 years ago, I faced periods of unemployment time lasting 1-2 month each year. Previously, finding the next project or job was extremely difficult. Each rejection email made me question my choices, making everything feel futile until securing the one project I needed. All three phases mentioned in the blog resonate with almost every developer who is looking for a job.
📺 Videos to Watch:
1. Cornell AI history lecture
Human understand scale changes occur in days or hours, not in years.
AI Leverage: Multiply your input.
With AI, the opportunity cost of not learning is high.
AI will be used for Knowledge Synthesis.
2. These 5 iPhone AI Tips Changed How I Work
I use Drag and Drop media very rarely, but now I should use it more often.
📦 Code from Packages
1. App Deploy Screenshots
A Flutter package for automatically generating app store screenshots across multiple devices and platforms. Perfect for creating deployment-ready screenshots for iOS App Store and Google Play Store submissions.
2. Dependency Validator
A tool to help you find missing, under-promoted, over-promoted, and unused dependencies.
3. Extension Type Unions
Support for union types in Dart has been requested at least since 2012. This repository provides a basic level of support for union types in Dart.
🔖Post I Found Useful
1. The Dangers of Being a Compulsive Analyst
2. Everything that’s wrong with Google Search in one image
🛠️ Tool I Found Useful
1. vb.lk
A tool where you type the link name in neutral English language will search for things on appropriate platforms like ChatGPT, Amazon, Wikipedia, or YouTube. A natural language way for finding things via links.
😂Fun and Memes
1. ServerlessHorrors
2. Dad builds magical memory keeper!
👋🏻 That’s it, Folks
I am currently open for consultation part-time/full-time, specialized in mobile development with Android and Flutter. So if you are looking for someone to:
Build product architecture from scratch
Train existing developers to level up
Fix major bottlenecks in legacy codebase
Improve code quality
And most importantly, ship things faster
then reach out to me at info@burhanrashid52.com.











