Logo Genetec

Genetec

Established Company

Moemen Saad, Senior Software Developer at Genetec

Description

Moemen Saad von Genetec spricht im Interview über seine Anfänge mit C#, was ihm an seiner aktuellen Arbeit am besten gefällt und gibt Tipps für Neueinsteiger.

By playing the video, you agree to data transfer to YouTube and acknowledge the privacy policy.

Video Summary

In "Moemen Saad, Senior Software Developer at Genetec," Moemen Saad shares how a first “hello world” at university sparked his drive to create new things, moving from C++/Visual Basic to a preference for C#. At Genetec he works in an API‑first, microservices environment where design and stakeholder feedback come before coding, and he focuses on scalability, security, monitoring, and writing clean, extensible code while maintaining services and leading features. His advice: stay curious, make pragmatic trade‑offs, master fundamentals like algorithms, data structures, databases, OOP, APIs, and version control, and learn through POCs, meetups, YouTube, and coding challenges—via a CS degree or alternative paths.

API‑First Backends and Microservices: Lessons from Moemen Saad, Senior Software Developer at Genetec, on Clean Code and Continuous Learning

A multilingual hello — and the moment “Hello World” mattered

“Hello. Ahlan. Servus. Dzień dobry. Hello. Privet. Buna ziua.” With this warm, multilingual greeting, Moemen Saad sets an inclusive tone. He traces his path back to a familiar spark: it started at university, when his first “Hello World” printed to the screen. That tiny success stood for something bigger that still motivates him today — the joy of creating something that didn’t exist before.

Across the story he tells, we hear a consistent pattern: early experiments with languages, a focus on API‑first thinking, and the daily reality of keeping microservices reliable and secure. From our DevJobs.at editorial seat, the strength of Moemen’s message is its groundedness: solid architecture, deliberate trade‑offs, code quality, and a habit of ongoing learning.

From language mix to a favorite

Moemen mentions C++ and Visual Basic among his early tools, with C# ultimately becoming his favorite. It’s a familiar trajectory: breadth first, then specialization as experience deepens. He doesn’t dwell on nostalgia; he shifts quickly to what shapes his work today — an API‑centric mindset for server‑side development.

API‑first, explained by a practitioner

“It’s all about API.” He puts it plainly. The team works API‑first, treating APIs as “first citizens.” What does that look like in real life?

“APIs are treated as first citizens… spending time thinking about the design… getting feedback about the design before any code is written.”

In Moemen’s description, API‑first is both an artifact and a process:

  • Design and discussion precede implementation.
  • Stakeholders are involved early to give feedback on interface design.
  • Only after the contract is clear does coding begin.

It’s not flashy, but it’s decisive. Stable, well‑understood contracts prevent chaos later. When APIs are thoughtfully designed, teams can move independently without drowning in breaking changes.

The backend reality: beyond greenfield

Moemen balances new API development with the unglamorous work every platform depends on. He maintains existing services and keeps them “performance scalable.” Pull requests, code quality, security concerns, and stepping up to lead major features as needed — these are core to his routine:

  • Keep services stable and scalable
  • Review pull requests and protect code quality
  • Address security issues with intent
  • Take lead on larger features when required

This blend of architecture, implementation, and care is exactly what resilient backends are made of.

Architecture mindset: trade‑offs, POCs, and the joy of testing ideas

He is transparent about what excites him most: the design and architecture phase. Choosing “the best technology regarding the use case,” making conscious trade‑offs, and running proofs of concept (POCs) are, in his words, “really fun.”

“Spending time going through what would be the best technology regarding the use case, making trade-offs, POC – it’s really fun.”

POCs, in this framing, aren’t side projects; they’re the cheapest, clearest way to test assumptions. Three themes stand out in Moemen’s approach:

  • Efficiency in execution: the right amount of engineering, not maximalism.
  • High code quality: readable, extendable, durable.
  • Edge cases: acknowledge them early, test them deliberately.

Microservices and distributed systems: the real challenges

His team runs microservices, and he’s straightforward about what’s hard: scalability, concurrency, security issues, and failure handling.

“You need to have a system which you can track, monitor, and prepare if anything happens in your services.”

In other words, without observability, distributed systems are a gamble. Tracking, monitoring, and readiness for failure are not nice‑to‑haves. They are part of the system’s design.

  • Scalability: absorb traffic spikes without toppling the platform.
  • Concurrency: avoid data loss or inconsistency under parallel execution.
  • Security: every interface is a potential attack surface.
  • Failure handling: resilience by design, not by hope.

This operational grounding signals a culture in which development and operations are tightly aligned.

“Technology changes every day” — the mindset behind it

When asked about the one thing to learn, Moemen resists the urge to name a single tool or framework. He says there’s “nothing specific.” Instead, be curious, align learning with what you need at work, and make the right trade‑offs for the problem at hand.

“Just be curious… trying to learn as much according to what you need at work… and make the right trade-offs to pick the right technology according to your problem.”

Not every trend is relevant. What matters is evaluating technologies in context — picking the right tool at the right time.

The backend skills stack: what truly matters

