Sahan Ranasinghe,斯里兰卡西部省科伦坡开发商
Sahan is available for hire
Hire Sahan

Sahan Ranasinghe

验证专家  in Engineering

软件开发人员

Location
科伦坡,斯里兰卡西部省
至今成员总数
2022年9月19日

Sahan是一位经验丰富的软件工程师,在信息技术和服务行业工作了八年. 他精通Java、Node.js、Angular、React、Hibernate和Spring框架. 拥有威斯敏斯特大学计算机软件工程专业的工程师学位.

Portfolio

IFS
Angular, JavaScript, Node.. js, Java, NgRx, Oracle SQL, Docker, TypeScript, Jest...
阿列克谢Ptitchkin
Keycloak, Java, LDAP, ApacheDS, Spring Boot, JavaScript, MySQL, Vue, Docker...
IFS
Angular, NgRx, Node.. js, Oracle SQL, Cypress, Jest, Apache Maven, OpenAPI...

Experience

Availability

Part-time

首选的环境

Docker, Java, Angular, Firebase, Linux, Spring Boot, React, 敏捷软件开发, Kubernetes

最神奇的...

...我为一个行业领先的ERP解决方案提供商开发了一个图形化的SQL查询构建器, 它允许用户在不编码的情况下进行定制.

工作经验

首席软件工程师

2022年至今
IFS
  • 继续向查询设计器添加功能,并修改其状态管理以使用NgRx. 这有助于减少工具中的重大技术债务.
  • 参与设计和原型化计划在未来版本中添加到查询设计器中的新功能.
  • 设计并开发了一个工具,用于比较OpenAPI规范,以识别不同版本之间的破坏性变化. 它取代了它的前身, 有性能问题, 将扫描时间从6小时缩短到20分钟.
技术:Angular、JavaScript、Node.. js, Java, NgRx, Oracle SQL, Docker, TypeScript, Jest, Cypress, HTML, CSS, Apache Maven, Git, 软件架构, Postman, Keycloak

Java Spring引导顾问

2022 - 2022
阿列克谢Ptitchkin
  • 为客户端的Spring Boot应用程序配置Spring安全性,并使用Spring OAuth将其与Keycloak连接.
  • 提供keyclock导入用户的配置咨询, roles, 和来自10年以上的用户数据库的组,没有任何数据丢失,并防止了大量数据迁移, 最终节省时间和金钱.
  • 通过在不访问代码库的情况下复制客户端的设置,跟踪客户端的问题根源. 假设客户端的应用程序是一个银行应用程序, 我复制了他们的部署并调试了问题.
技术:Keycloak, Java, LDAP, ApacheDS, Spring Boot, JavaScript, MySQL, Vue, Docker, Microsoft SQL Server, Oracle

高级软件工程师

2021 - 2022
IFS
  • 开发了一个基于web的图形SQL查询设计器,允许用户在运行时创建自定义配置,而无需编写代码.
  • 设计并开发了一个工具,用于比较OpenAPI规范,以识别不同版本之间的破坏性变化. 它取代了它的前身, 有性能问题, 将扫描时间从6小时减少到20分钟.
  • 实现了Bitbucket CI/CD管道来运行测试和执行查询设计器的发布.
  • Used Cypress.io和Jest为查询设计器实现单元测试和端到端测试.
技术:Angular、NgRx、Node.. js, Oracle SQL, Cypress, Jest, Apache Maven, OpenAPI, Swagger, 詹金斯管道, Docker, TypeScript, HTML, CSS, Git, 软件架构, Postman

助理技术主管|软件工程

2020 - 2021
M I Synergy
  • 参与本地银行网上银行系统的架构设计和开发. 它被设计为具有可热插拔的微服务,通过部署新的微服务来添加新功能.
  • 设计并开发了一个一次性密码生成器,可以动态配置并由多个第三方服务使用, 配置邮件等多种发送媒介, SMS, calls, 和密码邮件, 并且可以根据客户端请求进行托管.
  • 使用MongoDB和Redis,因为它们在一次性密码生成器系统中的可扩展性和性能.
  • 使用GitLab CI/CD实现CI/CD管道,并使用Docker和码头工人组成来交付和部署版本.
  • 使用几种前端技术实现原型, 比如Angular, React, and Vue, 选择最好的技术在实际项目中使用.
技术:RabbitMQ, Java, 码头工人组成, GitLab CI/CD, GitLab, Spring Boot, Spring Security, Angular, 角材料, MongoDB, Redis, MySQL/MariaDB, OAuth 2, Spring LDAP, Spring Cloud, 敏捷软件开发, Docker, Git, React, REST APIs, RESTful Microservices, JSON Web令牌(JWT), 春天的云侦探, 春云网关, NGINX, Eureka, Apache Maven, IntelliJ IDEA, HTML, CSS, 软件架构, Postman, Keycloak

高级软件工程师

2018 - 2020
M I Synergy
  • 参与开发一个路边援助系统,呼叫中心座席使用该系统来找到最近的可用路边援助人员,以分配客户的请求.
  • 与客户直接互动,收集和分析需求,开发原型.
  • 参与用户培训课程和客户反馈收集,以收集有关所提供解决方案的进一步信息.
技术:弹簧引导, Angular, Java, RabbitMQ, MySQL, 角材料, Apache Tomcat, 敏捷软件开发, Docker, 码头工人组成, JPA, Spring Data JPA, Hibernate, 需求分析, MariaDB, Spring Security, IntelliJ IDEA, HTML, CSS, Apache Maven, Git, 软件架构, Postman, Keycloak

