Eugenia Bahit

Software Architect

LinkedIn logo X logo Amazon logo Google Play logo Email logo

Software Engineering &
High-Level Core Library Architecture

The design of high-level core libraries is one of the most significant parts of building software, as deficient cores result in unreliable programs. My work primarily revolves around the security aspects of core libraries for MVC architectures, and a wide range of libraries for different purposes.

Examples in My Core Library Design Portfolio

Although the list of high-level core software libraries I have designed is longer, the most common have been the following:

  • API Client/Server libraries.
  • Catching and error handling libraries.
  • Concurrency libraries: thread management and scheduling libraries.
  • Data access libraries: object-relational mappers (ORM) and database abstraction layers.
  • Data transformation libraries: serialisation and data mapping libraries.
  • Data validation libraries.
  • File system libraries.
  • Internationalisation and localisation libraries.
  • Logging libraries: events and error logging libraries.
  • Middleware libraries to handle pre- and post-processing HTTP requests and responses.
  • MVC-exclusive libraries: URL parsers, template engines, and base model/view/controller classes.
  • Networking libraries: HTTP Clients and web socket libraries.
  • OOP-exclusive libraries: base classes for standard objects, collector and collection, composed and composer, logical connectors, factory, adapter, and decorator objects.
  • Security libraries: session management and authentication libraries.
  • Utility libraries: string manipulation, maths, and date time libraries.

Book a Software Engineering Service

Key Features of My Core Library Designs

  • All my designs implement the principle of simplicity.
  • I design the library architecture to ensure reliability and easy maintainability.
  • Every decision-making process relies on scientific knowledge.
  • I design a set of test cases for each method and library function.
  • Before starting a design, I conduct thorough research, gathering new knowledge to stay updated with the latest advancements in the field.
  • I never make assumptions about missing information but ask for it to ensure perfect alignment with goals and requirements.

Core Library Architecture

As a core library architect, I conduct requirements analysis and high-level design of the overall architecture and establish standard guidelines — including test design — to ensure software quality.

Core Library Engineering

My work as a software engineer consists of tracing and documenting a detailed plan to implement the designed architecture, supervising, and debugging the code to enhance final quality.

Core Library Development

Core library development focuses on code writing, maintenance, and testing. While the heart of my work lies in architecture and engineering, I can write code, ensuring the best coding practices.

Professional Profile

Software engineering has been my primary career since 1998. While the first ten years were focused on software programming and web development, I have since evolved as a software architect and delved into the world of theoretical computer science.

The thrust of my work focuses on implementing a hypothetical-deductive methodology that uses formal logic to secure software components, preventing vulnerabilities.

I base my software designs on the principle of simplicity, reducing the use of dependencies to optimise resources, maximise portability, facilitate maintainability, and mitigate security risks.

In addition, all my projects involve the design of unit tests based on a model of minimum and maximum allowed typed values. This method reduces testing process time while ensuring the removal of components that do not fit with their formal definition.

My working methodology consists of a hybrid software development model that integrates some elements of the waterfall model within an iterative incremental model, incorporating techniques from extreme programming.

Credentials

Over the course of my career, I have taken part in diverse open-source projects as a member of OWASP, The Free Software Foundation, and the Linux Foundation.

As a software engineer committed to the free software community, I have designed and developed a wide range of tools for deploying, securing, and optimising Debian GNU/Linux servers, as well as software engines and libraries for Python and PHP.

Having worked in both the public and private sectors and studied for a Bachelor of Science in Computer Science, I have also been engaged in scientific endeavours. This involvement has led me to become part of the European Association for Theoretical Computer Science (EATCS) for some years.