Portrait de Salih Sevik

Salih Sevik

Engineering Lead — Backend, Infrastructure & DevOps

plateformes d'identité et d'accès, architecture de plateforme, infrastructure de production

Istanbul, Turquie · [email protected] · LinkedIn

Responsable Backend, Infrastructure et DevOps chez un éditeur SaaS de planification supply chain, en position d'encadrement formel depuis février 2019 — sept ans et demi. Direction de trois fonctions, en rattachement au VP of Software Engineering, auxquelles s'ajoutent deux fonctions reprises à effectif constant : la responsabilité des bases de données de production sur l'ensemble des serveurs exposés aux clients, ainsi que la fonction test et CI. Quatre ingénieurs en rattachement direct, évaluations de performance comprises. Quinze ans de .NET, dont douze au sein de l'entreprise, au service de 18 clients finaux grands comptes : création de la plateforme d'API dashboard ; reprise en 2019 de la plateforme d'identité et d'accès, avec le statut de principal contributeur depuis lors ; conception du modèle d'autorisation des agents autonomes. Les trois premières années : prestation client au sein de deux agences digitales.

Responsabilités et périmètre

Compétences

Identité et accèsOAuth 2.0, OpenID Connect, token exchange, délégation versus impersonation, single sign-on et fédération SAML / OpenID Connect avec des identity providers externes, modélisation des claims en multi-tenant, IAM en moindre privilège ; acceptation de risque documentée assortie de mesures compensatoires, règles de développement sécurisé, pilotage du programme de tests d'intrusion, rétention des données KVKK / RGPD
Backend et donnéesC# / .NET (du Framework 2.0 à .NET 10), ASP.NET Core, WCF, REST, Dapper, Entity Framework Core, internals SQL Server et conception d'index, PostgreSQL, MongoDB, Redis, Elasticsearch, ActiveMQ, Quartz.NET, frameworks de connecteurs ETL
Cloud et exploitationAWS (ECS, Lambda, EC2, EBS, S3, ALB, CloudWatch, IAM, ECR, Secrets Manager), Docker, GitLab CI/CD, flottes de runners self-hosted, déploiement multi-région
IA et plateforme d'agentsserveurs MCP, délégation d'agent à agent, sessions d'agent par tenant, gateway LLM, attribution des coûts de tokens et contrôles budgétaires

Expérience

Solvoyo

Istanbul, Turquie (éditeur SaaS de planification supply chain et de retail) 05/2014 - à ce jour

Backend - Infra & DevOps Lead

02/2019 - à ce jour