软件工程师

2017 - 2018
M I Synergy
  • 为一家本地银行实现了一个自定义IAM系统. 它使用OAuth 2对内部/外部用户执行身份验证和授权.M I Synergy提供给客户的软件解决方案需要使用0、LDAP和社交登录.
  • 改进了从银行的核心应用程序数据库读取数据并处理和写入另一个数据库的数据同步服务, 花了8个小时才完成. 优化之后,处理同样的1000万条记录需要两个小时.
  • 使用GitLab进行版本控制、项目管理和bug跟踪.
  • 使用GitLab CI/CD实现发布管道,以提高发布步骤的质量和速度.
Java技术:, Spring Boot, Angular, Docker, GitLab CI/CD, HTML, CSS, JavaScript, TypeScript, Apache Maven, Apache Tomcat, NGINX, JPA, Spring Data JPA, Hibernate, Spring Security, Bootstrap, MariaDB, Redis, RabbitMQ, OAuth 2, Spring LDAP, LDAP, 码头工人组成, JSON Web令牌(JWT), REST APIs, RESTful Microservices, IntelliJ IDEA, Git, Postman

副软件工程师

2015 - 2017
M I Synergy
  • 参与开发一个微型金融机构的网络应用程序. 使用Hibernate ORM减少了代码库中许多硬编码的SQL查询,并在实现复杂业务逻辑时改善了开发人员的体验.
  • 使用Redmine作为项目管理和bug跟踪工具.
  • 在VPS托管服务中使用Apache Tomcat应用服务器托管基于Java和Spring boot的web应用程序.
Java技术:, Spring Boot, Spring REST, SQL, MariaDB, Web, HTML, CSS, jQuery, JavaScript, JasperReports, Apache Tomcat, Apache Maven, Hibernate, Bootstrap, IntelliJ IDEA, Git, Postman

图形查询设计器

基于angular的单页应用程序,使用行业领先的ERP解决方案的底层数据库结构设计SQL查询.

从原型阶段开始, 我参与了一个项目,以确定用最少的技术知识向用户表示DB模型的最佳方式. 经过R的多次迭代&D,我开始前端开发,这消耗了其他团队成员开发的api. 前端是一个交互式工具,用于可视化地表示SQL查询. 用户可以选择表及其属性,并使用前端在多个表之间创建连接. Moreover, 该工具允许用户创建复杂的过滤器和聚合,甚至在找到任何参考信息时自动连接选定的表. 一旦保存并发布,这些查询就可以作为REST端点进行访问.

最具挑战性的部分是在不让用户感到不知所措的情况下以图形方式表示SQL查询. 持续的原型设计和与涉众沟通以获得反馈有助于克服这一挑战. 最初的发布是在项目启动三个月后完成的, 顾客的反馈都是积极的. 我仍在为这个项目引入新特性而努力.

Java Spring引导顾问

一个基于Java Spring boot的银行应用程序. 我提供了为web应用程序配置Spring安全性的咨询. 然后,应用程序使用Spring OAuth和Spring Boot Keycloak适配器连接到Keycloak实例. 然后将Keycloak实例连接到LDAP源.

Furthermore, 我就将一个10多年前基于sql的用户数据库迁移到Keycloak中提供了咨询, 包括每个用户的密码, roles, and groups.
2021 - 2022

大数据分析硕士学位

罗伯特戈登大学-苏格兰,英国

2015 - 2020

软件工程学士学位

威斯敏斯特大学-英国伦敦

库/ api

Node.js, Spring REST, REST APIs, NgRx, React, jQuery, JasperReports, Spring LDAP, 春天的云侦探, OpenAPI, 詹金斯管道, Vue

Tools

GitLab, Git, Apache Maven, IntelliJ IDEA, Postman, GitLab CI/CD, 码头工人组成, Apache Tomcat, NGINX, Apache, Apache Avro, RabbitMQ, Eureka, Keycloak

Frameworks

Angular, Spring Boot, JPA, Hibernate, OAuth 2, Bootstrap, Spring Security, 角材料, Cypress, Jest, Kendo UI, JSON Web令牌(JWT), Swagger

Languages

Java, JavaScript, TypeScript, SQL, HTML, CSS, PHP

Paradigms

面向对象编程(OOP),敏捷软件开发,需求分析

Platforms

Docker, Web, Firebase, Linux, Apache Kafka, Amazon Web Services (AWS), Oracle, Kubernetes

Storage

MySQL, Spring Data JPA, MySQL/MariaDB, MariaDB, MongoDB, Redis, Oracle SQL, Microsoft SQL Server

Other

Spring Cloud, RESTful微服务,软件架构,Web & 移动应用程序, 云计算, Text Analytics, 数据仓库, Data Mining, LDAP, 春云网关, ApacheDS, Big Data, Programming

有效的合作

如何使用Toptal

在数小时内,而不是数周或数月,我们的网络将为您直接匹配全球行业专家.

1

分享你的需求

在与Toptal领域专家的电话中讨论您的需求并细化您的范围.
2

选择你的才能

在24小时内获得专业匹配人才的简短列表,以进行审查,面试和选择.
3

开始你的无风险人才试验

与你选择的人才一起工作,试用最多两周. 只有当你决定雇佣他们时才付钱.

对顶尖人才的需求很大.

Start hiring