"The 17 Rules of Software Engineering – Every Developer Should Know"
These principles capture the essence of what makes great software engineering practices timeless.
✅ Stop falling in love with your own code.
✅ You will regret complexity when on-call.
✅ Everything is a trade-off. There's no 'best.'
As someone who's spent years in software development, from optimizing Angular applications to architecting large-scale systems, these rules are a reminder of the lessons hard-learned in the trenches:
- Every line of code is a liability: Less is more.
- Document your decisions: The best code can’t fix poor communication.
- Ship early, iterate often: The faster you learn, the better the outcome.
Software engineering is not just about writing code—it's about building resilient systems, fostering collaboration, and thinking long-term. These 17 rules are a checklist every developer, junior or senior, should internalize.
What’s the one rule here that resonates the most with your experience?
These principles capture the essence of what makes great software engineering practices timeless.
✅ Stop falling in love with your own code.
✅ You will regret complexity when on-call.
✅ Everything is a trade-off. There's no 'best.'
As someone who's spent years in software development, from optimizing Angular applications to architecting large-scale systems, these rules are a reminder of the lessons hard-learned in the trenches:
- Every line of code is a liability: Less is more.
- Document your decisions: The best code can’t fix poor communication.
- Ship early, iterate often: The faster you learn, the better the outcome.
Software engineering is not just about writing code—it's about building resilient systems, fostering collaboration, and thinking long-term. These 17 rules are a checklist every developer, junior or senior, should internalize.
What’s the one rule here that resonates the most with your experience?
Don't hire developers just because their GitHub profiles are filled with green dots.
Some of the most talented developers I know aren't even on GitHub or shared private dots.
They focus on building closed-source applications on platforms like GitLab.
Git activity reflects quantity over quality.
Instead, evaluate developers based on the value they contribute to a project, not just how frequently they commit.
#git #github #gitlab #commits
@Memoirs_of_a_ngxSamurai
Some of the most talented developers I know aren't even on GitHub or shared private dots.
They focus on building closed-source applications on platforms like GitLab.
Git activity reflects quantity over quality.
Instead, evaluate developers based on the value they contribute to a project, not just how frequently they commit.
#git #github #gitlab #commits
@Memoirs_of_a_ngxSamurai
#angular
Do you usually add the required attribute to native input elements when using reactive forms?
The Angular official docs recommend doing so for #a11y purposes
https://angular.dev/guide/forms/form-validation#built-in-validator-functions
#forms #rf
Do you usually add the required attribute to native input elements when using reactive forms?
The Angular official docs recommend doing so for #a11y purposes
https://angular.dev/guide/forms/form-validation#built-in-validator-functions
"...the required attribute is still present in the template. Although it's not necessary for validation, it should be retained for accessibility purposes. "
#forms #rf
TS Trick‼️
Have you ever forgotten to handle a new case in a union type?
Enter exhaustive checks - a TS feature that ensures every possibility in a union is accounted for. By leveraging the never type, you force TS to throw a compile-time error whenever you miss a scenario, saving you from sneaky runtime issues and costly debugging✅
What Are Exhaustive Checks?
Exhaustive checks guarantee you cover all possible variants (cases) of a union type. If a new variant is introduced to the type - but isn’t handled in your code - TS raises a type error. This approach prevents silent omissions, enables confident refactoring, and promotes code clarity👏
Why Use the never Type?
1️⃣ Robustness: Catch missing branches at build time, long before they can do damage in production.
2️⃣ Maintainability: When your union type evolves, all reliant code must be updated - no guesswork, no headaches.
3️⃣ Early Warning System: TS will alert you if you haven’t entirely handled a union, so you’ll never deploy half-baked solutions.
Have you ever forgotten to handle a new case in a union type?
Enter exhaustive checks - a TS feature that ensures every possibility in a union is accounted for. By leveraging the never type, you force TS to throw a compile-time error whenever you miss a scenario, saving you from sneaky runtime issues and costly debugging✅
What Are Exhaustive Checks?
Exhaustive checks guarantee you cover all possible variants (cases) of a union type. If a new variant is introduced to the type - but isn’t handled in your code - TS raises a type error. This approach prevents silent omissions, enables confident refactoring, and promotes code clarity👏
Why Use the never Type?
1️⃣ Robustness: Catch missing branches at build time, long before they can do damage in production.
2️⃣ Maintainability: When your union type evolves, all reliant code must be updated - no guesswork, no headaches.
3️⃣ Early Warning System: TS will alert you if you haven’t entirely handled a union, so you’ll never deploy half-baked solutions.
It was released @jscutlery/swc-angular package and its internal Rust plugin to support #Angular v19 and @swc/core v1.10.x.
Try it out to speed up your tests!
👉 https://github.com/jscutlery/devkit
#ng19 #jest #tests #swc
Try it out to speed up your tests!
👉 https://github.com/jscutlery/devkit
#ng19 #jest #tests #swc
📣 Angular in 2025
Minko just shared a blog post about the strategy for Angular in 2025!
https://blog.angular.dev/angular-2025-strategy-9ca333dfc334
Minko just shared a blog post about the strategy for Angular in 2025!
We'll continue bringing innovation to the Web by improving developer experience.
This year expect:
‣ Zoneless in developer preview
‣ Signal forms
‣ RFC for selectorless
‣ Replacement for Karma
‣ Much more!
https://blog.angular.dev/angular-2025-strategy-9ca333dfc334
❌ Creating a typenoscript-eslint Plugin
Stefan wrote an article about creating a custom #ESLint rule for signals, for example!
🍿 https://stefanhaas.dev/blog/typenoscript-eslint
Stefan wrote an article about creating a custom #ESLint rule for signals, for example!
🍿 https://stefanhaas.dev/blog/typenoscript-eslint
WHUT THE HELL?! )
That is interesting: The upcoming revised #Angular style guide will recommend adding an ng suffix to filenames.
So, for example:
• home.component.ng.html or home.component.ng.ts,
• or even just home.ng.ts and home.ng.html.
The idea is to better support external tooling so they can detect that a file is Angular-specific just by looking at the filename.
Honestly speaking, I didn’t see that one coming. 👀
https://github.com/angular/angular/discussions/59522
That is interesting: The upcoming revised #Angular style guide will recommend adding an ng suffix to filenames.
So, for example:
• home.component.ng.html or home.component.ng.ts,
• or even just home.ng.ts and home.ng.html.
The idea is to better support external tooling so they can detect that a file is Angular-specific just by looking at the filename.
Honestly speaking, I didn’t see that one coming. 👀
https://github.com/angular/angular/discussions/59522
GitHub
[Summary] RFC: An updated style guide for the year 2025 · angular angular · Discussion #59522
Thanks everyone for your feedback on the style guide RFC! Overall, reception to revising the style guide has been very positive. The change that generated the most feedback (unsurprisingly) was the...
😁1
Good Luck Mark!
https://www.businessinsider.com/mark-zuckerberg-meta-ai-replace-engineers-coders-joe-rogan-podcast-2025-1
Hey, come to us if you need a job!!! )
PS:only german b2-c1 )
https://www.businessinsider.com/mark-zuckerberg-meta-ai-replace-engineers-coders-joe-rogan-podcast-2025-1
Hey, come to us if you need a job!!! )
PS:
❤4
Angular Munich
WHUT THE HELL?! ) That is interesting: The upcoming revised #Angular style guide will recommend adding an ng suffix to filenames. So, for example: • home.component.ng.html or home.component.ng.ts, • or even just home.ng.ts and home.ng.html. The idea is…
Horrible - Terrible - Unlackely - BOOOORING! WHYYYYYYYYYY?!?!?!?!?!
Cut the "*.service.ts" in favor of "*.ng.ts".
WHY? How I can manage by import? Import MyHero as Component or MyHero as a Service? or MyHero as Directive/etc...?
Then we need definitely a new Guidelines for folder structures?! Or? I think so...
Yes or No?
Cut the "*.service.ts" in favor of "*.ng.ts".
WHY? How I can manage by import? Import MyHero as Component or MyHero as a Service? or MyHero as Directive/etc...?
Then we need definitely a new Guidelines for folder structures?! Or? I think so...
Yes or No?
🤯3
Angular 19 introduces instant HMR, allowing styles and templates to be updated without reloading the entire app. This means that developers can see the effect of their changes immediately, making the development cycle much smoother and faster. Hot module replacement for styles is enabled by default in v19!
To try HMR for templates use:
NG_HMR_TEMPLATES=1 ng serve
To disable this feature specify
"hmr": false as a development server option, or alternatively use:ng serve --no-hmr
👆🏻 pfffff...
it's work terrible, horrible, AWFUL!
Just disable that... Please...
#ng19_1_1
Found something interesting...
CV+Letter or not CV+Letter, that the question...
And if Yes, then follow this recommendations... However in the comments there are more points with dos and don'ts
Link
CV+Letter or not CV+Letter, that the question...
And if Yes, then follow this recommendations... However in the comments there are more points with dos and don'ts
> a candidate doesn’t always have the expertise to do it because they are experts in the job they do, not experts in CV or letter writing.
Link
This media is not supported in your browser
VIEW IN TELEGRAM
Let’s go to the angular expert training! 🚅🚋🚋🚋🚋🚋🚋🚨
🔥1