I will be speaking on Clean Architecture & DDD on Monday at GDG AAU. If any of you guys are interested in the topic, you can join.
β€1
Forwarded from Google Developer Group AAU (Hira)
π GDG AAU Open Lectures:
Weβve all been there: a project starts off great, but as it grows, it becomes a "spaghetti" mess. You change one line of code, and three unrelated things break. Suddenly, adding a simple feature takes weeks because the logic is tangled with the database and the UI.
Join us for the very first GDG AAU #OpenLecturesβa new series of deep-dive technical sessions designed to bridge the gap between academic theory and industry practice.
Topic: #CleanArchitecture & DDD
Speaker: Abenezer Alebachew (Senior CS, AAU)
Key Highlights:
π The Problem: Why codebases rot and how architecture stops it.
π Core Concepts: DDD, Layering, and Dependency Inversion.
π Python Pro-Tip: Using Protocols for Go-style implicit interfaces.
π Practicality: Real backend examples and knowing when to keep it simple.
π Venue: 5Kilo Campus NB 107
π Date: Dec 22, 2025 G.C
π Time: 11:00 LT
Register Now: https://forms.gle/CqwZb4dbbr9HyidFA
Session #01Is your codebase working against you β
Weβve all been there: a project starts off great, but as it grows, it becomes a "spaghetti" mess. You change one line of code, and three unrelated things break. Suddenly, adding a simple feature takes weeks because the logic is tangled with the database and the UI.
Join us for the very first GDG AAU #OpenLecturesβa new series of deep-dive technical sessions designed to bridge the gap between academic theory and industry practice.
Topic: #CleanArchitecture & DDD
Speaker: Abenezer Alebachew (Senior CS, AAU)
Key Highlights:
π The Problem: Why codebases rot and how architecture stops it.
π Core Concepts: DDD, Layering, and Dependency Inversion.
π Python Pro-Tip: Using Protocols for Go-style implicit interfaces.
π Practicality: Real backend examples and knowing when to keep it simple.
π Venue: 5Kilo Campus NB 107
π Date: Dec 22, 2025 G.C
π Time: 11:00 LT
Register Now: https://forms.gle/CqwZb4dbbr9HyidFA
π₯6
For anyone who wants resources from the Clean Architecture lecture I gave, the GDG team has posted them in their group. It was a great session and I want to thank the GDG AAU
team and all who were there for making it possible
team and all who were there for making it possible
Telegram
Google Developer Group AAU
Hello, Google Developer Group is group where students who want to learn about Google's technology can get together. Any student can join. In this clubs, students help each other learn and work on projects for local businesses and their community.
π2
Forwarded from Google Developer Group AAU (Hira)
π Event Update
π GDG AAU Open Lectures: Session #01
Just a quick update from us β big thanks to our guest speaker Abenezer Alebachew for kicking off our very first open lecture session π
On Monday, Dec 22, we hosted Session #01, where the focus was on Clean Architecture and Domain-Driven Design. It was a relaxed session that introduced how these ideas help developers organize codebases in a clean, scalable, and maintainable way.
β¨ Key Highlights:
- What Clean Architecture is and why it matters
- Basics of Domain-Driven Design
- How these concepts apply to real-world projects
- Open discussion and Q&A with the audience
π’ Stay in the loop
If you want access to resources from the session and updates on upcoming open lectures, make sure to
ππΌ JOIN THIS GROUP
And Huge Thank You for everyone who was part of this session, we really hope to see you again, make sure to join the group to get access to all the resources.
β€1π₯1
Forwarded from Samson Endale πͺπΉ
Donβt let the gatekeepers slow your momentum
When someone looks down on you for using frameworks, open source code, or AI agents, remember that true innovation isn't about doing it the hard way β it's about how far you go with the tools you have.
As Carl Sagan famously said:
Unless youβre hand-soldering your own CPU and writing your own binary, weβre all standing on the shoulders of giants.
Donβt get stuck in the "from scratch" trap.
Use the tools. Leverage the tech. Ship the productπ
When someone looks down on you for using frameworks, open source code, or AI agents, remember that true innovation isn't about doing it the hard way β it's about how far you go with the tools you have.
As Carl Sagan famously said:
"If you wish to make an apple pie from scratch, you must first invent the universe."
Unless youβre hand-soldering your own CPU and writing your own binary, weβre all standing on the shoulders of giants.
Donβt get stuck in the "from scratch" trap.
Use the tools. Leverage the tech. Ship the product
Please open Telegram to view this post
VIEW IN TELEGRAM
β€2π1
Forwarded from Samson Endale πͺπΉ
βLetβs take a painful trip down memory lane
βThe year is 2016. I just graduated. My first fulltime salary?
βBut wait ... the dollar hasn't been sleeping either. Thanks to US inflation, that $245 in 2016 is worth about
βIf we take that inflation-adjusted $330 and convert it at todayβs CBE rate of 154 ETB, do you know what we get?
βπ₯ 50,000 ETB. π₯
βThe Conclusion:
To live the exact same lifestyle you had with 5,400 birr in 2016, you need to be earning 50,000 birr in 2026
βLet that sink in
βThe year is 2016. I just graduated. My first fulltime salary?
5,400 ETB. back then, with the rate at 22 ETB/USD, that was a respectable $245βBut wait ... the dollar hasn't been sleeping either. Thanks to US inflation, that $245 in 2016 is worth about
$330 todayβIf we take that inflation-adjusted $330 and convert it at todayβs CBE rate of 154 ETB, do you know what we get?
βπ₯ 50,000 ETB. π₯
βThe Conclusion:
To live the exact same lifestyle you had with 5,400 birr in 2016, you need to be earning 50,000 birr in 2026
βLet that sink in
π3
Interviewing is a very important skill to have as a developer. We need to actively practice for improving our interviewing skills as developers. The way to develop interviewing skills is not just solving questions on Leetcode and calling it a day. Interviewers care about how you communicate, what kind of clarifying questions you ask and the way you break down the problem just as much if not more than your coding skills. So mock interviews are the best way to work that interviewing muscle to improve your confidence while also communicating your solution under time pressure.
I use https://www.tryexponent.com/practice for conducting mock interviews with random people around the world every weekend. I noticed that Indians are the most active on the platform and I realized why they are getting much more opportunities in the international job market compared to any other country. I have conducted 9 mock interviews on the platform as of yet and 8 of them were with Indians.
If we want to get great opportunities in the international job market, being able to do the job is not enough. We first need to get our feet in the door. After all, we can't do the job, if we are not offered the job right?π
Let's focus on skills that get us the job just as much us the skills that allow us to be useful once we get the job.
I use https://www.tryexponent.com/practice for conducting mock interviews with random people around the world every weekend. I noticed that Indians are the most active on the platform and I realized why they are getting much more opportunities in the international job market compared to any other country. I have conducted 9 mock interviews on the platform as of yet and 8 of them were with Indians.
If we want to get great opportunities in the international job market, being able to do the job is not enough. We first need to get our feet in the door. After all, we can't do the job, if we are not offered the job right?π
Let's focus on skills that get us the job just as much us the skills that allow us to be useful once we get the job.
Exponent
Mock Interviews: Improve Your Skills By Practicing with Peers and AI - Exponent
Prepare with live mock interviews with thousands of tech professionals.
Get feedback from our AI interviewer while you practice real interview
questions.
Get feedback from our AI interviewer while you practice real interview
questions.
β€2
Forwarded from Genene T. βοΈ
huge effort β no quick result β frustration β burnout β stop β guilt β restart. π
Forwarded from Genene T. βοΈ
small daily work β small progress β confidence β consistency β results β repeat. π
β€3
The months since November 2025 have been very amazing for me. It's like getting a big payout from a journey that was long and with very few rewards along the way.
I started programming seriously after I finished Grade 12 just before I joined AAU. In terms of work, I've had some experience with some freelance projects and a few local companies.
In October 2025, I left a job that paid me very little with nothing new to learn and with repetitive tasks.
In November 2025, I got a call from someone I met at a hackathon a year ago and I got offered a part-time job that paid 3x as much as my previous role.
This week, I got my first full-time international remote role for a US company which pays me a salary much higher than my current net worthπ . I hope to learn more from this role and to grow further.
I started programming seriously after I finished Grade 12 just before I joined AAU. In terms of work, I've had some experience with some freelance projects and a few local companies.
In October 2025, I left a job that paid me very little with nothing new to learn and with repetitive tasks.
In November 2025, I got a call from someone I met at a hackathon a year ago and I got offered a part-time job that paid 3x as much as my previous role.
This week, I got my first full-time international remote role for a US company which pays me a salary much higher than my current net worthπ . I hope to learn more from this role and to grow further.
π₯6β€3
Here are the things that helped me land the role:
1. My communication and interviewing skills which I can attribute to practicing with mock interviews and some tips I got at A2SV regarding optimizing resumes for each role.
2. My projects: I know I haven't shared much here but the projects I did at hackathons, for my own learning... were very crucial.
3. My local experience especially from my last role here. I learnt a lot and improved a lot of my skills in a very short time thanks to the thoughtful code reviews and mentorship from my previous boss.
4. My understanding of low-level, high-level and architectural concepts which I got through my time learning at ALX, books and technical blogs I've been reading
1. My communication and interviewing skills which I can attribute to practicing with mock interviews and some tips I got at A2SV regarding optimizing resumes for each role.
2. My projects: I know I haven't shared much here but the projects I did at hackathons, for my own learning... were very crucial.
3. My local experience especially from my last role here. I learnt a lot and improved a lot of my skills in a very short time thanks to the thoughtful code reviews and mentorship from my previous boss.
4. My understanding of low-level, high-level and architectural concepts which I got through my time learning at ALX, books and technical blogs I've been reading
π4β‘2
Here are some things I found useful while practicing AI-assisted development.
1. Having a guide file for the agent to refer to like Claude.md, .github/copilot.md, ...: Writing coding standards, commit formats, development workflow rules, links to spec files, docs, plans, and skill files helps very much with getting a predictable output from the agent.
2. Using skills: Anthropic has introduced skills recently and it has been a big improvement for AI-assisted development. I recommend skills related to frontend design, clean code, test-driven development, writing plans, and the framework you use. You can either install open-source skills or create your own for the agent to use and refer to.
3. Using test-driven development: Making the agent write plans and acceptance criteria, writing tests that check for the acceptance criteria, and writing minimal code to pass those tests is a much better way of working with agents in my experience.
4. Clearing the context regularly: Using a new and clear session for every different task will allow the agent to perform better as its context window will not be bloated with too much context.
4. Use MCP servers for Postman, Figma, and Playwright so that the agent can use the tools you use to get direct context for its actions.
Also, plan first, have a conversation with it to refine your plans, review its code carefully, and verify everything by testing it yourself. AI-assisted development is not going anywhere. However, understanding the context, knowing what to build, taking responsibility for the produced code, and defining a workflow that works for us are our roles.
1. Having a guide file for the agent to refer to like Claude.md, .github/copilot.md, ...: Writing coding standards, commit formats, development workflow rules, links to spec files, docs, plans, and skill files helps very much with getting a predictable output from the agent.
2. Using skills: Anthropic has introduced skills recently and it has been a big improvement for AI-assisted development. I recommend skills related to frontend design, clean code, test-driven development, writing plans, and the framework you use. You can either install open-source skills or create your own for the agent to use and refer to.
3. Using test-driven development: Making the agent write plans and acceptance criteria, writing tests that check for the acceptance criteria, and writing minimal code to pass those tests is a much better way of working with agents in my experience.
4. Clearing the context regularly: Using a new and clear session for every different task will allow the agent to perform better as its context window will not be bloated with too much context.
4. Use MCP servers for Postman, Figma, and Playwright so that the agent can use the tools you use to get direct context for its actions.
Also, plan first, have a conversation with it to refine your plans, review its code carefully, and verify everything by testing it yourself. AI-assisted development is not going anywhere. However, understanding the context, knowing what to build, taking responsibility for the produced code, and defining a workflow that works for us are our roles.
β€4
Forwarded from Ezedin Fedlu (Dark horse)
Hope these videos help you with your system design interviews or just deepen your understanding.
If you know better resources, feel free to share them in the comments so others can benefit as well. Learning together always works better.
1. Fundamentals
https://youtube.com/playlist?list=PLCRMIe5FDPsd0gVs500xeOewfySTsmEjf
2. API Design
https://youtube.com/watch?v=DQ57zYedMdQ
3. Load Balancing
https://youtube.com/watch?v=xg7Dj2AXLyk
4. Message Queues
https://youtube.com/watch?v=DYFocSiPOl8
5. Rate Limiting
https://youtube.com/watch?v=MIJFyUPG4Z4
6. Caching
https://youtube.com/watch?v=1NngTUYPdpI&list=PL5q3E8eRUieVFeK1oLahJ8KONkAxDpqk2&index=1
7. Sharding & Partitioning
https://youtube.com/watch?v=wXvljefXyEo
8. Database Replication
https://youtube.com/watch?v=oh8GvLf45t0
9. Consistent Hashing
https://youtube.com/watch?v=vccwdhfqIrI
10. CAP Theorem
https://youtube.com/watch?v=RexrINtVh-M
11. Microservices
https://youtube.com/watch?v=vTjeDWhjuUc
12. Fault Tolerance
https://youtube.com/watch?v=3Lis4w4_bBc
13. Scalability
https://youtube.com/watch?v=tjubQ97lxA4
14. Event-Driven Architecture
https://youtube.com/watch?v=Fb_0UOD2X2I
15. Service Discovery
https://youtube.com/watch?v=v4u7m2Im7ng
If you know better resources, feel free to share them in the comments so others can benefit as well. Learning together always works better.
1. Fundamentals
https://youtube.com/playlist?list=PLCRMIe5FDPsd0gVs500xeOewfySTsmEjf
2. API Design
https://youtube.com/watch?v=DQ57zYedMdQ
3. Load Balancing
https://youtube.com/watch?v=xg7Dj2AXLyk
4. Message Queues
https://youtube.com/watch?v=DYFocSiPOl8
5. Rate Limiting
https://youtube.com/watch?v=MIJFyUPG4Z4
6. Caching
https://youtube.com/watch?v=1NngTUYPdpI&list=PL5q3E8eRUieVFeK1oLahJ8KONkAxDpqk2&index=1
7. Sharding & Partitioning
https://youtube.com/watch?v=wXvljefXyEo
8. Database Replication
https://youtube.com/watch?v=oh8GvLf45t0
9. Consistent Hashing
https://youtube.com/watch?v=vccwdhfqIrI
10. CAP Theorem
https://youtube.com/watch?v=RexrINtVh-M
11. Microservices
https://youtube.com/watch?v=vTjeDWhjuUc
12. Fault Tolerance
https://youtube.com/watch?v=3Lis4w4_bBc
13. Scalability
https://youtube.com/watch?v=tjubQ97lxA4
14. Event-Driven Architecture
https://youtube.com/watch?v=Fb_0UOD2X2I
15. Service Discovery
https://youtube.com/watch?v=v4u7m2Im7ng
β€4