D'ici la fin de la prochaine décennie, nous nous demanderons comment nous avons pu concevoir des produits sans commencer par le logiciel. D'ici 2030, toute entreprise prospère sera une entreprise de produits logiciels ou une entreprise de produits hybrides logiciels et physiques.

Si votre entreprise ne conçoit pas déjà de nouveaux produits autour d'un logiciel, c'est le moment idéal pour lancer le projet.

HTML language logo
TypeScript language logo
Python language logo
Java language logo
Go language logo
C++ language logo
CSharp language logo
Swift language logo
PHP language logo

À propos

Bonjour, je m'appelle Gabriel Hodoroaga, je suis développeur de logiciels.

J'ai commencé à écrire des logiciels à l'époque de l'université, lorsque j'ai découvert qu'il suffisait de quelques secondes à un ordinateur pour calculer un bilan et qu'à la main, j'étais capable de le calculer en 2 heures. C'est à ce moment-là que j'ai réalisé qu'apprendre à programmer un ordinateur me faciliterait beaucoup le travail

J'ai plus de 15 ans d'expérience dans le développement de logiciels et j'ai eu l'occasion d'apprendre plus d'un langage de programmation. En travaillant pour une importante institution européenne, j'ai acquis une expérience importante dans la migration d'anciennes applications monolithiques vers les nouvelles technologies natives du cloud.

Je suis Google Cloud - Certified Cloud Architect, Developer and Data engineer et je suis en train d'obtenir ma certification sur les réseaux et la sécurité.

Dans mes activités quotidiennes, je me guide sur mes idées de qualité, de fiabilité et d'innovation.

  • Qualité

    L'une des caractéristiques les plus importantes d'un logiciel est la qualité, et j'entends par là la qualité : (1) un logiciel qui fait ce qu'il est censé faire de la manière la plus efficace, (2) un logiciel qui est facile à lire et à comprendre par les autres développeurs. Comme le dit Martin Fowler: "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." et (3) des logiciels qui peuvent facilement intégrer tous les changements futurs.

  • Fiabilité

    Le deuxième attribut le plus important d'un logiciel, et j'inclus ici toute l'application, est la fiabilité. C'est ce que l'utilisateur attend d'une application, peu importe l'importance que vous lui accordez. Comme le disait quelqu'un : em>"Pourquoi le logiciel n'est pas conçu comme la télévision, vous l'achetez, vous le branchez et il fonctionne sans problème pendant les dix prochaines années?". Eh bien, un logiciel peut être construit comme ça et tout dépend des développeurs. Il existe de nombreux projets à source ouverte créés autour de cette idée.

  • Innovation

    Il y a toujours de la place pour l'innovation quand on parle de logiciels. Chaque fois que je réécris un morceau de code, j'essaie de l'améliorer, de le rendre plus efficace. Comme le disait un célèbre personnage : "Il y a toujours un meilleur moyen de le faire, il suffit de le trouver"

Compétences

Je fournis des résultats et je réponds aux attentes des clients, j'ai des normes élevées en matière de qualité et de quantité et je travaille de manière systématique, méthodique et ordonnée pour atteindre constamment les objectifs du projet.

J'utilise la technologie pour atteindre mes objectifs de travail et je développe mes connaissances et mon expertise professionnelle grâce à une formation continue.

J'assume la responsabilité des actions, des projets et des personnes et je prends des décisions rapides et claires qui peuvent inclure des choix difficiles ou des risques réfléchis.

Je m'adapte à l'équipe et m'y intègre bien, je construis un esprit d'équipe et je réconcilie les conflits, je respecte les opinions et les contributions des autres membres de l'équipe et je consulte les autres et partage avec eux les informations et l'expertise.

Je fixe des objectifs clairement définis, je planifie les activités bien à l'avance et je prends en compte tous les changements de circonstances possibles.

J'identifie et j'organise les ressources nécessaires pour accomplir les tâches, je gère le temps efficacement et je contrôle mes performances.

