โจQuick tip: Don't just catch errors handle them with intent.
1. Catch specific exceptions, not everything
python
2. Fail loud in dev, fail safe in production
Silent failures are debugging nightmares. Log the context (inputs, state) when an error hits, not just "something went wrong."
3. Errors are part of your API
If you're writing a library or backend service, your error types/messages are what other devs debug against. Design them like you design your functions clear, specific, actionable.
4. Never let an exception cross a boundary undocumented If a function can throw, say so (docstring, type hints, or your language's equivalent). Callers shouldn't discover it in production.
Rule of thumb: if you can't explain why an error happened from the log alone, you didn't handle it you hid it.
#Tips
@CTBEsoftwareengineers
1. Catch specific exceptions, not everything
python
# Swallows all errors, hides bugs
try:
result = risky_call()
except Exception:
pass
# Know what you're catching
try:
result = risky_call()
except ConnectionError as e:
log.warning(f"Retrying: {e}")
retry()
2. Fail loud in dev, fail safe in production
Silent failures are debugging nightmares. Log the context (inputs, state) when an error hits, not just "something went wrong."
3. Errors are part of your API
If you're writing a library or backend service, your error types/messages are what other devs debug against. Design them like you design your functions clear, specific, actionable.
4. Never let an exception cross a boundary undocumented If a function can throw, say so (docstring, type hints, or your language's equivalent). Callers shouldn't discover it in production.
Rule of thumb: if you can't explain why an error happened from the log alone, you didn't handle it you hid it.
#Tips
@CTBEsoftwareengineers
โค2๐1
Media is too big
VIEW IN TELEGRAM
แจแ แฒแต แ แแต แฅแแณแ แ แฐแจแณแฝแ แแแฅแญแต
แแแซแ แ แฒแต แ แแต - Happy Ethiopian New Year 2019
แถ/แญ แณแแคแ แญแแ
แจ แ แฒแต แ แ แฃ แฉแแจแญแฒแฒ แแฌแแฐแแต
แแแซแ แ แฒแต แ แแต - Happy Ethiopian New Year 2019
แถ/แญ แณแแคแ แญแแ
แจ แ แฒแต แ แ แฃ แฉแแจแญแฒแฒ แแฌแแฐแแต
โค5๐1
AAU Software Engineering community
๐
Starting September 1 (2019 EC).
Something big is coming soon,Stay tuned for the new year โค
@CTBEsoftwareengineers
@CTBEsoftwareengineers
โค5
The 5-Kilo Delusion: A New Year Wake-Up Call for AAU Tech Students
@CTBEsoftwareengineers Don't miss outโjoin today!
Everyone have become Telegram channel managers forwarding someone else's project instead of building his own and gradually forgetting how to code. We are masterfully polishing our LinkedIn headlines, sharing random tech event on the city , and celebrating "opportunities" before read more ...
@CTBEsoftwareengineers Don't miss outโjoin today!
๐ฅ18๐12โค7๐1
New Year, New Me.
Not a complete rewrite thoughโฆ just a better version.
โบ New skills.
โบ New projects.
โบ New opportunities.
Same developer.
"v2.0.0" loading...
๐ผ Happy New Year! again๐ผ
@CTBEsoftwareengineers
Not a complete rewrite thoughโฆ just a better version.
Same developer.
"v2.0.0" loading...
@CTBEsoftwareengineers
Please open Telegram to view this post
VIEW IN TELEGRAM
โค8๐ฅ1
AAU Software Engineering community
The 5-Kilo Delusion: A New Year Wake-Up Call for AAU Tech Students Everyone have become Telegram channel managers forwarding someone else's project instead of building his own and gradually forgetting how to code. We are masterfully polishing our LinkedInโฆ
Disclaimer: The LinkedIn profile shown in this image is a demo created for illustration purposes only and does not represent a real individual !
@CTBEsoftwareengineers
@CTBEsoftwareengineers
๐2
๐ฅ THE 11TH ETCPC IS HERE!
Ethiopian Collegiate Programming Contest 2026
CSEC ASTU proudly presents the 11th Ethiopian Collegiate Programming Contest (ETCPC) 2026!
๐ EVENT DATE
๐ VENUE
Adama, Ethiopia ๐ช๐น
WHY PARTICIPATE?
โณ REGISTRATION DEADLINE
โณ New Deadline:
Monday, September 14, 2026 โ 11:59 PM
๐ REGISTER NOW
๐ฅ See you at ETCPC 2026!
#ETCPC2026 #CompetitiveProgramming #ProgrammingContest
Ethiopian Collegiate Programming Contest 2026
CSEC ASTU proudly presents the 11th Ethiopian Collegiate Programming Contest (ETCPC) 2026!
This isn't just another programming contest.It's where problem-solving, algorithms, coding speed, and teamwork come together under pressure.๐ EVENT DATE
October 8โ9, 2026๐ VENUE
Adama Science and Technology University (ASTU)Adama, Ethiopia ๐ช๐น
WHY PARTICIPATE?
โ Take on challenging competitive programming problems
โ Meet and compete with passionate programmers from universities across Ethiopia
โ Push your problem-solving skills beyond the classroom
โ Represent your university on the competitive programming stage ๐ช๐น
โณ REGISTRATION DEADLINE
September 11, 2026โณ New Deadline:
Monday, September 14, 2026 โ 11:59 PM
๐ REGISTER NOW
๐ฅ See you at ETCPC 2026!
#ETCPC2026 #CompetitiveProgramming #ProgrammingContest
AAU Software Engineering community
2026-2027 Northen Africa-Innovation Competition manual.pdf
The Huawei ICT Competition 2026โ2027 (Northern Africa) Innovation Track is now open for registration.
This track is about using new technology to solve real problems.
You can register until December 2026.
The first exam is NovemberโDecember 2026, the national final is January 2027, the regional final is FebruaryโMarch 2027, and the global final is May 2027.
Please read the rules and then register here:
https://e.huawei.com/en/talent/#/ict/innovation-details?zoneCode=026902&zoneId=98269713&compId=85132021&divisionName=Northern%20Africa&type=C002&isCollectGender=N&enrollmentDeadline=undefined&compTotalApplicantCount=6
@CTBEsoftwareengineers
This track is about using new technology to solve real problems.
You can register until December 2026.
The first exam is NovemberโDecember 2026, the national final is January 2027, the regional final is FebruaryโMarch 2027, and the global final is May 2027.
Please read the rules and then register here:
https://e.huawei.com/en/talent/#/ict/innovation-details?zoneCode=026902&zoneId=98269713&compId=85132021&divisionName=Northern%20Africa&type=C002&isCollectGender=N&enrollmentDeadline=undefined&compTotalApplicantCount=6
@CTBEsoftwareengineers
โค3
โจSomething I noticed working with AI agents: they don't know when they're wrong โจ
A human dev usually pauses mid-task when something feels off "wait, this doesn't look right." An agent doesn't have that instinct. It'll confidently keep building on a wrong assumption for way longer than any person would, because nothing tells it to stop and doubt itself.
That changed how I use them:
๐นI stopped asking for a whole feature in one shot big prompts = big bugs, and you can't tell which half broke
Now I ask for one function/module at a time and actually read it before moving on
๐นAfter it generates code, I ask "what could break this?" it often catches its own edge cases when prompted, even though it won't on its own
โฆ๏ธException: repetitive, well-worn stuff boilerplate, CRUD, standard configs. Good models nail this consistently, no babysitting needed. Save the scrutiny for anything new or non-trivial.
The bigger lesson: catch a bad assumption early, or you'll spend way more time unwinding it later than you would've spent checking it upfront.
Hope this helpsโบ๏ธ
@CTBEsoftwareengineers
A human dev usually pauses mid-task when something feels off "wait, this doesn't look right." An agent doesn't have that instinct. It'll confidently keep building on a wrong assumption for way longer than any person would, because nothing tells it to stop and doubt itself.
That changed how I use them:
๐นI stopped asking for a whole feature in one shot big prompts = big bugs, and you can't tell which half broke
Now I ask for one function/module at a time and actually read it before moving on
๐นAfter it generates code, I ask "what could break this?" it often catches its own edge cases when prompted, even though it won't on its own
โฆ๏ธException: repetitive, well-worn stuff boilerplate, CRUD, standard configs. Good models nail this consistently, no babysitting needed. Save the scrutiny for anything new or non-trivial.
The bigger lesson: catch a bad assumption early, or you'll spend way more time unwinding it later than you would've spent checking it upfront.
Hope this helpsโบ๏ธ
@CTBEsoftwareengineers
โค8๐1
Forwarded from AAU - Chronicles
๐ซ Campus Review: CTBE โ 5 Kilo Campus
CTBE stands for the College of Technology and Built Environment. It's home to Engineering, Architecture, and other related fields like Construction Management.
It's split across two campuses: 5 Kilo and Lideta. (The two used to be separate colleges but are now merged under one shared Dean, even though the campuses are geographically apart.)
Today, we're covering 5 Kilo campus.
๐ 5 Kilo Campus has 6 undergraduate schools
(here "school" means an undergraduate department within the college)
Ranked from most to least competitive to get into:
1. Software Engineering
2. Electrical Engineering
3. Biomedical Engineering
4. Mechanical Engineering
5. Chemical Engineering
6. Civil Engineering
How you get placed at 5 Kilo:
- Your entrance exam score + first semester grade are averaged. Meet the cutoff point, and you're placed at CTBE right after first semester. But you won't choose a specific department yet. You'll take common courses (pre-engineering) first.
- To get into a specific department, it's your first + second semester average combined. Example: 3.5 in first semester and 3.8 in second semester averages to 3.65/4 that's about 91.25%. Last year, that was enough for Mechanical Engineering (4th most competitive department).
- Software Engineering is the most competitive , especially for non-sponsor students.
๐ Full department allocation breakdown coming in a future post. Stay tuned.
๐ Other notes on 5 Kilo:
- Size: Relatively small perimeter-wise. nowhere near as big as 6 Kilo.
- Dorms: Located outside of the campus, across the street (unlike other campuses, where learning facilities and dorms share the same compound). Still, the dorms are more spacious and better kept than 6 Kilo's. Also there's a chance your Dormitory might be at 6 kilo. So you learn at 5 kilo but your dormitory is at 6 kilo.
- Library: Located at 5 Kilo, open all night.
- Food: Lounges available at both the campus and dorm buildings. Government cafeteria available at the dorm compound if you're a cafe user.
- Wi-Fi: Works decently on campus, but basically non-existent in the dorms.
- Location( outside of the uni): there're lots of Fast food, restaurants, and supermarkets all nearby.
- Labs: Every department has labs, but how often you actually use them depends on the department
Next we will post a detailed description about the departments so don't forget to join @unfilteredaau
CTBE stands for the College of Technology and Built Environment. It's home to Engineering, Architecture, and other related fields like Construction Management.
It's split across two campuses: 5 Kilo and Lideta. (The two used to be separate colleges but are now merged under one shared Dean, even though the campuses are geographically apart.)
Today, we're covering 5 Kilo campus.
๐ 5 Kilo Campus has 6 undergraduate schools
(here "school" means an undergraduate department within the college)
Ranked from most to least competitive to get into:
1. Software Engineering
2. Electrical Engineering
3. Biomedical Engineering
4. Mechanical Engineering
5. Chemical Engineering
6. Civil Engineering
How you get placed at 5 Kilo:
- Your entrance exam score + first semester grade are averaged. Meet the cutoff point, and you're placed at CTBE right after first semester. But you won't choose a specific department yet. You'll take common courses (pre-engineering) first.
- To get into a specific department, it's your first + second semester average combined. Example: 3.5 in first semester and 3.8 in second semester averages to 3.65/4 that's about 91.25%. Last year, that was enough for Mechanical Engineering (4th most competitive department).
- Software Engineering is the most competitive , especially for non-sponsor students.
๐ Full department allocation breakdown coming in a future post. Stay tuned.
๐ Other notes on 5 Kilo:
- Size: Relatively small perimeter-wise. nowhere near as big as 6 Kilo.
- Dorms: Located outside of the campus, across the street (unlike other campuses, where learning facilities and dorms share the same compound). Still, the dorms are more spacious and better kept than 6 Kilo's. Also there's a chance your Dormitory might be at 6 kilo. So you learn at 5 kilo but your dormitory is at 6 kilo.
- Library: Located at 5 Kilo, open all night.
- Food: Lounges available at both the campus and dorm buildings. Government cafeteria available at the dorm compound if you're a cafe user.
- Wi-Fi: Works decently on campus, but basically non-existent in the dorms.
- Location( outside of the uni): there're lots of Fast food, restaurants, and supermarkets all nearby.
- Labs: Every department has labs, but how often you actually use them depends on the department
Next we will post a detailed description about the departments so don't forget to join @unfilteredaau
โค6
Please Stop starting your CV like this:
โI am hardworkingโ means nothing๐ Every single person says it. No one has ever written โIโm inconsistent and hard to work with.โ So it becomes invisible. Recruiters skip it in seconds.
โPassionate aboutโฆโ is just noise now. Overused and Empty. Passion is not a proof. It doesnโt tell them what you can actually do.
โSeeking an opportunityโ is worse. Youโre making it about you. But your CV is not about you. Itโs a business document. They are not reading it to help you. They are reading it to answer one question:
Can you solve our problem?
If your first line doesnโt answer that, youโve already lost.
Use this instead:
Thatโs what earns the next line.
@CTBEsoftwareengineers
โI am a hardworking and dedicated professionalโNobody cares.
โPassionate about making a differenceโ
โSeeking a challenging opportunity to growโ
โI am hardworkingโ means nothing๐ Every single person says it. No one has ever written โIโm inconsistent and hard to work with.โ So it becomes invisible. Recruiters skip it in seconds.
โPassionate aboutโฆโ is just noise now. Overused and Empty. Passion is not a proof. It doesnโt tell them what you can actually do.
โSeeking an opportunityโ is worse. Youโre making it about you. But your CV is not about you. Itโs a business document. They are not reading it to help you. They are reading it to answer one question:
If your first line doesnโt answer that, youโve already lost.
Use this instead:
[What you do] + [who you do it for] + [the result you produce]
Example:
Marketing manager with 6 years building demand generation for B2B SaaS companies, consistently driving pipeline growth above target.
Thatโs what earns the next line.
@CTBEsoftwareengineers
โค8โ5
Please open Telegram to view this post
VIEW IN TELEGRAM
๐8๐ฅ5๐2โค1
Please open Telegram to view this post
VIEW IN TELEGRAM
โค8๐3๐ฅ1๐1
โจThe bug that isn't a bug: silent LLM failuresโจ
If you're building anything with LLM agents or API calls, here's a trap almost everyone falls into: a 200 OK response doesn't mean success.*
Most people wrap API calls in try/except and call it "error handling." But LLMs (and a lot of third-party APIs) fail silently they return valid JSON, valid status codes, and just wrong or empty content. Your code sails right past it thinking everything's fine.
So a quick fix that saves hours of debugging:
๐นDon't just check response.status_code == 200 validate the content too (right schema? non-empty? within expected bounds?)
๐นLog the raw response on ambiguous failures, not just the exception
๐นFor LLM calls specifically: add a sanity check step (e.g., "did this actually answer the question asked?") before trusting the output downstream
The pattern: "it ran without crashing" โ "it worked."
hope this helps โบ๏ธ
@CTBEsoftwareengineers
If you're building anything with LLM agents or API calls, here's a trap almost everyone falls into: a 200 OK response doesn't mean success.*
Most people wrap API calls in try/except and call it "error handling." But LLMs (and a lot of third-party APIs) fail silently they return valid JSON, valid status codes, and just wrong or empty content. Your code sails right past it thinking everything's fine.
So a quick fix that saves hours of debugging:
๐นDon't just check response.status_code == 200 validate the content too (right schema? non-empty? within expected bounds?)
๐นLog the raw response on ambiguous failures, not just the exception
๐นFor LLM calls specifically: add a sanity check step (e.g., "did this actually answer the question asked?") before trusting the output downstream
The pattern: "it ran without crashing" โ "it worked."
hope this helps โบ๏ธ
@CTBEsoftwareengineers
โค6๐3
โก๏ธ Global Dev Tool Trends: September 2026 Edition โก๏ธ
The software engineering landscape has officially shifted from "AI as a chat assistant" to "AI as an autonomous co-developer." If you are relying purely on standard autocomplete for your projects this semester, here is how the global dev tool ecosystem is evolving right now.
The AI-Native IDE Wars (Cursor & Windsurf):
Standard editors are rapidly being replaced by AI-native environments. Cursor remains the dominant choice for seamless codebase integration and multi-file edits, while Windsurf is gaining traction as a highly optimized, affordable alternative. Both keep you in the driver's seat while dramatically speeding up boilerplate generation and interactive coding.
Asynchronous Background Agents (Jules & Devin):
The industry is moving toward agents that work while you attend lectures. Jules operates with its own allocated capacity to autonomously analyze up to 30,000 lines of code, write unit tests, and open GitHub PRs asynchronously without requiring an active prompt session. Similarly, Devin-class cloud tools handle complete multi-step engineering tasks by running parallel agents to close out tickets end-to-end.
Terminal-First Orchestration (Claude Code):
For developers who live in the CLI, tools like Claude Code are leading the pack for deep repository context and complex terminal-heavy refactoring. It allows you to run multi-file edits directly from the command line.
Multi-Agent Platforms (Google Antigravity):
The new frontier is engineering your own AI workflows. Platforms like Google Antigravity provide developers with direct environment access to build, test, and deploy autonomous multi-agent systems. It is quickly becoming a standard for building scalable infrastructure with deterministic tool pipelines and formal verification steps.
Zero-to-MVP App Builders:
For hackathons and rapid prototyping, browser-based builders like Bolt.new, v0, and Lovable are generating fully deployable, full-stack applications (including databases and backend logic) directly from natural language.
Let's keep building !
@CTBEsoftwareengineers
The software engineering landscape has officially shifted from "AI as a chat assistant" to "AI as an autonomous co-developer." If you are relying purely on standard autocomplete for your projects this semester, here is how the global dev tool ecosystem is evolving right now.
The AI-Native IDE Wars (Cursor & Windsurf):
Standard editors are rapidly being replaced by AI-native environments. Cursor remains the dominant choice for seamless codebase integration and multi-file edits, while Windsurf is gaining traction as a highly optimized, affordable alternative. Both keep you in the driver's seat while dramatically speeding up boilerplate generation and interactive coding.
Asynchronous Background Agents (Jules & Devin):
The industry is moving toward agents that work while you attend lectures. Jules operates with its own allocated capacity to autonomously analyze up to 30,000 lines of code, write unit tests, and open GitHub PRs asynchronously without requiring an active prompt session. Similarly, Devin-class cloud tools handle complete multi-step engineering tasks by running parallel agents to close out tickets end-to-end.
Terminal-First Orchestration (Claude Code):
For developers who live in the CLI, tools like Claude Code are leading the pack for deep repository context and complex terminal-heavy refactoring. It allows you to run multi-file edits directly from the command line.
Multi-Agent Platforms (Google Antigravity):
The new frontier is engineering your own AI workflows. Platforms like Google Antigravity provide developers with direct environment access to build, test, and deploy autonomous multi-agent systems. It is quickly becoming a standard for building scalable infrastructure with deterministic tool pipelines and formal verification steps.
Zero-to-MVP App Builders:
For hackathons and rapid prototyping, browser-based builders like Bolt.new, v0, and Lovable are generating fully deployable, full-stack applications (including databases and backend logic) directly from natural language.
Let's keep building !
@CTBEsoftwareengineers
โค3๐ฅ2
Please open Telegram to view this post
VIEW IN TELEGRAM
โค4
Please open Telegram to view this post
VIEW IN TELEGRAM
๐10โค5๐2
AAU Software Engineering community
Telegraph
Learning While Earning: The Side Hustle Life of a Tech Student
Being a tech student in higher education is not always easy. You have lectures to attend, assignments to finish, projects to build, and a future to prepare for. And somewhere in between, you want to earn money, gain experience, and become good at what youโฆ
๐4โค3
The Real Website Launch Checklist
Ship fast โ but donโt ship careless.
๐งฑ BEFORE YOU LAUNCH (Foundations You Canโt Ignore)
๐ Security (Non-Negotiable)
Secure your API keys (never expose them client-side)
Hide all .env files
Never hardcode secrets in your codebase
Add proper authentication (JWT, sessions, etc.)
Verify permissions server-side (not frontend)
Never trust frontend user IDs
Isolate user data properly (no cross-access)
Lock down your database (rules, roles, access limits)
Secure Firebase / Supabase / storage buckets
Protect admin routes (role-based access control)
Disable production debug mode
Hide detailed error messages in production
Validate inputs server-side
Sanitize all user-generated content
Secure file uploads (type, size, storage rules)
Prevent SQL & NoSQL injection
Rate-limit login & signup endpoints
Check Git history for leaked secrets
Add security headers (CSP, HSTS, etc.)
Restrict CORS properly
Test your app as an untrusted user
โ ๏ธ Most leaks come from skipping just ONE of these.
โ๏ธ Core Web Essentials
Privacy Policy page
Terms & Conditions page
Remove all frontend secrets
Enforce HTTPS (SSL everywhere)
Cookie consent banner (if tracking)
Analytics setup (basic tracking ready)
UX, SEO & Performance
Meta titles & descriptions (every page)
Social preview image (Open Graph)
Favicon
Sitemap.xml + robots.txt
Image alt text (accessibility + SEO)
Compress images (WebP/AVIF preferred)
Page load speed check (Lighthouse)
Fix color contrast issues
Ensure mobile responsiveness
Create a custom 404 page
Fix all broken links
Add proper form validation (UX + security)
Add spam protection (CAPTCHA, honeypots)
One clear primary CTA (no confusion)
RIGHT BEFORE YOU HIT โDEPLOYโ
Test all critical flows (signup, login, payments)
Try breaking your own app intentionally
Test slow internet conditions
Open in different browsers (Chrome, Firefox, Safari)
Test on real mobile devices (not just DevTools)
Check console for hidden errors
Remove unused code & assets
Double-check environment variables
Confirm production database is correct
Make sure emails/notifications actually send
AFTER YOU LAUNCH (Most People Stop Hereโฆ Donโt)
๐
Tracking & Visibility
Connect Google Search Console
โ Monitor indexing, search performance, errors
Set up Google Analytics
โ Understand real user behavior
(Optional) Set up Google Business Profile
โ Especially for local visibility
Performance & Real-World Testing
Compress & optimize images again (based on real usage)๏ปฟ
Test on real phones (different sizes & speeds)
Monitor Core Web Vitals (LCP, CLS, INP)
Fix issues users actually experience
๐ก๏ธ Stability & Safety
Set up automated backups (database + files)
Monitor uptime (basic alerts)
Log errors (donโt rely on console logs)
30 SIGNS YOUR SITE LOOKS โVIBE-CODEDโ (Be Honest)
1.arsh gradients everywhere
2.Purple + black default combo
3.Random rainbow colors
4.Pure white background with no depth
5.Too many drop shadows
6.โ3 feature cards in a rowโ layout
7.Emojis used as design
8.Liquid glass everywhere
9.Overused fonts (Inter / Geist / Space Grotesk)
10.Colored left border sections
11.Fake testimonials
12.Bento grid for no reason
13.Fake terminal UI
14.โItโs not X, itโs Yโ copywriting
15.Checkmark bullet lists everywhere
16.3 pricing tiers (Starter / Pro / Enterprise ๐ญ)
17.No real product demo
18.Soft rounded corners on everything
19.No skeleton loaders (just blank loading)
20.Floating radial blobs/orbs
21.Dot grid backgrounds
22.Sparkle icons โจ
24.Animated arrows everywhere
24.Neon colors for no reason
25.Basic pastel gradients
26.Hover animations on EVERYTHING
27.No Terms or Privacy pages
28.Generic hero section
29.No real brand identity
30.Looks like 100 other SaaS site
FINAL REMINDER
Launching isnโt the finish line.
Itโs the moment your app meets reality.
๐ Users donโt care how fast you shipped.
๐ They care if it works, feels real, and can be trusted.
Ship. But ship like a professional.
@CTBEsoftwareengineers
โค7