Sahan Ranasinghe
验证专家 in Engineering
软件开发人员
Sahan是一位经验丰富的软件工程师,在信息技术和服务行业工作了八年. 他精通Java、Node.js、Angular、React、Hibernate和Spring框架. 拥有威斯敏斯特大学计算机软件工程专业的工程师学位.
Portfolio
Experience
Availability
首选的环境
Docker, Java, Angular, Firebase, Linux, Spring Boot, React, 敏捷软件开发, Kubernetes
最神奇的...
...我为一个行业领先的ERP解决方案提供商开发了一个图形化的SQL查询构建器, 它允许用户在不编码的情况下进行定制.
工作经验
首席软件工程师
IFS
- 继续向查询设计器添加功能,并修改其状态管理以使用NgRx. 这有助于减少工具中的重大技术债务.
- 参与设计和原型化计划在未来版本中添加到查询设计器中的新功能.
- 设计并开发了一个工具,用于比较OpenAPI规范,以识别不同版本之间的破坏性变化. 它取代了它的前身, 有性能问题, 将扫描时间从6小时缩短到20分钟.
Java Spring引导顾问
阿列克谢Ptitchkin
- 为客户端的Spring Boot应用程序配置Spring安全性,并使用Spring OAuth将其与Keycloak连接.
- 提供keyclock导入用户的配置咨询, roles, 和来自10年以上的用户数据库的组,没有任何数据丢失,并防止了大量数据迁移, 最终节省时间和金钱.
- 通过在不访问代码库的情况下复制客户端的设置,跟踪客户端的问题根源. 假设客户端的应用程序是一个银行应用程序, 我复制了他们的部署并调试了问题.
高级软件工程师
IFS
- 开发了一个基于web的图形SQL查询设计器,允许用户在运行时创建自定义配置,而无需编写代码.
- 设计并开发了一个工具,用于比较OpenAPI规范,以识别不同版本之间的破坏性变化. 它取代了它的前身, 有性能问题, 将扫描时间从6小时减少到20分钟.
- 实现了Bitbucket CI/CD管道来运行测试和执行查询设计器的发布.
- Used Cypress.io和Jest为查询设计器实现单元测试和端到端测试.
助理技术主管|软件工程
M I Synergy
- 参与本地银行网上银行系统的架构设计和开发. 它被设计为具有可热插拔的微服务,通过部署新的微服务来添加新功能.
- 设计并开发了一个一次性密码生成器,可以动态配置并由多个第三方服务使用, 配置邮件等多种发送媒介, SMS, calls, 和密码邮件, 并且可以根据客户端请求进行托管.
- 使用MongoDB和Redis,因为它们在一次性密码生成器系统中的可扩展性和性能.
- 使用GitLab CI/CD实现CI/CD管道,并使用Docker和码头工人组成来交付和部署版本.
- 使用几种前端技术实现原型, 比如Angular, React, and Vue, 选择最好的技术在实际项目中使用.
高级软件工程师
M I Synergy
- 参与开发一个路边援助系统,呼叫中心座席使用该系统来找到最近的可用路边援助人员,以分配客户的请求.
- 与客户直接互动,收集和分析需求,开发原型.
- 参与用户培训课程和客户反馈收集,以收集有关所提供解决方案的进一步信息.
软件工程师
M I Synergy
- 为一家本地银行实现了一个自定义IAM系统. 它使用OAuth 2对内部/外部用户执行身份验证和授权.M I Synergy提供给客户的软件解决方案需要使用0、LDAP和社交登录.
- 改进了从银行的核心应用程序数据库读取数据并处理和写入另一个数据库的数据同步服务, 花了8个小时才完成. 优化之后,处理同样的1000万条记录需要两个小时.
- 使用GitLab进行版本控制、项目管理和bug跟踪.
- 使用GitLab CI/CD实现发布管道,以提高发布步骤的质量和速度.
副软件工程师
M I Synergy
- 参与开发一个微型金融机构的网络应用程序. 使用Hibernate ORM减少了代码库中许多硬编码的SQL查询,并在实现复杂业务逻辑时改善了开发人员的体验.
- 使用Redmine作为项目管理和bug跟踪工具.
- 在VPS托管服务中使用Apache Tomcat应用服务器托管基于Java和Spring boot的web应用程序.
Experience
图形查询设计器
从原型阶段开始, 我参与了一个项目,以确定用最少的技术知识向用户表示DB模型的最佳方式. 经过R的多次迭代&D,我开始前端开发,这消耗了其他团队成员开发的api. 前端是一个交互式工具,用于可视化地表示SQL查询. 用户可以选择表及其属性,并使用前端在多个表之间创建连接. Moreover, 该工具允许用户创建复杂的过滤器和聚合,甚至在找到任何参考信息时自动连接选定的表. 一旦保存并发布,这些查询就可以作为REST端点进行访问.
最具挑战性的部分是在不让用户感到不知所措的情况下以图形方式表示SQL查询. 持续的原型设计和与涉众沟通以获得反馈有助于克服这一挑战. 最初的发布是在项目启动三个月后完成的, 顾客的反馈都是积极的. 我仍在为这个项目引入新特性而努力.
Java Spring引导顾问
Furthermore, 我就将一个10多年前基于sql的用户数据库迁移到Keycloak中提供了咨询, 包括每个用户的密码, roles, and groups.
Education
大数据分析硕士学位
罗伯特戈登大学-苏格兰,英国
软件工程学士学位
威斯敏斯特大学-英国伦敦
Skills
库/ 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
在数小时内,而不是数周或数月,我们的网络将为您直接匹配全球行业专家.
分享你的需求
选择你的才能
开始你的无风险人才试验
对顶尖人才的需求很大.
Start hiring