Backend-, Infrastructure- en DevOps-lead bij een SaaS-leverancier voor supply chain planning, formeel leidinggevend sinds februari 2019 — zevenenhalf jaar. Ik geef leiding aan drie functies, rapporteer aan de VP of Software Engineering en heb er twee bij overgenomen zonder extra fte: het eigenaarschap van de productiedatabases op alle klantgerichte servers, en test en CI. Vier engineers rapporteren aan mij en ik ben verantwoordelijk voor hun beoordelingen. Vijftien jaar .NET, waarvan twaalf hier, voor 18 enterprise-eindklanten: ik heb het dashboard-API-platform opgezet, nam in 2019 het identity- en accessplatform over en ben sindsdien de belangrijkste bijdrager, en ontwierp hoe autonome agents worden geautoriseerd. De eerste drie jaar waren klantprojecten bij twee digitale bureaus.
Leiding en verantwoordelijkheden
Bewaak de release en integration gate van het kernplatform, onafgebroken sinds 2019 en dwars door tien jaar personeelswisselingen in het engineeringteam heen. Sinds 2015 gaat het om 4.504 merge requests van andere engineers, verdeeld over 170 projecten.
Laatste escalatiepunt voor klantintegraties, federated identity, SAP-integraties, database, netwerk en infrastructuur.
Werving binnen engineering: voerde technische interviews en besliste mee over de aanname van kandidaten, voor zowel junior als senior engineeringrollen; ontwierp de rolprofielen en de technische assessmentcases die in de kandidaatbeoordeling worden gebruikt.
Vaardigheden
Identity en accessOAuth 2.0, OpenID Connect, token exchange, delegatie versus impersonation, single sign-on en SAML- / OpenID Connect-federatie met externe identity providers, multi-tenant claim-ontwerp, least-privilege IAM; gedocumenteerde risicoacceptatie met compenserende maatregelen, secure coding-standaarden, eigenaarschap van het penetratietestprogramma, bewaring conform KVKK / AVG
Backend en dataC# / .NET (Framework 2.0 tot en met .NET 10), ASP.NET Core, WCF, REST, Dapper, Entity Framework Core, SQL Server internals en indexontwerp, PostgreSQL, MongoDB, Redis, Elasticsearch, ActiveMQ, Quartz.NET, ETL-connectorframeworks
AI en agentplatformMCP-servers, agent-naar-agent-delegatie, agentsessies per tenant, LLM-gateway, toerekening van tokenkosten en budgetbewaking
Werkervaring
Solvoyo
Istanbul, Turkije (SaaS-leverancier voor supply chain planning en retail)05/2014 – heden
Backend - Infra & DevOps Lead
02/2019 – heden
Rapporterend aan de VP of Software Engineering. Vervul deze leidinggevende rol onafgebroken sinds 02/2019, laatstelijk onder de huidige titel.
Geef leiding aan de functie Backend, Infrastructure en DevOps. Vier engineers uit drie disciplines rapporteren aan mij en ik ben verantwoordelijk voor hun beoordelingen; van de vijf posities is er één vacant na een vertrek dat ik heb besloten en doorgevoerd.
Beslis wat er live gaat, ook over code die ik niet zelf heb geschreven. In een omvangrijke SAP-inkooporderprocedure met dynamische SQL vond ik tijdens het review, vóór release, een fout in de joinvolgorde en een niet-afgevangen NULL in de CASE die de ordergoedkeuring bepaalt.
Nam in 2019 het identity- en accessplatform van het bedrijf over — de single sign-on-provider voor een product dat 18 enterprise-klanten bedient — en ben sindsdien de belangrijkste bijdrager: de authorization server, de admin-API, de frontend voor gebruikersbeheer, de federatie met externe identity providers en het multi-tenant claim-model. Mijn aandeel is gestegen van 30% over de volledige historie naar 43% over de laatste drie jaar.
Ontwierp hoe autonome agents op het platform worden geautoriseerd: delegatie in plaats van impersonation, zodat een agent die namens een persoon handelt een leesbaar spoor meedraagt van wie heeft gedelegeerd, de rechten van die persoon niet kan overschrijden en op het moment van handelen binnen de data van één klant blijft. Gebouwd, getest en in gebruik; bij de laatste audit is in productie niets blootgesteld aangetroffen. Het omliggende agentplatform is samen met het team gebouwd.
Weigerde impersonation op grond van de integriteit van het audit trail, tegen commerciële druk van twee niet-technische directieleden in; een regressietest faalt zodra het codepad opnieuw wordt geopend.
Nam twee specialistische functies over toen ze vrijkwamen, beide zonder extra fte: het eigenaarschap van de productiedatabases voor elke klantgerichte server en database — backup- en recoverystrategie, indexonderhoud, capaciteit — en de test- en CI-functie.
Moderniseerde de identity stack in elk systeem dat er gebruik van maakt. Waar een dependency niet gepatcht kon worden, accepteerde ik het restrisico schriftelijk, met een mitigatie en een vastgelegd moment van herbeoordeling.
Hield de releases naar de dashboard-API en de webtier tegen in afwachting van een security review, en wees het verzoek van een klant om directe toegang tot de productiedatabase schriftelijk af, op grond van blootstelling, querybelasting, dataconsistentie en herstelrisico.
Core maintainer en release gatekeeper van het job-orchestratieplatform van het bedrijf, en integratie-eigenaar van een ETL-landschap met meer dan 80 integratiemodules.
Eigenaar van een multi-region AWS-, source control- en CI-landschap, inclusief een self-hosted CI-runnervloot.
Herleidde een storing van de productiedatabase tot drie grondoorzaken, vier minuten na de eerste diagnose; binnen acht minuten na diezelfde diagnose waren vier herstelmaatregelen aan met naam genoemde eigenaren toegewezen.
Verwijderde in 2020 wachtwoorden in platte tekst uit jobdefinities door indirectie in te voeren: wie jobs definieert, kent het wachtwoord niet meer en het is op elk moment te roteren. Verplicht gesteld voor nieuw werk en zes jaar later nog steeds het geldende patroon.
Senior .NET Developer
05/2014 – 02/2019
Zette het dashboard-API-platform op — de eerste commit (03/2017) is van mij — en ben nog altijd de grootste bijdrager van 29, met bijdragen in tien opeenvolgende jaren: 54 projecten en 23 uitwisselbare data-access adapters voor SQL Server, MySQL, MongoDB, Elasticsearch, CloudWatch, GIS, Jira en run management-backends.
Ontwierp de tenantisolatie van het platform: een aparte dataconnectie per klant en per omgeving, op requesttijd afgeleid uit het token van de aanroeper, met een klantdiscriminator over de gedeelde control plane.
Grootste bijdrager van 49 aan de klantgerichte planningswebapplicatie, met commits in elk kalenderjaar van 2014 tot en met 2026.
Zette de event-monitor Windows-service op die nog altijd de geplande workflow-, scenario- en notificatiejobs van het platform uitvoert.
Magiclick
Istanbul, Turkije (digitaal bureau)
.NET Application Developer
02/2013 – 05/2014
Bouwde het integratieproject voor de Google AdWords API; ontwikkelde en onderhield klantapplicaties binnen een portfolio met meerdere gelijktijdige projecten.
Pixelplus Interactive
Istanbul, Turkije (digitaal bureau)
.NET Application Developer
01/2011 – 02/2013
Leverde webapplicaties op voor financiële dienstverleners en wereldwijde consumentenmerken — Akbank, Garanti, İş Bankası, Denizbank, het Interbank Card Centre (BKM, NFC), Volkswagen, Mercedes-Benz en Microsoft — waarbij ik de requirements rechtstreeks bij de klant ophaalde, deels op locatie, verspreid over meerdere gelijktijdige accounts.
Eerder: stage als PHP-ontwikkelaar, MOBIM Software (10/2009 – 12/2009); stage als systeemanalist, Xerox (07/2008 – 09/2008).
Opleiding
Boğaziçi University, Istanbul
BSc Management Information Systems, 2004–2009 Afgestudeerd met onderscheiding · GPA 3,37
Talen
Turks — moedertaal Engels — vloeiend in woord en geschrift (professional working proficiency); alle commits, merge requests, technische standaarden en escalaties richting leveranciers schrijf ik in het Engels