Rattachement au VP of Software Engineering. Rôle d'encadrement occupé sans interruption depuis 02/2019, sous l'intitulé actuel pour la période la plus récente.

  • Direction de la fonction Backend, Infrastructure et DevOps : quatre ingénieurs en rattachement direct sur trois disciplines, évaluations de performance comprises ; sur cinq postes, l'un est vacant à la suite d'un départ décidé et conduit personnellement.
  • Décision finale sur ce qui part en production, y compris pour du code écrit par d'autres. Lors de la revue d'une volumineuse procédure SAP de commandes d'achat en SQL dynamique, détection avant release d'une erreur d'ordre de jointure et d'un NULL non géré dans le CASE déterminant l'approbation de la commande.
  • Reprise en 2019 de la plateforme d'identité et d'accès de l'entreprise — le fournisseur de single sign-on d'un produit servant 18 clients grands comptes — et statut de principal contributeur depuis lors : serveur d'autorisation, API d'administration, front-end de gestion des utilisateurs, fédération avec des identity providers externes et modèle de claims multi-tenant. La part personnelle est passée de 30 % de l'historique de la plateforme à 43 % au cours des trois dernières années.
  • Conception du modèle d'autorisation des agents autonomes sur la plateforme : délégation plutôt qu'impersonation, de sorte qu'un agent agissant pour le compte d'une personne conserve une trace lisible de qui lui a délégué ces droits, ne puisse excéder les droits de cette personne et reste, au moment où il agit, cantonné aux données d'un seul client. Construit, testé et en fonctionnement ; le dernier audit n'a rien relevé d'exposé en production. La plateforme d'agents environnante a été construite avec l'équipe.
  • Refus de l'impersonation au nom de l'intégrité de la piste d'audit, face à la pression commerciale de deux dirigeants non techniques ; un test de régression échoue si le chemin de code est rouvert.
  • Reprise de deux fonctions spécialisées au fur et à mesure de leur vacance, l'une et l'autre à effectif constant : la responsabilité des bases de données de production pour l'ensemble des serveurs et bases exposés aux clients — stratégie de sauvegarde et de restauration, maintenance des index, capacité — ainsi que la fonction test et CI.
  • Modernisation de la stack d'identité sur l'ensemble des systèmes qui la consomment. Lorsqu'une dépendance ne pouvait pas être patchée, acceptation écrite du risque résiduel, assortie d'une mesure d'atténuation et d'un déclencheur de réexamen.
  • Rétention des mises en production sur l'API dashboard et la couche web dans l'attente d'une revue de sécurité ; refus écrit de la demande d'un client d'accéder directement à la base de données de production, motivé par l'exposition, la charge de requêtes, la cohérence des données et le risque lié à la restauration.
  • Maintenance principale et détention du release gate de la plateforme d'orchestration des jobs de l'entreprise ; responsabilité de l'intégration d'un parc ETL de plus de 80 modules d'intégration.
  • Responsabilité d'un parc AWS multi-région, du gestionnaire de code source et de la CI, y compris une flotte de runners CI self-hosted.
  • Panne de base de données de production ramenée à trois causes racines quatre minutes après le premier diagnostic, puis quatre actions correctives attribuées à des responsables nommément désignés en moins de huit minutes.
  • Suppression en 2020 des identifiants en clair dans les définitions de jobs par l'introduction d'une indirection : les personnes qui définissent les jobs ne connaissent plus le mot de passe, devenu rotatif à la demande. Imposé pour tout nouveau développement, et toujours le pattern en vigueur six ans plus tard.

Senior .NET Developer

05/2014 - 02/2019
  • Création de la plateforme d'API dashboard — le premier commit est personnel (03/2017) — et première place parmi ses 29 contributeurs, après dix années consécutives de contributions : 54 projets et 23 adaptateurs d'accès aux données enfichables sur SQL Server, MySQL, MongoDB, Elasticsearch, CloudWatch, GIS, Jira et des back ends de gestion des exécutions.
  • Conception de l'isolation par tenant de la plateforme : une connexion de données distincte par client et par environnement, résolue à partir du token de l'appelant au moment de la requête, avec un discriminant client appliqué à l'ensemble du control plane partagé.
  • Première place parmi les 49 contributeurs de l'application web de planification destinée aux clients, avec des commits sur chaque année civile de 2014 à 2026.
  • Création du service Windows event-monitor, qui exécute encore aujourd'hui les jobs planifiés de workflow, de scénario et de notification de la plateforme.

Magiclick

Istanbul, Turquie (agence digitale)

.NET Application Developer

02/2013 - 05/2014
  • Réalisation du projet d'intégration de l'API Google AdWords ; développement et maintenance d'applications clientes au sein d'un portefeuille de projets de prestation multiples.

Pixelplus Interactive

Istanbul, Turquie (agence digitale)

.NET Application Developer

01/2011 - 02/2013
  • Livraison d'applications web pour des acteurs des services financiers et des marques mondiales de grande consommation — Akbank, Garanti, İş Bankası, Denizbank, le Centre interbancaire des cartes (BKM, NFC), Volkswagen, Mercedes-Benz et Microsoft — avec recueil des besoins directement auprès des clients, y compris lors de missions sur site, sur plusieurs comptes menés en parallèle.

Auparavant : stage de développeur PHP, MOBIM Software (10/2009 - 12/2009) ; stage d'analyste système, Xerox (07/2008 - 09/2008).

Formation

Université Boğaziçi, Istanbul

BSc en Management Information Systems (systèmes d'information de gestion), 2004 - 2009
Diplôme obtenu avec mention · Moyenne générale (GPA) 3,37

Langues

Turc — langue maternelle
Anglais — niveau professionnel ; l'ensemble des commits, merge requests, standards techniques et escalades auprès des fournisseurs est rédigé en anglais