Je m'adapte au changement, je tolère l'ambiguïté et j'accepte les nouvelles idées et les initiatives de changement.

  • Dans les systèmes de la vie réelle, nous trouvons du code bien écrit, des équipes motivées et des systèmes productifs - mais bien souvent, les connaissances sur l'architecture logicielle sont cachées dans des cerveaux uniques, du code épars ou simplement perdues.

    Il y a quelques années, j'ai découvert arc42, le meilleur modèle pour communiquer et documenter votre architecture logicielle. Il a fait ses preuves, il est pratique et pragmatique. Libre et open source, il permet d'alléger la documentation.

    arc42 dispose d'une structure claire, simple et efficace pour documenter et communiquer votre système logiciel. Elle est optimisée pour être compréhensible et adéquate. arc42 vous guide naturellement pour expliquer tout type d'information ou de décision concernant l'architecture d'une manière compréhensible et facile à maintenir.

    https://arc42.org

  • Dans l'environnement commercial actuel - où le changement est presque constant - l'atténuation des risques et l'adaptabilité n'ont jamais été aussi cruciales. Il est important de mettre en œuvre les meilleures pratiques en matière de micro-services afin que votre organisation puisse changer rapidement, innover facilement et répondre aux nouvelles demandes. Cela permettra de jeter les bases d'une entreprise à l'épreuve du temps et d'une innovation continue.

  • Les applications cloud natives sont un ensemble de petits services indépendants et faiblement couplés. Elles sont conçues pour offrir une valeur commerciale reconnue, comme la capacité d'intégrer rapidement les commentaires des utilisateurs pour une amélioration continue. En bref, le développement d'applications natives du nuage est un moyen d'accélérer la création de nouvelles applications, d'optimiser les applications existantes et de les connecter toutes. Son objectif est de fournir les applications que les utilisateurs souhaitent au rythme dont une entreprise a besoin.

    Mais qu'en est-il du "cloud" dans les applications cloud native? Si une application est "cloud native", elle est spécifiquement conçue pour fournir un développement cohérent et une expérience de gestion automatisée dans les nuages privés, publics et hybrides.

  • Les processus de migration vers le cloud permettent aux entreprises de reproduire complètement leurs applications héritées dans la plate-forme en nuage en les remaniant. De cette façon, vous pouvez permettre aux applications existantes de fonctionner et en même temps construire de nouvelles applications pour remplacer les anciennes sur le cloud.

    Le Refactoring vous permet de hiérarchiser les processus métier en déplaçant les moins critiques vers le cloud, en premier lieu. Cette méthode est rentable, améliore le temps de réponse et permet de hiérarchiser les mises à jour pour de meilleures interactions.

  • Kubernetes est une plateforme portable, extensible et open-source pour la gestion des charges de travail et des services conteneurisés, qui facilite à la fois la configuration déclarative et l'automatisation. Elle dispose d'un vaste écosystème en pleine croissance. Les services, le support et les outils de Kubernetes sont largement disponibles.

    Le nom Kubernetes vient du grec, qui signifie barreur ou pilote. Google a ouvert le projet Kubernetes en 2014. Kubernetes combine plus de 15 ans d'expérience de Google dans la gestion des charges de production à l'échelle avec les meilleures idées et pratiques de la communauté.

  • Google Cloud Platform est de loin le meilleur fournisseur de cloud computing sur le marché.

    Google se distingue des autres fournisseurs de services dans le nuage de diverses manières. Voici quelques points forts :

    • Le modèle de sécurité de Google est un processus de bout en bout, basé sur plus de 15 ans d'expérience dans le domaine de la sécurité des clients.
    • Facturation à la seconde près. Les instances du Compute Engine sont facturées par tranches d'une seconde avec un minimum d'une minute.
    • Big data. Les innovations de Google en matière de technologie des données vous aident à transformer votre entreprise grâce à des informations puissantes sur les données.
    • Un réseau mondial.

    https://cloud.google.com

  • L'utilisation croissante de Go est due, en partie, au fait qu'il s'agit d'un langage léger, à code source ouvert, adapté aux architectures de micro-services actuelles. Container darling Docker et Kubernetes, le produit d'orchestration de conteneurs de Google, sont construits en utilisant Go. Go gagne également du terrain dans le domaine de la science des données, avec les atouts que les scientifiques recherchent en matière de performances globales et la possibilité de passer de "l'ordinateur portable de l'analyste à la production complète".

  • Le codage HTML5 est clair, simple et descriptif. Le HTML5 permet également de placer facilement des contenus audio et vidéo. Il traite ce contenu de la même manière que les balises d'image, ce qui facilite grandement la tâche des codeurs car il leur permet d'inclure ces éléments multimédia sans avoir à utiliser un plugin ou une API.

  • Angular permet de créer des applications interactives et dynamiques d'une seule page (SPA) grâce à ses caractéristiques convaincantes, notamment la création de modèles, la liaison bidirectionnelle, la modularisation, la gestion des API RESTful, l'injection de dépendances et la gestion AJAX. Les concepteurs peuvent utiliser le HTML comme langage de template et même étendre la syntaxe du HTML pour transmettre facilement les composants de l'application.

    Vous n'avez pas besoin de compter sur des bibliothèques tierces pour construire des applications dynamiques avec Angular. En utilisant ce cadre dans vos projets, vous pouvez en tirer de multiples avantages

  • Java est l'un des langages de programmation les plus robustes utilisés pour développer de petites applications à de grands logiciels d'entreprise de bout en bout.

    5 raisons pour lesquelles Java est le plus adapté à la création d'applications d'entreprise :

    • Le langage de programmation le plus ancien et le plus utilisé
    • Java prend en charge un large éventail de bibliothèques gérées par la communauté
    • Courbe d'apprentissage plus courte
    • Intégration facile et évolutivité
    • Prise en charge de plusieurs appareils, faible coût de maintenance et traitement plus rapide
  • En tant que langage de niveau moyen, le C combine les avantages des langages de bas niveau machine et des langages de haut niveau conviviaux pour les développeurs. De plus, il est rapide, structuré, portable et dispose d'une riche bibliothèque. Ces caractéristiques font du C un langage de programmation polyvalent, et donc, il trouve des applications dans tous les domaines du monde de la programmation.

    Super ensemble de C, le C++ est un langage de programmation orienté objet et intègre toutes les fonctionnalités offertes par le C. Le C++ a commencé son parcours comme C avec des classes. Il a progressivement évolué et malgré la popularité d'autres langages de programmation comme le C# et Java, le C++ s'impose comme l'un des langages de script les plus utilisés. Dans les applications, le C++ est omniprésent.

