Ivan Sedlak,塞尔维亚伏伊伏丁那省苏博蒂察的开发商
Ivan is available for hire
Hire Ivan

Ivan Sedlak

Verified Expert  in Engineering

Security Developer

Location
苏博蒂察,伏伊伏丁那,塞尔维亚
Toptal Member Since
December 8, 2015

Ivan拥有超过12年的专业实践经验,使用了广泛的微软技术, 主要针对企业web应用, security, internet, 无服务器功能. 他以前的职位是在一家私营公司做高级职员 .. NET全栈开发人员、软件架构师和团队负责人. 他主要从事大型项目. Ivan自2015年以来一直与Toptal客户合作.

Portfolio

欧洲金融科技创业公司(数据来源:Toptal)
无服务器架构,Azure函数,算法,api, c#, c#.NET, .NET...
纽约主要电信公司(通过Toptal)
依赖注入, .. NET Core, Hangfire, ASP.NET Identity, ASP.NET Web API...
纽约主要电信公司(通过Toptal)
IdentityServer 3, IdentityServer 4, OAuth 2, ASP.NET Identity, SAML...

Experience

Availability

Part-time

首选的环境

Azure, SQL Server Management Studio, Visual Studio, Windows 10, Node.js, Visual Studio Code (VS Code), Zsh, Bash

The most amazing...

...我编写的是一个无服务器的纳米和微服务堆栈,它可以快速扩展到传入请求的风暴.

Work Experience

Head of Engineering

2019 - 2021
欧洲金融科技创业公司(数据来源:Toptal)
  • 接管遗留项目进行审查,并向客户提供关于当前状态的反馈,以及可以做些什么来改进它.
  • 设计并实现了基于Azure持久函数的全新无服务器架构,以及Azure上的数据存储和其他相关基础设施.
  • 构建了更容易和更快的请求捕获工具, analysis, 在实时环境中,一旦请求开始大量出现,就对其进行调试和重播,因为无法再手动完成.
  • 帮助团队成员做出架构决策, 实现决策, 以及实现本身, 与业务和技术方面进行沟通.
技术:无服务器架构,Azure函数,算法,api, c#, c#.NET, .NET, .. NET Core, Elasticsearch

领导和高级软件工程师

2018 - 2019
纽约主要电信公司(通过Toptal)
  • 创建具有高度优化吞吐量的web API端点,以支持向上和向外扩展.
  • 优化现有代码库.
  • 使用Redis集群对现有代码库引入分布式缓存.
  • 引入了Dapper轻量级ORM来手动优化繁重的SQL查询.
  • 对包和/或框架版本进行了一般的错误修复和版本更新.
技术:依赖注入; .. NET Core, Hangfire, ASP.NET Identity, ASP.. NET Web API,安全,优化,Web API, Redis, OWIN, .NET, C#

Security Lead

2016 - 2018
纽约主要电信公司(通过Toptal)
  • 为SSO设计并实现了内部身份验证端点.
  • 在其核心使用IdentityServer3实现身份验证,并使其与OpenID Connect兼容, OAuth2, SAML2, WS-Federation, and more.
  • 根据子域(部门)构建适合业务需求的自定义解决方案以及不同的身份验证流, 2FA, 现有用户从遗留存储迁移到ASP.. NET Identity用户存储、用户存储的管理UI和IdentityServer3.
  • 开发用于密码恢复的自定义流, 将外部提供者的用户链接到内部用户和用户锁定.
  • 使用动态中间件注册实现同一部署应用程序在不同服务器(域)上的不同行为,以控制身份验证流.
技术:IdentityServer 3, IdentityServer 4, OAuth 2, ASP.NET身份,SAML,身份服务器,OpenID, OWIN, .NET, C#

.NET Web Developer

2016 - 2016
InnoSoft加拿大有限公司. (via Toptal)
  • 构建数据库表、关系图和存储过程.
  • 创建复杂的SQL存储过程来实现高级调度算法.
  • Built CSLA.. NET业务对象用于ORM(对象-关系映射).
  • 解决了OWIN中间件实现中的安全漏洞.
  • 创建了web API控制器和动作方法.
  • 实现了Ajax调用,从Web API控制器获取数据,并在适当的局部视图中利用数据.
  • 创建了一个视图,以基于数据呈现SVG矢量图像,并能够将其下载为具有透明背景(用于打印)或具有自定义颜色背景的PNG.
技术:算法, CSLA, Scrum, Jira, Microsoft SQL Server, t - sql (transact - sql), LINQ, Web API, ASP.NET MVC, C#, .NET

.NET Security Expert

2015 - 2016
focus apps(通过Toptal)
  • 构建标准化安全模型的后端库.
  • 使用OWIN中间件实现和设计支持多个身份提供者的代码.
  • 设计一个自定义的变化感知延迟加载缓存解决方案.
  • 创建了应用程序和底层数据库审计解决方案.
  • 为其他开发人员建立了可以遵循的标准,使解决方案更容易开发和维护,也更安全.
