Azmi Radi Azmi
Android Developer - Programming Instructor
๐จ ูุจู ู
ุง ุชุถูู ุฃู Library ุฃู SDK ุฌุฏูุฏ ูู ู
ุดุฑูุนูุ ุฎุฏ ููุณ ุนู
ูู ูููู ุดููุฉ โ
ูุชูุฑ ู
ููุง ุจูุฌุฑู ูู integrate ุฃู third-party solution ุนูุทูู ู
ู ุบูุฑ ู
ุง ูุจุต ุนูู ุญุงูุชู ุฃู ุชุฃุซูุฑู ุนูู ุงูู
ุฏู ุงูุทูููุ ูุงููุชูุฌุฉุ ุตุฏุงุน ูู
ุดุงูู ุจุนุฏูู.
ุฃูุง ุนู ููุณู ุจููุช ุฏุงูู
ูุง ุฃุฑุงุฌุน 3 ุญุงุฌุงุช ุฃุณุงุณูุฉ:
โ
ุฃูู ุญุงุฌุฉ: Library Status
ุขุฎุฑ ุชุญุฏูุซ ูุงู ุงู
ุชูุ (ูู ู
ู 5 ุณููู ู
ุง ุญุฏุด ูู
ุณู ูุจูู ๐ฉ ูุจูุฑ)
ูู ูุงุณ ูุชูุฑ ุจุชุณุชุฎุฏู
ู ูุจุชู test ููุง ู
ูุฌูุฑุ
ุงูู GitHub issues ูุงูู discussions ุจุชููู ุฅููุ
ูุงูู documentation ุดููู ู
ุฑุชุจ ููุง ูุงุ
โ
ุชุงูู ุญุงุฌุฉ: SDK Pricing Model
ู
ุชูุชุฑุถุด ุฅู ูู ุงูู features free.
ูู SDKs ุจุชุญุงุณุจู ุนูู ูู function call.
ู
ุฑุฉ ููุนุช ูู ูุฎ ุฅู ููู function ุนู
ูุชูู double cost ๐ธ ู
ู ุบูุฑ ู
ุง ุฃุฎุฏ ุจุงูู.
ุงูุฑุฃ ุงูู docs ูููุณ ุนุดุงู ู
ุชุชูุงุฌุฆุด ุขุฎุฑ ุงูุดูุฑ.
โ
ุชุงูุช ุญุงุฌุฉ: Clean Code
ุงู
ุณุญ ุงูู unused dependencies ูุงูู code ุงููู ู
ููุด ูุงุฒู
ุฉ.
ุจูุงุด ุชุณูุจ comments ุชููู "ููุญุชุงุฌู ูู ุงูู
ุณุชูุจู" ๐คฆโโ๏ธ.
ุงูู
ุณุชูุจู ุฏู ูู
ุง ููุฌู ุงูู versions ูุงูู styling ููููููุง ุงุชุบูุฑูุง ุฃุตูุงู.
ูู ูู ุญุงุฌุฉ ู
ูู
ุฉุ ุงูุชุจูุง ูู documentation ุจุฑุง ุงูููุฏ.
โก ุตุฏูููโฆ ุงูุฏูุงูู ุงููู ูุชุฑุงุฌุน ูููู
ูุจู ู
ุง ุชุณุชุฎุฏู
ุญุงุฌุฉุ ูุชููุฑูู ุดููุฑ ูุฌุน ุฏู
ุงุบ ุจุนุฏูู.
04/08/2025
๐ 5 Ways to Stand Out as a Developer
Becoming a great developer isnโt just about writing good code โ itโs about how you work, communicate, and grow.
This quick carousel breaks down 5 simple, practical ways to stand out on any tech team:
๐ 1. Ask โWhy?โ
Understand the reason behind the work โ not just how to do it.
๐ 2. Help Your Team
Support teammates, improve workflows, and look beyond your own tasks.
๐ 3. Be the Go-To Person
Pick one area and master it. Become the person others turn to for help.
๐ 4. Lead Without a Title
Own shared tasks, track progress, and communicate. Leadership is action, not position.
๐ 5. Practice Kaizen
Continuously improve. Reflect after every task and aim to grow with each project.
๐ Save this. Apply it. Share it with someone who wants to grow.
01/08/2025
Because weโre not just codersโwe're engineers, mentors, problem solvers, and stewards of the future.
In a world where delivery is often rushed and shortcuts are common, we need to remind ourselves of what real software engineering stands for.
Hereโs what we value ๐
โ๏ธ 1. Easy to Maintain > Quick Fixes
We write code thatโs easy to change and understand โ not just something that works today.
๐งช 2. Tested Code > Assumptions
We trust our code because we test it, not because we โthinkโ it works.
๐ค 3. Teamwork > Solo Heroes
The best software comes from people who work well together โ not one person doing it all.
๐ 4. Good Design > Messy Code
We plan and structure our code to avoid problems later.
๐งโ๐ป 5. Doing Whatโs Right > Just Doing What Weโre Told
We think about how our code affects people, privacy, and the world.
๐ 6. Always Learning > Thinking We Know It All
Tech changes fast. We keep learning and improving.
๐ 7. Real Value > Fancy Features
We focus on solving real problems, not just writing more code.
๐ก๏ธ 8. Strong and Safe > Full of Features
We care about security and stability more than having every feature.
๐ 9. Clear Docs > Hidden Knowledge
We explain what weโre building so others can follow and help.
๐งญ 10. Integrity > Pressure
We speak up when somethingโs wrong, even if deadlines are tight.
๐ก Software engineering is both a technical and human discipline. Letโs practice it with care, curiosity, and responsibility.
๐ Feel free to share this with your team, or adapt it to your company values.
hashtag hashtag hashtag hashtag hashtag
28/07/2025
ุณู
ุนุช ูุจู ูุฏู ุนู ุงูุจุฑู
ุฌู ุงูุฏูุงุนูู ูุงููุฌูู
ููุ
Defensive vs Offensive Programming
ุจุต ูุง ุตุฏูููุ ููู ุทุฑููุชูู ููุชุนุงู
ู ู
ุน ุงูู bugs ุฃู ุงูู unexpected behavior ูู ุงูููุฏ ุจุชุงุนู:
๐ก๏ธ Defensive Programming (ุงูุจุฑู
ุฌู ุงูุฏูุงุนูู)
ูุนูู ุชุจูู ุฏุงูู
ูุง ุญุฑูุต ูุชุนู
ู check ุนูู ูู ุญุงุฌุฉ ุญุชู ูู ุงูู
ูุฑูุถ ู
ุง ูุญุตูุด ุญุงุฌุฉ ุบูุท.
ูุนูู ู
ููุด ุญุงุฌู ุงุณู
ูุง "ุฃูุง ู
ุชุฃูุฏ ุฅู ุฏู ุนู
ุฑูุง ู
ุง ูุชููู null"โฆ ุฎุตูุตูุง ูู ุงูุญุงุฌุฉ ุฏู nullable.
ู
ุซุงู: ูู ุนูุฏู var name: String?ุ ู
ูููุนุด ุชููู "ุฃูุง ูุงุซู ุฅููุง ู
ุด null".
ูุงุฒู
ุชุนู
ู null check ูุจู ู
ุง ุชุณุชุฎุฏู
ูุง.
โ
ุงููุฏูุ ุฅู ุงูู app ููุถู ุดุบุงู ุญุชู ูู ุญุตู ุญุงุฌุฉ unexpected.
โ๏ธ Offensive Programming (ุงูุจุฑู
ุฌู ุงููุฌูู
ูู)
ุฏู ุงูุนูุณ ุดููุฉโฆ ููุง ุจุชููู: "ูู ุญุตูุช ุญุงุฌุฉ unexpected โ crash ููุฑูุง!"
ูุนูู ูู name ู
ุด ุงูู
ูุฑูุถ ูุจูู nullุ ุชูุชุจ:
require(name != null)
ูู ุทูุน ูุนูุงู nullุ ๐ฅ Exception ููุชุถุฑุจ ุนูุดุงู ุงูู developer ุงููู ุนู
ู ุงูุบูุท ูุนุฑู ููุตูุญู.
๐งโโ๏ธ ุทูุจ ูุฎุชุงุฑ ุฃูููุ
ุจุจุณุงุทุฉ: ุงูุฅุชููู!
ุงุณุชุฎุฏู
defensive ูู
ุง ุชูุฏุฑ ุชุชุนุงู
ู ู
ุน ุงูุฎุทุฃ ุจุทุฑููุฉ ุขู
ูุฉ.
ุงุณุชุฎุฏู
offensive ูู
ุง ุชููู ูุงุซู ุฅู ุงูุบูุท ุฏู ู
ุด ูุงุฒู
ูุนุฏู ุฃุจุฏุงู.
ุงููู ุงุชููู ู
ูู
ููู ูุจุนุถโฆ ุฒู Yin & Yang โจ
20/07/2025
ุฎุฏ ุจุงูู ู
ู ุงู platform type
ูููุง ุนุงุฑููู ุฅู ููุชูู ูููุง ููุนูู ุฃุณุงุณููู: โ๏ธ Nullable
โ๏ธ Non-nullable
ููู ูู ููุน ุซุงูุซ ูุงุณ ูุชูุฑ ู
ุด ูุงุฎุฏุฉ ุจุงููุง ู
ููุ ุงุณู
ู: โก๏ธ Platform Type
ูุดููู ุจูููู ูุฏู: Type!
๐ค ุฅูู ูู ุงูู Platform Typeุ
ูู ุจุชุดุชุบู ุจู Kotlin ูุจุชุณุชุฎุฏู
ููุฏ ูุฏูู
ู
ูุชูุจ ุจู Java
ุฃู ู
ูุชุจุฉ ุฌุงูุง ูู ููุฏ ููุชููุ ููุชูุงูู ุงูู
ุชุบูุฑุงุช ุงููู ุฌุงูู ู
ู ุฌุงูุง ู
ุด ู
ุชุญุฏุฏ ูู ูู nullable ููุง ูุฃ.
ููุชูู ุจุชุญุจ ุชุจูู ูุงุถุญุฉ ูุฃู
ููุฉ ุจุงููุณุจุฉ ููู nullุ
ููู ุฌุงูุง ู
ุด ุจุชุฏููุง ุฃู ู
ุนููู
ุฉุ
ูููุชูู ุจุชูููู:
"ุฃูุง ู
ุด ููุชุฑุถ ุญุงุฌุฉโฆ ุฅูุช ุงููู ูุชูุฑุฑ!" ๐
๐ ู
ุซุงู ุนู
ูู:
val name = JavaApi.getName()
ุชูุชูุฑ name ููุง ููุนู ุฅููุ
String ููุง String? ุ
ูู ุงูุญูููุฉ ูู ูุง ุฏู ููุง ุฏูโฆ
ุฏู ุจูููู:
โก๏ธ String! โ ุฏู ุงุณู
ู Platform Type
ูุนูู ู
ู
ูู ุชุชุนุงู
ู ู
ุนุงู ูุฃูู String ุฃู String?ุ
ุจุณ ูู ุฎู
ูุช ุบูุทุ
๐ฅ ููุฌููู NullPointerException ูุงูุช ู
ุด ูุงุฎุฏ ุจุงูู!
๐ก ุฅุฒุงู ุชุชุนุงู
ู ู
ุน ุงูู Platform Typeุ
โ
ูู ุงูุช ูุงุชุจ ููุฏ ุฌุงูุง: ุงุณุชุฎุฏู
ุฃู ุนูุดุงู ุชุณุงุนุฏ ููุชูู ุชููู
.
โ
ูู ููุชูู:
ุชุนุงู
ู ู
ุน ุงูู
ุชุบูุฑุงุช ุฏู ุจุญุฐุฑุ
ูุงุณุชุฎุฏู
?., ?:, ุฃู !! ุญุณุจ ุงูุญุงูุฉ.
18/07/2025
๐๐ป Measure Twice, Cut Once
in Software
Before you write a single line of code:
โ
Understand the requirements
โ
Validate assumptions
โ
Review edge cases
โ
Think through the logic
Because fixing bugs in production costs more than thinking twice before committing.
๐ ๏ธ Good engineering is as much about prevention as it is about problem-solving.
ุดุจุงุจ ุงูุงูุฏุฑููุฏ ุจุฅุฐู ุงููู ุงููุชุฑู ุงูุฌุงูุฉ ุจูุฌูุฒ ุณูุดู ู ุญุชุฑู ู ู ุน ุตุฏูู ุดุงุทุฑ ุฌุฏุง ููุชููู ูููุง ุนู Android & Kotlin ููุญุงูู ุจูุฏุฑ ุงูุงู ูุงู ูุฑูุฒ ุนูู ุงู Android best practice ุงูุณูุดู ูุชููู recorded ู ุด live ูู ุญุฏ ุญุงุจุจ ูุฌุงูุจ ุนู ุงุณุชูุณุงุฑ ู ุนูู ูุงุฑูุช ูุจุนุชูู ุฎุงุต ุงู ููุชุจู ูู ุงู comments
12/10/2024
ูุง ููุง ุจุงู Kotlin Developers ุชุนุงูู ูุง ุตุฏููู ุฃูููู ุนูู ุชุฑููุฉ ุฌุงู
ุฏุฉ ูุชูุฑู ู
ุนุงู ูู ุจุชุณุชุฎุฏู
Kotlin Coroutines
ุชุฎูู ูุงุตุฏููู ุนูุฏู Coroutine ุดุบุงูุ ูููู ุฃูุชุฑ ู
ู ุทุฑููุฉ ุชุชุญูู
ุจููุง ูู ุชูููุช ุชุดุบูููุ ููู ุทุฑููุฉ ูููุง ูุงูุฏุฉ ุฎุงุตุฉ ุฌุฏูุง. ูุฏู ุงููู ููุชููู
ุนูููุง ุงูู CoroutineStart
ูุนูู ุฅูู ุจููุ ูุงุฒุงู ุงุนู
ู ูุฏูุ ุชุนุงููุง ูุดูู ุณูุง
ู
ู
ูู ูุญุฏุฏ ุงูู CoroutineStart ูููุน ู
ู ุฏูู
1- DEFAULT:
ุงูููุฑูุชูู ููุจุฏุฃ ุดุบูู ููุฑูุง ุฃูู ู
ุง ุชุณุชุฏุนูู! ู
ููุด ุชุฃุฎูุฑุ ู
ููุด ุงูุชุธุงุฑ. ุฏู ุงููุถุน ุงูุนุงุฏู ุงููู ูููุง ุนุงุฑูููู.
2- LAZY:
ุงูููุฑูุชูู ู
ุด ููุดุชุบู ุบูุฑ ูู
ุง ุชุทูุจ ู
ูู ุจููุณู. ูุนูู ูู ู
ุด ู
ุณุชุนุฌู ูุนุงูุฒ ุชุชุญูู
ุฅู
ุชู ุงูููุฑูุชูู ูุชุดุบูุ ุฏู ุงูุทุฑููุฉ ุงูู
ูุงุณุจุฉ. ููู ุฒู ุงูู lazy ูู Kotlinุ ู
ุด ุจูุดุชุบู ุบูุฑ ูู
ุง ุชูุงุฏู ุนููู ุงู ู
ู
ูู ุชูููู start() ุฒู ู
ุง ูุชุดูู ูู ุงูู
ุซุงู ุงููู ูู ุงูุตูุฑุ ุฃู ู
ู
ูู ุชุดุบู async ูุชุฎููู ููุชุธุฑ ูุญุฏ ู
ุง ุชูููู await()!
3- ATOMIC:
ุชุฎูู ุฅู ุงูููุฑูุชูู ุจุฏุฃ ุดุบูู ูู
ููุด ุญุงุฌุฉ ุชูุฏุฑ ุชููููู ูุจู ู
ุง ููุตู ูุฃูู ููุทุฉ ุฅููุงู (ุฃูู suspension point). ูุนูู ู
ุถู
ูู ุฅูู ููููุฐ ุฃูู ุฌุฒุก ู
ูู ู
ูู
ุง ุญุตู. ูู ู
ุญุชุงุฌ ุชุฃููุฏ ุฅู ุงูููุฑูุชูู ูุจุฏุฃ ูููู
ู ูุญุฏ ููุทุฉ ู
ุนููุฉุ ุฏู ุงูุชุฑููุฉ.
4- UNDISPATCHED:
ุฏู ุชุฑููุฉ ูู ุนุงูุฒ ุงูููุฑูุชูู ูุจุฏุฃ ุนูู ููุณ ุงูุซุฑูุฏ ุงููู ุงูุช ุดุบุงู ุนูููุ ููู
ุง ููุตู ูุฃูู ููุทุฉ ุฅููุงูุ ูุบูุฑ ุงูุซุฑูุฏ ูู ุงุญุชุงุฌ. ุฏู ุทุฑููุฉ ุฐููุฉ ูุชูููู ุงุณุชููุงู ุงูู
ูุงุฑุฏ ูุชูุฒูุน ุงูุดุบู ุจุดูู ุฃููู.
ุทูุจ ููู ุงูู
ูุถูุน ุฏู ู
ูู
ุ
ูุฃูู ุฏูููุชู ุชูุฏุฑ ุชุชุญูู
ูู ุฅู
ุชู ุงูููุฑูุชูู ูุดุชุบู ูุฅุฒุงู ูุชุตุฑู ูู ุธุฑูู ู
ุฎุชููุฉ. ุณูุงุก ููุช ุนุงูุฒ ุชุคุฌู ุดุบูู ุดููุฉุ ุฃู ุชุชุฃูุฏ ุฅูู ูุดุชุบู ูุญุฏ ููุทุฉ ู
ุนููุฉ ู
ู ุบูุฑ ู
ุดุงููุ ุฃู ุชููู ุงุณุชููุงู ุงูู
ูุงุฑุฏ. CoroutineStart ูู ู
ูุชุงุญ ุงูุชุญูู
ุฏู!
ู
ุชูุณุงุด ุชุจุต ุนูู ุงูุตูุฑ ุงููู ูู ุงูุจูุณุช ูุชุณุงุนุฏู ุงูุชุฑ ูู ุงูู ุชููู
ุงูู CoroutineStart
ุฏู
ุชู
ู
ุชููููู
Click here to claim your Sponsored Listing.
Category
Contact the school
Telephone
Address
Cairo