Portefeuille

Lorsque j'ai travaillé comme développeur de logiciels pour différentes entreprises en Europe, j'ai participé à des projets passionnants dans un environnement multiculturel avec des collègues sympathiques. Ce faisant, j'ai pu apprendre plus d'une langue de programmation et j'ai découvert les différences entre elles et comment chacune d'entre elles est plus adaptée à un type d'application différent et d'autres non. J'ai également appris combien il est important de choisir la bonne langue pour l'application.

Here are some of my projects that I worked on and I am very proud of.

  • Système de gestion des dossiers (SRB)

    Concevoir et mettre en œuvre le système de gestion des cas et de collaboration documentaire pour organiser et surveiller les crises financières bancaires critiques en utilisant des micro-services, un maillage de services, une passerelle api et des kubernetes.

    https://srb.europa.eu

  • Système de communication sécurisé (Europol)

    Conception et mise en œuvre d'un système de communication interne sécurisé basé sur des micro-services utilisant ASP.NET Core sur des conteneurs linux

    Les technologies utilisées : SqlServer 2016, C#, ASP.NET Core, Identity Server 4, ADFS, ActiveMQ, HTML, CSS, jQuery, KnockoutJS, Swagger, Microsoft Service Fabric, Docker Swarm, Kubernetes, TFS, TeamCity, Visual Studio, git, PlantUML, Visio, bash, python, PowerShell, cmd

    https://www.europol.europa.eu

  • SedonaRetail - Logiciel POS

    Conception et mise en œuvre de la solution complète tout-en-un pour les petits magasins et les supermarchés.

    Les technologies utilisées : SqlServer, .NET, WindowsForms, Node.js, Firebase SDK

    https://sedonaretail.ro

  • Sedona POS - application mobile POS

    Conception et mise en œuvre d'une solution complète pour les points de vente mobiles, avec de nombreuses intégrations avec des imprimantes fiscales et non fiscales mobiles.

    Les technologies : Android, Java, Javascript

    Sedona Pos

Contact

Si vous êtes intéressé par une collaboration, veuillez m'envoyer un message ou me contacter via l'un des réseaux sociaux ci-dessous. Je suis heureux de vous faire une offre et de vous communiquer mon tarif horaire/journalier actuel.

Hodo Software Scomm

contact@hodosoftware.be

Avenue des Nerviens 117/45

Numéro d'entreprise: 0741.928.650

Numéro de TVA: BE0741928650