This track is a comperhensive track, to start your career as an Android developer with a solid understanding of the software enineering.
- Technical skills
- Soft skills Each category include related topics as follow:
- Kotlin
- Software engineering fundmentals
- Android development
- Portifolio Projects
- Problem solving / critical thinking skills
- Communication skills
- Collaboration / Teamwork skills
- interviewing skills
- Time management
Topic | Resources | Progress |
---|---|---|
SOLID | SOLID articles series | |
Design Patterns | Learn Design-patterns in kotlin practice Design-patterns refactoring gur it would be great if you practice all of the patters, you can start with these Factory, Adapter, Builder, Composite, Decorator, Listener, Observer, Singleton, Strategy |
|
Data Structures / Algorithms | Data structure Playlist It would be awesome if you finish the whole playlist with practice, but you can just learn the first 18 videos then from 24 to 37 as a start. |
|
Clean Code | Clean code freeCodeCamp it would be great if you can purchase Clean code book by Uncle bob |
|
Clean Architecture | Intro Clean Architecture Tutorial for Android |
|
Database Design | Database Design by Dr. Elmasry Read ch1, ch2, ch3, ch4, ch7, ch8, ch9, and of course the more you read the more you will understand complex topics, but as a start you need to understand these chapters mentioned. |
|
UML | Class Diagrams Use case Digrams Sequence Diagrams |
|
SQLite | SQLite | |
Git | pro Git book Docs |
|
GitFlow | Git flow Have a look over Trunk-based development |
- guide you with tutorials and estimated time for it (tow days) for example.
- then will be a live session to discuss the topic from a senior prospective with best practice and security.
- demonstrate live example from a real project.
- discuss some interview questions about that topic.
- Task with code review.
- FP
- Github
- TDD
- CI / CD
- IDE
- Gradle (Groovy & KotlinDSL)
- Lint
- Unit test
- DP / SP
- Resources Qualifiers
- Strings / Dimentions / Colors / Fonts / Menus
- Layouts
- Support different screen sizes
- Handle Landscape
- Drawables / Shapes / Vectors / Icons
- Layout Directions
- Localization
- Styles
- Theme
- Animation
- Compound Components / Extending Views / Custom Views
- Translat design into code (complex examples)
- Communicattion with UI/Ux designers
- Accessibility
- Activity Lifecycle
- Fragment Lifecycle
- Intent / Intent Filtter
- Navigation Component
- UI test
- Permissions
- SharedPreferences / DataStore
- Content Provider
- Room
- Room vs ContentProvider vs DataStore
- Broadcast Reciver
- Services
- Work Manager
- Networking
- Authentication vs Authorization
- Communicattion with Back-end
- Postman
- threading
- Reactive Programming
- Kotlin coroutines
- RESTFULL API / Reetorfit
- MVP / MVVM / MVI
- Multi Module
- WebView
- Maps / Places
- Dagger / Hilt / Koin (DI / Service Locator)
- Gradle buid
- Get Apk ready for production
- Project with All learned topics from scratch with design and back-end
- Project with update plan to demonstrate a real company's project
- Refactoring an old project with the learned topics