Moemen’s essentials are striking in their timelessness. There’s no magic list — just fundamentals that compound over time:

  • Algorithms and data structures: the foundation for performance and correctness.
  • Databases — SQL and NoSQL: match the model to the use case.
  • API knowledge: central to server‑side architecture today.
  • Object‑oriented programming: structured design, encapsulation, and clarity.
  • Clean code: write in a way that’s extendable and lives longer.
  • Version control: collaboration and traceability.
  • Communication and interpersonal skills: clarify requirements, resolve disagreements, own decisions.

“Writing code which could be extendable and live much longer — that’s really important.”

It’s a portrait of professional craft over novelty — exactly what teams rely on when systems have to last.

Paths into the field: degree, bootcamp, or self‑learning

While many backend developers hold a bachelor’s degree in computer science, Moemen is careful to point out alternatives if time or finances are a barrier: online universities, bootcamps, coding schools, or self‑learning. The upside today is practical:

“There are so many resources out there, and now literally everything can be done from home.”

What matters most is the ability to stick with it — choosing learning paths that fit your reality, and then showing up consistently.

Building momentum: practical steps for growth

Moemen’s advice for getting started is concrete and actionable:

  1. Pick at least one language that’s relevant to your goals.
  2. Choose a learning path that fits — university, bootcamp, coding school, or self‑learning.
  3. Strengthen your skills through practice: run POCs, watch YouTube channels, attend developer meetups, and participate in coding challenges.

“To be a good programmer, you have to strengthen your skills by going through different POCs… being in developer meetups, or participating in coding challenges.”

The throughline is clear: iterate deliberately. Try, get feedback, refine, repeat. It mirrors his API‑first approach: think, design, build, test.

What we took from the session: principles teams can apply now

From Moemen’s talk, we distilled a handful of principles you can bring into any backend team — without chasing buzzwords or betting on a single stack.

1) Design first: treat the API as a product

Before building, articulate the API as a contract. Involve stakeholders, capture edge cases, and get buy‑in.

  • Define domain concepts together
  • Make inputs/outputs and edge cases explicit
  • Collect feedback before the first commit

2) Code quality and security as routine, not a phase

Pull requests, reviews, and security concerns should be continuous. Quality is not a crunch activity; it’s a habit.

  • Prioritize readability and extendability
  • Surface security considerations early and often
  • Treat reviews as a team competency

3) POCs as decision tools

POCs are not toys — they’re the cheapest way to test assumptions and clarify trade‑offs.

  • Frame the question: what must the POC prove or disprove?
  • Time‑box, document, and share results
  • Feed outcomes back into design decisions

4) Distributed systems demand observability

Plan for scale, concurrency, security, and failure. Observability is part of architecture.

  • Decide on meaningful metrics and logs before going live
  • Alert on signals that matter
  • Anticipate failures and practice response scenarios

5) Curiosity as a long‑term strategy

Tech shifts daily; principles endure. Curiosity, context‑driven choices, and steady learning compound over time.

  • Align learning with real job needs
  • Curate information: relevance over volume
  • Reflect regularly: what worked, what didn’t?

C#, without dogma

Even as Moemen says he likes C# “the most,” it’s clear he isn’t dogmatic. The message is pragmatic: choose the best tool for the use case. That stance de‑escalates tech debates and lets teams focus on outcomes.

A realistic portrait of backend work

What makes Moemen’s story compelling is its realism. No silver bullets, no hype. Instead, the steady, practical habits that sustain systems:

  • Think API‑first
  • Align design with stakeholders
  • Maintain and scale services
  • Protect code quality through reviews
  • Treat security as part of the work
  • Use POCs to inform decisions
  • Make microservices observable
  • Keep learning as a habit

This is the daily craft of backend engineering as it is lived.

Concrete next steps for developers

If you want to turn Moemen’s perspective into momentum, start small and specific:

  • Choose a language (for example, C#) and design a small service around a deliberately defined API.
  • Write the API contract before coding and gather feedback from a peer or stakeholder.
  • Implement endpoints with readability and testability in mind from day one.
  • Plan which metrics and logs you’ll need to understand your service’s behavior.
  • Simulate failures (like timeouts) and observe your service’s response.
  • Share your findings at a meetup or in a short write‑up — feedback sharpens thinking.

These micro‑projects embody the POC mindset Moemen emphasizes. They turn ideas into evidence and make progress visible.

Education is a means, not an end

Whether you study for a bachelor’s, attend a bootcamp, or self‑learn, the point is capability. Moemen underscores the accessibility of today’s resources — “literally everything can be done from home.” That reframes the question from “Which path?” to “How will you keep going?”

Final thought: “Be curious” as a professional ethic

If we distill Moemen Saad’s message to a single line, it’s this:

  • Create deliberately: design APIs as contracts before you code.
  • Act responsibly: quality, security, and operations are part of Done.
  • Learn continuously: test trade‑offs through POCs and stay curious.

“Just be curious… and make the right trade-offs to pick the right technology according to your problem.”

Simple, demanding, and exactly what helps engineers navigate a noisy tech landscape. For anyone serious about backend work, it’s a clear and steady north star.

More Tech Lead Stories

More Dev Stories