---
title: "software-engineering"
author: "Mohammad Abu Mattar"
canonical: https://mkabumattar.com/blog/categories/software-engineering
---

[Home](/)›[All Posts](/blog)›[All Categories](/blog/categories)›[Software engineering](/blog/categories/software-engineering)

Category

# software-engineering

10Articles

[![AI is Not Real: A Software Engineering Perspective](/_astro/hero.zLRxEs_v_7tKSA.webp)](/blog/post/ai-is-not-real)

## [AI is Not Real: A Software Engineering Perspective](/blog/post/ai-is-not-real)

-   [Mohammad Abu Mattar](/authors/mohammad-abu-mattar)
-   [Artificial Intelligence](/blog/categories/artificial-intelligence)
-   [Software Engineering](/blog/categories/software-engineering)
-   [Machine Learning](/blog/categories/machine-learning)
-   [Technology Ethics](/blog/categories/technology-ethics)
-   Published: 28 May, 2024
-   Updated: 30 May, 2026

We have all seen the wave of hype around artificial intelligence. It is everywhere, from tech conferences to science fiction scripts. As software engineers, though, we need to look past the marketing

[#AI Limitations](/blog/tags/ai-limitations)[#Large Language Models](/blog/tags/large-language-models)[#Machine Learning](/blog/tags/machine-learning)+5 tags

[read more](/blog/post/ai-is-not-real)

[![Microsoft’s Prompt Orchestration Markup Language (POML): Structuring the Future of AI Interaction](/_astro/hero.ByJZRKLq_ZU3pnd.webp)](/blog/post/microsoft-poml-orchestrating-ai-prompts-for-llms)

## [Microsoft’s Prompt Orchestration Markup Language (POML): Structuring the Future of AI Interaction](/blog/post/microsoft-poml-orchestrating-ai-prompts-for-llms)

-   [Mohammad Abu Mattar](/authors/mohammad-abu-mattar)
-   [AI & Machine Learning](/blog/categories/ai--machine-learning)
-   [Developer Tools](/blog/categories/developer-tools)
-   [Software Engineering](/blog/categories/software-engineering)
-   Published: 20 Aug, 2025

Introduction: What is Microsoft's POML and Why Does it Matter for AI? Large Language Models, or LLMs, are changing fast, and they're becoming super important for all sorts of complex applications.

[#Microsoft](/blog/tags/microsoft)[#POML](/blog/tags/poml)[#Prompt Engineering](/blog/tags/prompt-engineering)+9 tags

[read more](/blog/post/microsoft-poml-orchestrating-ai-prompts-for-llms)

[![Why You Should Not Use Else Statements in Your Code](/_astro/hero.BtqcHltO_2kocMc.webp)](/blog/post/why-you-should-not-use-else-statements)

## [Why You Should Not Use Else Statements in Your Code](/blog/post/why-you-should-not-use-else-statements)

-   [Mohammad Abu Mattar](/authors/mohammad-abu-mattar)
-   [Software Engineering](/blog/categories/software-engineering)
-   [Programming Best Practices](/blog/categories/programming-best-practices)
-   [Code Quality](/blog/categories/code-quality)
-   [Refactoring](/blog/categories/refactoring)
-   Published: 24 May, 2024

In software engineering, how you structure your code can significantly impact its readability, maintainability, and overall quality. One often-debated topic is the use of else statements. While they s

[#Guard Clauses](/blog/tags/guard-clauses)[#Else Statements](/blog/tags/else-statements)[#Clean Code](/blog/tags/clean-code)+6 tags

[read more](/blog/post/why-you-should-not-use-else-statements)

[![How to Avoid Over-Engineering Your Code?](/_astro/hero.BBuBduRe_ZMrw4V.webp)](/blog/post/how-to-avoid-over-engineering-your-code)

## [How to Avoid Over-Engineering Your Code?](/blog/post/how-to-avoid-over-engineering-your-code)

-   [Mohammad Abu Mattar](/authors/mohammad-abu-mattar)
-   [Software Engineering](/blog/categories/software-engineering)
-   [Programming Best Practices](/blog/categories/programming-best-practices)
-   [Code Quality](/blog/categories/code-quality)
-   [Project Management](/blog/categories/project-management)
-   Published: 22 May, 2024

In software development, over-engineering is a typical mistake that can result in more complexity, longer development periods, and superfluous functionality. This blog article discusses how to avoid o

[#Over Engineering](/blog/tags/over-engineering)[#Software Development](/blog/tags/software-development)[#Clean Code](/blog/tags/clean-code)+6 tags

[read more](/blog/post/how-to-avoid-over-engineering-your-code)

[![Software Engineering Principles Every Developer Should Know](/_astro/hero.D6DACa0__Z5aYys.webp)](/blog/post/software-engineering-principles-every-developer-should-know)

## [Software Engineering Principles Every Developer Should Know](/blog/post/software-engineering-principles-every-developer-should-know)

-   [Mohammad Abu Mattar](/authors/mohammad-abu-mattar)
-   [Software Engineering](/blog/categories/software-engineering)
-   [Programming Principles](/blog/categories/programming-principles)
-   [Code Quality](/blog/categories/code-quality)
-   [Best Practices](/blog/categories/best-practices)
-   Published: 20 May, 2024

In the dynamic world of software development, certain principles stand the test of time, guiding developers towards creating robust, maintainable, and efficient code. Let's delve into these principles

[#DRY Principle](/blog/tags/dry-principle)[#KISS Principle](/blog/tags/kiss-principle)[#YAGNI Principle](/blog/tags/yagni-principle)+5 tags

[read more](/blog/post/software-engineering-principles-every-developer-should-know)

[![Building a Code Generative AI Model: Empowering Code Writing with AI](/_astro/hero.8WRw1hB0_1Imo6D.webp)](/blog/post/building-a-code-generative-ai-model-empowering-code-writing-with-ai)

## [Building a Code Generative AI Model: Empowering Code Writing with AI](/blog/post/building-a-code-generative-ai-model-empowering-code-writing-with-ai)

-   [Mohammad Abu Mattar](/authors/mohammad-abu-mattar)
-   [Artificial Intelligence](/blog/categories/artificial-intelligence)
-   [Machine Learning](/blog/categories/machine-learning)
-   [Software Engineering](/blog/categories/software-engineering)
-   [Code Generation](/blog/categories/code-generation)
-   [Python](/blog/categories/python)
-   Published: 29 Aug, 2023

Introduction In the ever-evolving landscape of software engineering, automation stands as a cornerstone. As a software engineer, have you ever envisioned having an AI companion capable of crafting

[#Generative AI](/blog/tags/generative-ai)[#Code Generation](/blog/tags/code-generation)[#AI in Software Development](/blog/tags/ai-in-software-development)+6 tags

[read more](/blog/post/building-a-code-generative-ai-model-empowering-code-writing-with-ai)

[![Understanding Generative AI in Depth](/_astro/hero.DsJ5VDjO_ZYY4n1.webp)](/blog/post/understanding-generative-ai-in-depth)

## [Understanding Generative AI in Depth](/blog/post/understanding-generative-ai-in-depth)

-   [Mohammad Abu Mattar](/authors/mohammad-abu-mattar)
-   [Artificial Intelligence](/blog/categories/artificial-intelligence)
-   [Generative AI](/blog/categories/generative-ai)
-   [Machine Learning](/blog/categories/machine-learning)
-   [Deep Learning](/blog/categories/deep-learning)
-   [Software Engineering](/blog/categories/software-engineering)
-   Published: 25 Aug, 2023

Introduction In the ever-evolving landscape of artificial intelligence, it's paramount for senior software engineers to remain at the forefront of emerging technologies. One such technology that h

[#Generative AI](/blog/tags/generative-ai)[#GenAI](/blog/tags/genai)[#Machine Learning](/blog/tags/machine-learning)+9 tags

[read more](/blog/post/understanding-generative-ai-in-depth)

[![Understanding Infrastructure as Code (IaC): Unleashing the Magic of Code-Driven Infrastructure Management](/_astro/hero.D6yb7pOQ_Z2ptmwB.webp)](/blog/post/understanding-infrastructure-as-code-iac-unleashing-the-magic-of-code-driven-infrastructure-management)

## [Understanding Infrastructure as Code (IaC): Unleashing the Magic of Code-Driven Infrastructure Management](/blog/post/understanding-infrastructure-as-code-iac-unleashing-the-magic-of-code-driven-infrastructure-management)

-   [Mohammad Abu Mattar](/authors/mohammad-abu-mattar)
-   [Infrastructure as Code](/blog/categories/infrastructure-as-code)
-   [DevOps](/blog/categories/devops)
-   [Cloud Computing](/blog/categories/cloud-computing)
-   [Automation](/blog/categories/automation)
-   [Software Engineering](/blog/categories/software-engineering)
-   Published: 22 May, 2023

Introduction In the realm of modern technology, infrastructure management has undergone a revolutionary transformation with the emergence of Infrastructure as Code (IaC). Imagine having the power

[#IaC](/blog/tags/iac)[#AWS CloudFormation](/blog/tags/aws-cloudformation)[#Terraform](/blog/tags/terraform)+7 tags

[read more](/blog/post/understanding-infrastructure-as-code-iac-unleashing-the-magic-of-code-driven-infrastructure-management)

[![Decoding REST API Architecture: A Comprehensive Guide for Developers](/_astro/hero.D7ffsaFk_ZsjslT.webp)](/blog/post/decoding-rest-api-architecture-a-comprehensive-guide-for-developers)

## [Decoding REST API Architecture: A Comprehensive Guide for Developers](/blog/post/decoding-rest-api-architecture-a-comprehensive-guide-for-developers)

-   [Mohammad Abu Mattar](/authors/mohammad-abu-mattar)
-   [API Development](/blog/categories/api-development)
-   [Web Architecture](/blog/categories/web-architecture)
-   [Software Engineering](/blog/categories/software-engineering)
-   [Backend Development](/blog/categories/backend-development)
-   Published: 20 May, 2023

Introduction Hey there, fellow developers! Buckle up because we're about to dive into the crazy world of REST API architecture. Prepare to decode the mysterious differences between REST API and RE

[#REST API](/blog/tags/rest-api)[#RESTful API](/blog/tags/restful-api)[#API Design Principles](/blog/tags/api-design-principles)+6 tags

[read more](/blog/post/decoding-rest-api-architecture-a-comprehensive-guide-for-developers)

[![RESTful API vs. GraphQL: Which API is the Right Choice for Your Project?](/_astro/hero.Do4aqVvj_Z15DwQr.webp)](/blog/post/restful-api-vs-graphql-which-api-is-the-right-choice-for-your-project)

## [RESTful API vs. GraphQL: Which API is the Right Choice for Your Project?](/blog/post/restful-api-vs-graphql-which-api-is-the-right-choice-for-your-project)

-   [Mohammad Abu Mattar](/authors/mohammad-abu-mattar)
-   [API Design](/blog/categories/api-design)
-   [Web Development](/blog/categories/web-development)
-   [Backend Architecture](/blog/categories/backend-architecture)
-   [Software Engineering](/blog/categories/software-engineering)
-   Published: 11 Mar, 2023

TL;DR When deciding between RESTful and GraphQL APIs for a data analysis and display application, it is important to consider the advantages and disadvantages of each. RESTful APIs have been aroun

[#RESTful API](/blog/tags/restful-api)[#GraphQL](/blog/tags/graphql)[#API Comparison](/blog/tags/api-comparison)+6 tags

[read more](/blog/post/restful-api-vs-graphql-which-api-is-the-right-choice-for-your-project)