技术:IdentityServer, IdentityServer 4, OAuth 2, Azure, Kentor, Microsoft SQL Server, LINQ, Entity Framework, SAML, OWIN, C#, ASP.NET

Senior .. NET开发人员|项目负责人|团队经理|软件架构师

2008 - 2015
Chinook Software
  • 为身份验证、缓存、审计和消息传递创建了自定义可重用代码库.
  • 为在线信用卡处理构建了自定义Moneris API包装器.
  • 开发和实施定制购物车解决方案.
  • 编程各种功能与先进的自定义功能的复合C1 CMS.
  • 为数据转换、导入和同步编写复杂的SQL Server Agent作业.
技术:Windows,架构,算法,t - sql (transact - sql), LINQ, VB.. NET、c#、HTML5、jQuery、AngularJS、Razor、ASP.NET

Oracle Developer

2007 - 2008
InterSoft
  • 基于BRD设计ER图.
  • 使用Java将Oracle表单从桌面迁移到浏览器内应用程序.
  • 维护和支持现有的Oracle DB实例.
  • 从遗留数据格式导入数据到新的Oracle DB实例.
  • 到现场并获得解决问题和实施偏远地区解决方案的现场经验.
技术:数据库,Oracle, Oracle表单

.NET安全库

这是我在Toptal上做的第一个项目. 我的工作是创建一个后端库,使安全模型标准化. 我设计并实现了使用OWIN中间件支持多个身份提供者的代码.

一些支持的提供商是Azure AD、自定义SAML idp、ASP.. NET身份登录,以及Facebook. 我还设计并实现了一个定制的变化感知延迟加载缓存解决方案, application, 以及低级数据库审计解决方案, various helpers, and base classes.

该库为其他开发人员设置了一个标准,使他们的工作更容易,因为他们可以只使用公开的方法和属性, 这使得他们的代码更容易开发和维护,用一行解决方案来获取当前用户属性, set claims, authenticate, access cached data, register a new user, 授权用户访问资源, etc.

我在这个项目中度过了一段美好的时光,因为我喜欢设计后端库和标准,使开发人员的工作更轻松,解决方案更易于维护和安全.

.NET Web Development

我最初的工作是熟悉解决方案和特定的数据库约定.

在那之后,我开始与CSLA合作.NET创建用于ORM的业务对象,并制作Web api以将该数据公开给特定的安全角色集.

我还帮助前端开发人员使用AJAX调用来利用公开的数据.

我做过的最复杂的事情是高级调度程序,它考虑了很多不同的事情来确定可用的地点和时间,并根据选择的算法进行调度, 创建游戏和分配团队. 这是在纯T-SQL中完成的,以使其尽可能接近数据库,以避免在CSLA中获取和写入数据时做大量的管道工作.. NET框架(避免创建大量业务对象). 调度工作速度快,并且内置了验证和数据损坏预防功能, 甚至是只读模式(事务不持久化).

我和客户相处得很愉快. 工作组织得很好,使用了JIRA、每日Scrum和故事梳理会议. 这是我参与过的最大的解决方案,也是目前为止我写过的最复杂的T-SQL代码.

由微服务和纳米服务构建的Web API

我使用web回调和使用Azure Functions和Azure Durable Functions的HTTP web API实现了同步(sync)和异步(async)操作. 该API由包含一个或多个HTTP请求处理程序的函数应用程序组成.

授权和路由使用APIM(类固醇反向代理)处理。. 数据保存在SQL和NoSQL数据存储中,具体取决于用例. 快速扩展能力, 良好的解决方案设计, 整体系统稳定性处理了实时流量中的所有峰值,而不会增加故障率.

Languages

t - sql (transact - sql), c#, HTML5, SAML, VB.. NET, CSS3, XHTML, JavaScript, Bash, c#.NET

Frameworks

Entity 6, ASP.NET Identity, ASP.NET, ASP.NET Web API, .NET, ASP.NET MVC, OAuth 2, .. NET Core, IdentityServer 4, IdentityServer 3, Swagger, Bootstrap, CSLA, Razor, AngularJS

Libraries/APIs

LINQ,实体框架,Web API, OpenID, jQuery, Node.js

Tools

Visual Studio .. NET、Postman、Hangfire、Fiddler、Jira、TFS、Git、Dapper、Visual Studio、Oracle Forms、Zsh

Paradigms

对象关系映射(ORM), 依赖注入, 敏捷软件开发, DRY, Scrum, Serverless架构, On-demand Scaling

Platforms

Android, Windows, Azure Functions, Azure, NLog, Azure PaaS, Azure IaaS, Docker, Oracle, Visual Studio Code (VS Code)

Storage

SQL Server Management Studio, Microsoft SQL Server, JSON, Redis Cache, DB, Redis, Elasticsearch

Other

Algorithms, Ajax, Architecture, Caching, Security Audits, Security, Data Structures, OWIN, Identity Server, CORS, OpenID Connect (OIDC), Optimization, SVG, Windows 10, Kentor, Payment Gateways, APIs

2009 - 2016

信息技术学士学位

ITS -信息技术学校-贝尔格莱德