.NET / C# / Azure Cloud Software Developer, Consultant, Architect
- Verfügbarkeit einsehen
- 0 Referenzen
- 110‐120€/Stunde
- 10789 Berlin
- Europa
- de | en | nl
- 30.10.2024
Kurzvorstellung
Fluent in German, English, Dutch. Experience with .NET since 2002, with azure since 2010. Backend / Microservice expert but also full-stack experienced.
Qualifikationen
Projekt‐ & Berufserfahrung
6/2022 – 10/2024
Tätigkeitsbeschreibung
After the successful development and deployment of an IoT platform at their daughter company “Symmedia” (2020-2022, see below), I transferred to GF Machining Solutions (GFMS) to contribute to the development of specialized applications that leverage this platform.
The Machine Monitor application was designed to provide real-time visibility into machine park operations. This included displaying current job statuses, graphing key performance indicators (KPIs), and offering detailed insight into machine-raised messages. The solution also incorporated statistical analysis of events occurring on individual machines, improving operational oversight and decision-making for the end-users.
I also developed the Sustainability Dashboard, a system that integrates data from power sensors to track machine consumption of electricity and compressed air. The solution correlates power usage with machine states and running jobs, enabling a detailed breakdown of energy consumption per job. This functionality allows for a comparative analysis of job-level power efficiency, empowering users to optimize energy use in their manufacturing processes. A key feature is the system’s capability to process hundreds of data points samples per-second, and storing it in for years. The power curves can then be efficiently graphed and compared, and trends can be shown. For example how cleaning a filter can suddenly decrease power usage, and thus carbon emissions, by double digit percentages. This project is GFMS’s implementation of the efficiency evaluation of machines following ISO 14955 / VDMA 34179.
In addition to application development, I played a key role in optimizing GFMS's cloud infrastructure. I transitioned their solution to a fully automated infrastructure management approach using Terraform, eliminating manual modifications and improving the reliability and scalability of their deployment process. I introduced unit testing frameworks using SpecFlow, enhancing the testing of critical components. I also provided Linux system engineering and consulting on broader system engineering issues, offering expertise in both cloud and on-premise environments.
Key problems solved were how to design multiple microservices that process large quantities of data from thousands of machines, without having to scale out vertically. I was further responsible for DevOps operations of the existing cloud infrastructure.
We developed versions of our software libraries that can be used in the cloud, but also on-prem, so that high security companies in aerospace do not need to send their data into the cloud, but can run the portal applications on-prem. For this we created abstraction layers for CosmosDB (MongoDB), EventHub (RabbitMQ), and Azure Data Explorer (InfluxDB).
.Net, Microsoft Azure, Internet of Things (IoT)
12/2020 – 5/2022
Tätigkeitsbeschreibung
Industrial IoT with Azure for global company in Industrial IoT services
Key technologies: .NET, Java, Spring Boot, Azure IoT Edge, Azure Industrial IoT, OPC UA, Microservices, Kubernetes, GraphQL, Azure Functions, Azure Data Explorer (Kusto, Time Series DB), Azure Event Grid, Azure EventHub, Azure IoT Hub, Azure IoT Edge, Azure Service Bus, Large Scale Data Storage, Service Bus, Mongo DB, Azure CosmosDB, SQL Server, Terraform, ArgoCD, ATTD/Cucumber
symmedia has been developing service solutions for mechanical engineering since 1997. The symmedia SP/1 software is used as the "Internet of machines" in over 100 countries. Leading machine manufacturers and operators use symmedia SP/1 as a convenient service portal: Remote Service, Parts, Maintenance and Monitoring are proactively offered directly at the machine.
The existing, server/client based product SP/1 offers a remote access, service, and management solution for industrial machine manufacturers worldwide and is being replaced by a green-field developed cloud-based solution. The new product will be used by manufacturers, service providers, and customers to remote service machines, collect data, calculate KPIs, analyze machine behaviour, and provide a global data analysis and processing platform for 3rd party vendors. The scale of the project at project start alone includes several thousand IoT edge devices within connected factories, and gigabytes of data collected per machine for predictive maintenance and quality prediction of the products manufactured. Data collection in the first phase is performed through OPC UA, but Symmedia’s product support includes dozens of custom industry protocols.
The system is built in a way so that Symmedia can offer generic IoT platform capabilities to manufacturers and clients, with a “marketplace” offering 3rd party data acquisition and processing apps, that are then deployed in a safe and shielded environment on the IoT edge devices.
The project: As a cloud solutions architect, together with experts from the client and their parent company, I was responsible to consult and largely design the cloud and IoT edge infrastructure and technical details of most backend services. Besides consulting on the general parts, my focus was on data collection and processing beginning at the factories and IoT edge devices, over hot/cold data path, processing and storing the data in Azure Data Explorer and CosmosDB, and providing GraphQL services that were linked together with GraphQL federation.
I designed and developed the Azure Industrial IoT edge solution starting from the application marketplace, deployment of the solution to IoT edge devices, monitoring, and reporting. This also included the actual application to acquire data via OPC UA from machines and transmit, store, and process it in the cloud. We furthermore analyzed the usage of different industrial protocols, including the emerging umati / OPC UA Machinery specification, and had meetings with VDMA and Microsoft to be able to potentially include this in the Microsoft Industrial IoT solution.
During this project we worked together with the Azure IoT Edge and Industrial Azure IoT Edge teams from Microsoft to fix issues and add much required functionality. I furthermore handled the public bug reporting and generic community interaction with Microsoft, Terraform, etc.; a long list of GitHub bug reports in Microsoft’s IoT, Industrial IoT, and Azure Java SDK projects gives an overview of this.
I furthermore introduced concepts like acceptance test driven design using Cucumber, and consulted in integration tests and CI/CD pipelines for end to end testing beginning at the data collection towards the data processing and querying stage. I was member of the core QA team.
The project uses Azure Data Explorer (Kusto) as data storage, and various techniques such as CosmosDB and EventHub for hot path data transmission.
The CI/CD pipelines are hosted on Azure DevOps, extensive integration test suites run on pull request completions, and deployments to test devices start running.
The infrastructure is hosted in Kubernetes and managed with ArgoCD and Terraform.
Most Microservices, Azure Functions, and IoT Edge modules are written in Java (11/17), with some written in .NET Core for specific reasons, or because the mother company GFMS is using .NET exclusively. My hybrid Java/.NET knowledge was an advantage in this project, with my Java knowledge being reactivated at the beginning of the project.
.Net, Graphql, Internet of Things (IoT), Java (allg.), Microsoft Azure, Test Management
9/2019 – 6/2020
Tätigkeitsbeschreibung
Development of microservices, event service platform and architecture
Key technologies: .NET, Microservices, Azure App Service, Azure Functions, Azure FrontDoor, Azure EventGrid, Azure EventHub, Azure Service Bus, ASP.Net Core, Queues, Data Storage, Service Bus, mongoDB, Docker Containers
The project: Development of a stock and reservation tracking system as a .NET Core 3.1 microservice, running in Azure. I used MongoDB as backing database because of the document-based architecture, and the transaction support (only limited support for this in Azure CosmosDB). Test-Driven-
2002
09 / 2019 – 06 / 2020
}page 2 of 12|
}Curriculum Vitae: S. S.| Project reference (Freelance) Development with ATDD and SpecFLOW, full CI/CD pipeline with unit and functional testing, full API
specification test coverage. Auto-scaling, automatic nightly benchmarks and performance analysis.
Setup and integration of monitoring. Schooling of on-site developers in .NET Core, the technologies used, and principles of ATDD. Help with integration in the existing technology landscape.
Analysis of current communication systems and consulting in creating a new event based architecture. Based on EventGrid and Service Bus, to easily integrate with current and future infrastructures. Defining the interfaces and event types for the first system to use it.
Mongodb, DevOps, DevOps (allg.), Agile Methodologie, Scrum, Test Automation, Testdesign (IT), Software Architecture, .Net, .Net Framework (Microsoft), Backend, C#, Docker, Cloud (allg.), Cloud Computing, Microsoft Azure, ASP.NET, Representational State Transfer (REST), Solution Architektur
5/2019 – 7/2019
Tätigkeitsbeschreibung
Migration of ASP.Net app to ASP.Net Core microservices in Azure
Key technologies: .NET, Azure Functions, Azure Microservices, ASP.Net Core, Signal-R, WebSockets, Azure App Service, Queues, Data Storage, Service Bus, HTML, JavaScript, Azure CosmosDB, Rabbit MQ, mongoDB, Docker Containers
eatat System AG was in the final stages of migrating their existing platform into the cloud (Microsoft Azure) and a refactoring into microservices for more flexibility. I helped with expert knowledge and additional manpower to keep a crucial deadline, transferred knowledge about cloud platforms and provided improvements to the SCRUM process. My work consisted mainly in work on the backend (.NET core, Rabbit MQ, mongoDB, Azure, Docker, Elastic Search, ...) and few GUI changes (HTML / Angular), besides to providing consulting and assistance for key elements.
Mongodb, DevOps, Docker, Typescript, Microsoft Azure, ASP.NET, HTML, JavaScript
5/2017 – 10/2018
Tätigkeitsbeschreibung
Key technologies: .NET, WebApi, SQL Server, HTML5/CSS, JavaScript, Azure App Service, Azure Queues, Azure Data Storage (tables, etc), Azure Service Bus, IoT
IconMobile had developed the mobile application and had issues with the backend external developers have been working on. I was hired as a .NET expert to find the increasing performance issues and migrate the old application to a newer base. The project was completely rewritten and in close coordination with the mobile app team I took over also the TPM role for the backend.
The contract and project scope extended from initial 3 months to about 1.5 years and extensive reworks under my control due to high customer satisfaction.
The scope was extended to make the application unit-testable (rewrite and modularization of terribly intertwined “spaghetti” code in the API controllers), making the application scalable (implementation was limited to few concurrent, mutually blocking threads, without any database indices or a finished data access layer), implementing new features and preventing the backend from running unmonitored and uncontrolled, and adding data analysis (brushing analytics) to aid customers. (Data processing and data set correlation).
In later stages I was responsible for getting the backend and P&G’s datacenter regarding our data fully GDPR compliant (EU General Data Protection Regulation, DSGVO Datenschutzgrundverordnung), migrating the base of the aged backend to a newer platform and architecture, and migrating the app to Azure App Service, Azure Queues, Azure Data Storage (tables, etc.), Azure Service Bus.
I also fully documented all parts and aspects of the app, the requirements, the workings, data analytics, etc.
Transact-Sql, Microsoft SQL-Server (MS SQL), DevOps, Agile Methodologie, Scrum, Test Automation, Testdesign (IT), .Net, Backend, C#, Typescript, Microsoft Azure, CSS (Cascading Style Sheet), HTML5, Internet of Things (IoT), JavaScript, Representational State Transfer (REST)
9/2016 – 2/2017
Tätigkeitsbeschreibung
Key technologies: HTML5/LESS, client side JavaScript/TypeScript, Angular 2, MVC on IIS, single page application architecture, client side caching, Entity Framework 6, introduction to new technologies to existing employees.
The project: The Bundesdruckerei had been using web applications for the management of all processes regarding the whole lifecycle of their products such as ordering and order management of devices or ID cards, activation of ID card readers, revoking of lost certificates or ID cards, customer self service, rights management and provisioning, and service ticket management since 2003. In 2016 it was decided that the old and dated technology (ASP.NET 1.1, JavaScript as Backend language, direct SQL statements or obscure wrappers, large monolithic chunks of logic, no modularization, lack of any modern HTML, CSS, lack of JavaScript frameworks and data binding) became hard to manage, impossible to unit-test or automate and had to be updated.
The initial scope was to replace one module and decide afterwards which direction to go, but this was extended to creation of a whole new framework, replacement of the security and rights management and provisioning system, a central OAuth2 single sign on system, a UI redesign and training of the existing internal employees on the new technologies.
.Net, C#, Entity Framework, Typescript, ASP.NET, HTML5, JavaScript
9/2014 – 7/2016
Tätigkeitsbeschreibung
Key technologies: HTML5/LESS, massive client side JavaScript and MVC, single page application architecture, client side caching, document-storage like database, JavaScript calculations and unit testing, in-browser HTML5 editors and server-side PDF generation.
My role: As lead developer of a team of 5 developers, I was in charge of the application architecture, solving the “hard-puzzles”, laying the foundation of the application, UI and UX design, tutoring my development team in new technologies and principles, as well as actual software development. As an agile (SCRUM) team we worked together with the business analysts, testers and product owners to create user stories and define the scope of the application. I was responsible for interacting with other teams whose interfaces we connected to, and the presentation of ideas and new UX mechanisms to the product owners. Many technologies and concepts we used or developed in our team have since then been included in the core technologies for the Finance and Risk IT department.
Microsoft SQL-Server (MS SQL), DevOps, DevOps (allg.), Agile Methodologie, Scrum, Test Automation, Testdesign (IT), .Net, .Net Framework (Microsoft), Backend, C#, Typescript, ASP.NET, CSS (Cascading Style Sheet), HTML, HTML5, JavaScript, Compliance management
Ausbildung
Klagenfurt
Über mich
Fluent in German, English, Dutch.
Weitere Kenntnisse
Azure, Azure IoT, IoT, Azure Data Explorer, Kusto, Kubernetes, ArgoCD, Terraform, Azure Data Factory, Azure Event Grid, Azure Event Hub, Azure IoT Hub,
Azure Industrial IoT Stack, OPC UA,
WebApi, SQL Server, HTML5/CSS, JavaScript, Azure App Service, Azure Queues, Azure Data Storage (tables, etc), Azure Service Bus, Microservices, Azure Functions, Azure FrontDoor, Azure EventGrid, Azure EventHub, Azure Service Bus, ASP.Net Core, Queues, mongoDB, Docker Containers, Back-Ends, Full stack.
Persönliche Daten
- Deutsch (Muttersprache)
- Englisch (Fließend)
- Niederländisch (Fließend)
- Europäische Union
- Schweiz
Kontaktdaten
Nur registrierte PREMIUM-Mitglieder von freelance.de können Kontaktdaten einsehen.
Jetzt Mitglied werden