1. Coding is just the cover. Software Engineering is building the skyscraper
πAI is getting incredibly good at coding (writing lines of syntax). But coding is not software engineering.
AI cannot talk to a frustrated client, understand their messy human emotions, figure out what they actually need (because clients never know what they want), and design a system to solve it. It doesn't understand business strategy, user empathy, or organizational politics. The syntax is automated; the problem-solving is yours.
2. If everyone can code, the "Ideas & Execution" person rules the world
Think about this as an entrepreneur: If AI makes coding "free," then code is no longer a moat. A billion-dollar company can't stop you just because they have 10,000 engineers. If you have a brilliant idea, a deep understanding of a specific industry's pain points, and the drive to execute, AI becomes your free, infinite workforce.
Instead of being a tiny cog in someone else's tech company, you are now the conductor of an AI orchestra. But to conduct the orchestra, you still need to know how music works. You need that engineering foundation to guide the AI effectively.
3. The "Last Mile" Problem (Why AI needs you)
Projects like ArtCraft prove exactly why humans are safe. An AI can generate 90% of a massive codebase in an hour. But that last 10%? Itβs filled with weird, hallucinated bugs, security vulnerabilities, and architectural nightmares.
AI cannot fix its own deep architectural flaws yet because it doesn't "think" it predicts the next token. The world is going to need a massive wave of AI-fluent human engineers to step in, debug, refine, and deploy this massive wave of AI-generated software.
4. You are entering at the absolute baseline
Imagine trying to learn software engineering in the 1970s, punching holes into physical cards and waiting days to see if your code worked. Every generation of tech gets higher-level abstractions.
You don't have to struggle through the old, tedious ways of learning. You get to learn with AI as your personal, 24/7 tutor. You can learn concepts 10x faster than engineers did five years ago. You aren't falling behind; you are being handed the most powerful educational tool in human history.
The Real Danger
The only way you get "cooked" is if you quit. If you quit, you miss the boat entirely. If you keep going, you become part of the top tier of builders who know how to command these models to build the future.
Take a deep breath. The tools are changing, but the world will always need builders !
@CTBEsoftwareengineers
π8β€3π₯1
Programming is clear thinking, not memorizing syntax or chasing trends.
Avoid the classic beginner trap of obsessing over boilerplate and language quirks. Instead, focus on what actually lasts:
β’ Breaking complex problems into simple, atomic steps
β’ Designing clean, predictable data flow
β’ Catching edge cases before they catch you
Frameworks come and go, but core logic and algorithms never change.
Once your mental blueprint is clear, the implementation is the easiest part. Master the fundamentalsthe code will follow effortlessly.
Avoid the classic beginner trap of obsessing over boilerplate and language quirks. Instead, focus on what actually lasts:
β’ Breaking complex problems into simple, atomic steps
β’ Designing clean, predictable data flow
β’ Catching edge cases before they catch you
Frameworks come and go, but core logic and algorithms never change.
Once your mental blueprint is clear, the implementation is the easiest part. Master the fundamentalsthe code will follow effortlessly.
β€4
AAU Software Engineering community
Programming is clear thinking, not memorizing syntax or chasing trends. Avoid the classic beginner trap of obsessing over boilerplate and language quirks. Instead, focus on what actually lasts: β’ Breaking complex problems into simple, atomic steps β’ Designingβ¦
A real example of this that hit me recently:
I was building a voice feature using Expo Audio, and no matter what I did, the recorded audio sounded terrible. Muffled, quiet, unusable.
Instead of stepping back to understand how the audio pipeline actually worked, I started treating symptoms: β’ Tweaked random recording presets and audio modes
β’ Added aggressive volume boosts
β’ Built an entire backend server dedicated to noise suppression and audio cleanup
Hours of work. Still sounded awful.
The root cause?
I had let AI scaffold the initial audio config, and it silently added unnecessary low-level flags that throttled sample rates and audio modes that were completely fine by default.
I finally stopped patching over the mess, closed the extra backend, and actually read the core Expo Audio docs.
I stripped out the clutter and implemented the native config myself from first principles.
The result: Crystal-clear audio, zero external processing servers needed, and 70% less code.
When you donβt fully grasp the underlying tool, you fix bad assumptions by adding more complexity. Master the fundamentals, understand what each line actually does, and the simplest solution usually wins.
I was building a voice feature using Expo Audio, and no matter what I did, the recorded audio sounded terrible. Muffled, quiet, unusable.
Instead of stepping back to understand how the audio pipeline actually worked, I started treating symptoms: β’ Tweaked random recording presets and audio modes
β’ Added aggressive volume boosts
β’ Built an entire backend server dedicated to noise suppression and audio cleanup
Hours of work. Still sounded awful.
The root cause?
I had let AI scaffold the initial audio config, and it silently added unnecessary low-level flags that throttled sample rates and audio modes that were completely fine by default.
I finally stopped patching over the mess, closed the extra backend, and actually read the core Expo Audio docs.
I stripped out the clutter and implemented the native config myself from first principles.
The result: Crystal-clear audio, zero external processing servers needed, and 70% less code.
When you donβt fully grasp the underlying tool, you fix bad assumptions by adding more complexity. Master the fundamentals, understand what each line actually does, and the simplest solution usually wins.
β€6
Developing a Local Wispr Flow Alternative Using a 16.9 MB Model
For individuals seeking immediate desktop voice-to-text conversion with no API expenses and complete offline privacy, Whistle by Cactus Compute facilitates execution on pure CPU architecture:
β’ Minimal Resource Footprint: 16.9 MB model size
β’ High Performance: Approximately 11 ms time-to-first-token
β’ Multilingual Support: Seven languages supported
β’ GPU Independence: Operates directly on the CPU
π Implementation in three steps:
Global Hotkey and Microphone: Assign a push-to-talk key (for example, holding
Immediate Local Speech-to-Text: Transmit the audio segment to the local Whistle engine immediately upon releasing the key.
Active Window Input: Insert the resulting text directly into the currently focused text field using OS-level keystroke emulation methods such as
This solution ensures complete privacy, eliminates network latency, and requires minimal RAM. It serves as an efficient project for enhancing daily typing productivity. π
For individuals seeking immediate desktop voice-to-text conversion with no API expenses and complete offline privacy, Whistle by Cactus Compute facilitates execution on pure CPU architecture:
β’ Minimal Resource Footprint: 16.9 MB model size
β’ High Performance: Approximately 11 ms time-to-first-token
β’ Multilingual Support: Seven languages supported
β’ GPU Independence: Operates directly on the CPU
π Implementation in three steps:
Global Hotkey and Microphone: Assign a push-to-talk key (for example, holding
Ctrl + Space) to record audio via a lightweight background script utilizing pynput and sounddevice.Immediate Local Speech-to-Text: Transmit the audio segment to the local Whistle engine immediately upon releasing the key.
Active Window Input: Insert the resulting text directly into the currently focused text field using OS-level keystroke emulation methods such as
xdotool, ydotool, or Windows SendInput APIs.This solution ensures complete privacy, eliminates network latency, and requires minimal RAM. It serves as an efficient project for enhancing daily typing productivity. π
β€3π1
βDev3Pack Hackathon 2026
Build on Solana with students around the world, 27β29 November 2026. Join online or at the Addis Ababa Build Station to collaborate, get support, and bring your ideas to life.
Learn Solana and Rust through the bootcamp starting 2 November. Top teams can continue with the Bridge Accelerator from 7 December.
Compete for prizes including $10,000+ for the best Solana app, $500 local-track prizes, Seeker Phones, and $2,500+ in student perks.
register here and Participate!
@CTBEsoftwareengineers
Build on Solana with students around the world, 27β29 November 2026. Join online or at the Addis Ababa Build Station to collaborate, get support, and bring your ideas to life.
Learn Solana and Rust through the bootcamp starting 2 November. Top teams can continue with the Bridge Accelerator from 7 December.
Compete for prizes including $10,000+ for the best Solana app, $500 local-track prizes, Seeker Phones, and $2,500+ in student perks.
register here and Participate!
@CTBEsoftwareengineers
app.dev3pack.xyz
Build Station in Addis Ababa
We are hosting a Build Station in Addis Ababa for the largest Solana university hackathon, in collaboration with Dev3pack.
β€4
Hungry enough to build
β‘οΈ Here is our Friday's weekly article. If you want to build a startup as a software engineer and student, you should read this.
@CTBEsoftwareengineers
@CTBEsoftwareengineers
Please open Telegram to view this post
VIEW IN TELEGRAM
β€7π₯4
This media is not supported in your browser
VIEW IN TELEGRAM
This AI skill explains code by building it as a machine. π§
Meet Anatomy, a free, open-source skill for Claude Code, also compatible with OpenCode, Codex, and Antigravity.
Ask it to explain a hard concept, and instead of a wall of text, it builds an interactive illustration of a machine that works like the concept. A rate limiter becomes a token bucket machine. A cache becomes a lock that only opens when every pin matches.
You can hover to take it apart and watch the numbers change live.
It already passed 19,000 stars on GitHub in about two weeks.
Source: github.com/wheresryan22/anatomy
Meet Anatomy, a free, open-source skill for Claude Code, also compatible with OpenCode, Codex, and Antigravity.
Ask it to explain a hard concept, and instead of a wall of text, it builds an interactive illustration of a machine that works like the concept. A rate limiter becomes a token bucket machine. A cache becomes a lock that only opens when every pin matches.
You can hover to take it apart and watch the numbers change live.
It already passed 19,000 stars on GitHub in about two weeks.
Source: github.com/wheresryan22/anatomy
π3β€2
HTTP status codes in plain English π
Every time your browser or app talks to a server, the server answers with a 3-digit code. Read it before you blame your code.
200 - OK, it worked
201 - Created, your POST made something new
400 - Bad request, your request was malformed
401 - Unauthorized, you need to log in
403 - Forbidden, logged in but not allowed
404 - Not found, that page or resource doesn't exist
500 - Server error, the backend broke
Next time a page fails, check the code first. It tells you where to look. π
Every time your browser or app talks to a server, the server answers with a 3-digit code. Read it before you blame your code.
200 - OK, it worked
201 - Created, your POST made something new
400 - Bad request, your request was malformed
401 - Unauthorized, you need to log in
403 - Forbidden, logged in but not allowed
404 - Not found, that page or resource doesn't exist
500 - Server error, the backend broke
Next time a page fails, check the code first. It tells you where to look. π
β€5
βοΈ THE DEVELOPER'S COURT IS NOW IN SESSION.
Today's defendant:
"If it works, don't touch it."
The prosecution argues that this mindset creates technical debt.
The defense argues that nobody has time to rewrite working code just because the developer had a sudden spiritual awakening. π
π¨ββοΈ JURY, WHAT'S YOUR VERDICT?
π’ INNOCENT β ship it.
π΄ GUILTY β clean up your code.
π‘ IT DEPENDS β context is king.
Drop your verdict and defend your position in the comments.
Objection? Make it technical. π¨βπ»
Today's defendant:
"If it works, don't touch it."
The prosecution argues that this mindset creates technical debt.
The defense argues that nobody has time to rewrite working code just because the developer had a sudden spiritual awakening. π
π¨ββοΈ JURY, WHAT'S YOUR VERDICT?
π’ INNOCENT β ship it.
π΄ GUILTY β clean up your code.
π‘ IT DEPENDS β context is king.
Drop your verdict and defend your position in the comments.
Objection? Make it technical. π¨βπ»
πΎ5β€3
What is an API, really?
Think about sending money using a banking app.
You open the app, enter someoneβs account number, and send 500 birr.
But your phone doesnβt have direct access to the bankβs database. It canβt just reach in and change your balance.
Instead, your app sends a request to the bankβs system through an API.
The bank checks the request, processes the transfer, and sends a response back to your app.
Request: βSend 500 birr to this account.β
Endpoint: The specific address your app sends that request to.
Response: βTransfer successfulβ β or βInsufficient balance.β
Thatβs an API. It lets two different software systems communicate without either one needing direct access to the otherβs internal workings.
And this happens every time you log in with Google, check the weather, or pay online.
An API is how software asks other software to do something.
Think about sending money using a banking app.
You open the app, enter someoneβs account number, and send 500 birr.
But your phone doesnβt have direct access to the bankβs database. It canβt just reach in and change your balance.
Instead, your app sends a request to the bankβs system through an API.
The bank checks the request, processes the transfer, and sends a response back to your app.
Request: βSend 500 birr to this account.β
Endpoint: The specific address your app sends that request to.
Response: βTransfer successfulβ β or βInsufficient balance.β
Thatβs an API. It lets two different software systems communicate without either one needing direct access to the otherβs internal workings.
And this happens every time you log in with Google, check the weather, or pay online.
An API is how software asks other software to do something.
β€12
CI/CD is a set of automated practices that help teams build, test, and release software safely and quickly.
CI (Continuous Integration) means every time a developer pushes code or opens a pull request, an automated system checks that the code builds and passes tests.
CD (Continuous Delivery/Deployment) means code that passes those checks can be automatically prepared for release or deployed to an environment like staging or production.
Here is how it works in practice:
you create a small config file, usually a .yml file (for example, .github/workflows/ci.yml for GitHub Actions), and inside it you define when the pipeline should run and which commands it should execute, such as
npm ci,
npm run lint,
npm test,
and npm run build. You can set it to run on pull requests, for example with on: pull_request, so when a developer creates or updates a PR, the CI system automatically starts a machine, installs dependencies, and runs those lint/test/build commands.
The PR then shows a green check if everything passes or a red X if something fails.
This helps because problems are caught early before merging, every PR gets the same checks instead of relying on people to remember, reviewers save time, and the main branch stays safer and more stable. After merge, CD can continue the same idea by automatically deploying the app to staging or production.
@CTBEsoftwareengineers
CI (Continuous Integration) means every time a developer pushes code or opens a pull request, an automated system checks that the code builds and passes tests.
CD (Continuous Delivery/Deployment) means code that passes those checks can be automatically prepared for release or deployed to an environment like staging or production.
Here is how it works in practice:
you create a small config file, usually a .yml file (for example, .github/workflows/ci.yml for GitHub Actions), and inside it you define when the pipeline should run and which commands it should execute, such as
npm ci,
npm run lint,
npm test,
and npm run build. You can set it to run on pull requests, for example with on: pull_request, so when a developer creates or updates a PR, the CI system automatically starts a machine, installs dependencies, and runs those lint/test/build commands.
The PR then shows a green check if everything passes or a red X if something fails.
This helps because problems are caught early before merging, every PR gets the same checks instead of relying on people to remember, reviewers save time, and the main branch stays safer and more stable. After merge, CD can continue the same idea by automatically deploying the app to staging or production.
@CTBEsoftwareengineers
β€1
Your past is not your future.
Past: I wasted months learning without building anything.
Future: What if I spend another year and still fail?
Present: You become overwhelmed and avoid the very work that could help you improve.
Your mind gets trapped between two things you cannot change directly: yesterday and tomorrow.
Use the past to learn. Use the future to set direction. Then bring your attention back to what you can do today.
Ask yourself:
What did the past teach me?
What am I working toward?
What is the next action I can take right now?
@CTBEsoftwareengineers
Past: I wasted months learning without building anything.
Future: What if I spend another year and still fail?
Present: You become overwhelmed and avoid the very work that could help you improve.
Your mind gets trapped between two things you cannot change directly: yesterday and tomorrow.
Use the past to learn. Use the future to set direction. Then bring your attention back to what you can do today.
Ask yourself:
What did the past teach me?
What am I working toward?
What is the next action I can take right now?
Your future is shaped by what you repeatedly do in the present, not by how vividly you imagine tomorrow.
@CTBEsoftwareengineers
β€9π₯4
Media is too big
VIEW IN TELEGRAM
π5π¨βπ»2
AAU Software Engineering community
Video
It was not that long ago that we were saying, "AI is just a tool"ππ I dont think we're too far from a future where AI starts using us as a tool
π6
π THE SOFTWARE ENGINEERING STARTER PACK
Imagine a first-year student just joined our community.
You can recommend ONLY ONE resource that genuinely helped you become a better developer.
It can be:
π A book
π₯ A YouTube channel
π» A website
π οΈ A tool
π§ A course
π A documentation page
Comment with:
Resource:
Best for:
Why you'd recommend it:
No recommending something just because it's popular. Tell us what actually helped YOU.
Let's build a resource list worth saving. π Don't be shy...
Imagine a first-year student just joined our community.
You can recommend ONLY ONE resource that genuinely helped you become a better developer.
It can be:
π A book
π₯ A YouTube channel
π» A website
π οΈ A tool
π§ A course
π A documentation page
Comment with:
Resource:
Best for:
Why you'd recommend it:
No recommending something just because it's popular. Tell us what actually helped YOU.
Let's build a resource list worth saving. π Don't be shy...
β€5
β¨Our Weekly Article is Ready. Read, Learn, Relateβ¨
The Best Code I Ever Wrote Was the Code I Deleted
Read Here
@CTBEsoftwareengineers
The Best Code I Ever Wrote Was the Code I Deleted
Last week I opened a pull request with 1,900 lines removed and 40 lines added. My reviewer left one comment: βAre you sure?β
I wasnβt. I clicked merge anyway. Nothing broke. The app got faster, the build time dropped, and I felt better than I had after any feature I shipped this year. Thatβs when I understood something that no tutorial says out loud ....
Read Here
@CTBEsoftwareengineers
β€5π₯2
Why do agent skills matter so much when using coding agents?
Left unconstrained, coding agents act like over-eager interns.
You ask for a simple feature.
They generate three unnecessary wrapper files.
They install redundant npm packages.
They overcomplicate your entire codebase.
Skills fix this by injecting plug-and-play discipline directly into the agent's workflow.
My favorite skill right now is Ponytail.
It stops the agent from jumping straight into writing custom code.
Instead, it forces the AI through a strict decision ladder first.
It checks if the feature is actually needed.
It reuses existing repository components.
It leverages standard libraries and native browser APIs before adding anything new.
It is ridiculously powerful, and that saved me a lot of wasted tokens, bloated git diffs, and hours spent unwinding bad abstractions.
Don't run your coding agents raw.
Give them the discipline of a veteran senior dev.
Check out the GitHub repo here:https://github.com/DietrichGebert/ponytail
Left unconstrained, coding agents act like over-eager interns.
You ask for a simple feature.
They generate three unnecessary wrapper files.
They install redundant npm packages.
They overcomplicate your entire codebase.
Skills fix this by injecting plug-and-play discipline directly into the agent's workflow.
My favorite skill right now is Ponytail.
It stops the agent from jumping straight into writing custom code.
Instead, it forces the AI through a strict decision ladder first.
It checks if the feature is actually needed.
It reuses existing repository components.
It leverages standard libraries and native browser APIs before adding anything new.
It is ridiculously powerful, and that saved me a lot of wasted tokens, bloated git diffs, and hours spent unwinding bad abstractions.
Don't run your coding agents raw.
Give them the discipline of a veteran senior dev.
Check out the GitHub repo here:https://github.com/DietrichGebert/ponytail
GitHub
GitHub - DietrichGebert/ponytail: Makes your AI agent think like the laziest senior dev in the room. The best code is the codeβ¦
Makes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote. - DietrichGebert/ponytail
β€2π₯2
Tech newses this weekπ₯
1. AI agents are now real contributors to codebases
GitHub reports that AI agents now start more than 40% of pull requests. For engineers, this means the job is shifting from writing every line to reviewing, testing, and guiding AI-generated code. Strong code review and system design skills are becoming more valuable, not less.
2. Big Tech is cutting staff while spending on AI
Microsoft has been pushing to reduce headcount, raising concerns that critical systems become risky when departing employees take specialized, undocumented knowledge with them. Lesson for engineers: document your work, and become the person who understands systems end to end.
3. Markets want results, not hype
The Nasdaq 100 was on track to lose over $1 trillion on Friday after weak results from Amazon and Intel, with Intel dropping about 30% on a poor outlook. Meanwhile, Meta plans to raise up to $95B to fund AI. Money is still flowing into AI, but companies must now show real value, so engineers who can ship practical, cost-efficient solutions stand out.
4. Security is a top priority
Researchers confirmed attackers can execute commands on vulnerable PHP servers after two critical flaws were disclosed, and new cyber campaigns are targeting AI agents themselves. If you build with PHP or AI agents, patch quickly and learn secure coding basics.
5. Standards for AI agents are emerging
Sierra and Meta published the Personal Agent Protocol, an open OAuth-based standard that lets a userβs AI agent authenticate with businesses. Worth reading if you want to build agent-based products.
Hot takeπ© :
Learn the fundamentals deeply (data structures, systems, networking, security), use AI tools daily but understand what they produce, and build real projects you can show. AI is changing how code gets written, but engineers who can think, verify, and design will stay in demand.
#SoftwareEngineering #AI #Tech
@CTBEsoftwareengineers
1. AI agents are now real contributors to codebases
GitHub reports that AI agents now start more than 40% of pull requests. For engineers, this means the job is shifting from writing every line to reviewing, testing, and guiding AI-generated code. Strong code review and system design skills are becoming more valuable, not less.
2. Big Tech is cutting staff while spending on AI
Microsoft has been pushing to reduce headcount, raising concerns that critical systems become risky when departing employees take specialized, undocumented knowledge with them. Lesson for engineers: document your work, and become the person who understands systems end to end.
3. Markets want results, not hype
The Nasdaq 100 was on track to lose over $1 trillion on Friday after weak results from Amazon and Intel, with Intel dropping about 30% on a poor outlook. Meanwhile, Meta plans to raise up to $95B to fund AI. Money is still flowing into AI, but companies must now show real value, so engineers who can ship practical, cost-efficient solutions stand out.
4. Security is a top priority
Researchers confirmed attackers can execute commands on vulnerable PHP servers after two critical flaws were disclosed, and new cyber campaigns are targeting AI agents themselves. If you build with PHP or AI agents, patch quickly and learn secure coding basics.
5. Standards for AI agents are emerging
Sierra and Meta published the Personal Agent Protocol, an open OAuth-based standard that lets a userβs AI agent authenticate with businesses. Worth reading if you want to build agent-based products.
Hot take
Learn the fundamentals deeply (data structures, systems, networking, security), use AI tools daily but understand what they produce, and build real projects you can show. AI is changing how code gets written, but engineers who can think, verify, and design will stay in demand.
#SoftwareEngineering #AI #Tech
@CTBEsoftwareengineers
Please open Telegram to view this post
VIEW IN TELEGRAM
β€7π2π₯1