Pere Casafont,西班牙罗伊斯开发商
Pere is available for hire
Hire Pere

Pere Casafont

Verified Expert  in Engineering

Java Developer

Location
Reus, Spain
Toptal Member Since
May 6, 2015

Pere is a software architect with over a decade of experience working on JVM-based back-end products ranging from custom binary protocols to REST APIs on Ktor. He has a remarkable ability to work on and get the best out of any kind of project. Once Pere is in a team, they will gradually notice an increase in that team's cohesion and performance, 不管他在其中的地位. He is very communicative, proactive, and committed to the projects he works on.

Portfolio

VeriBlock
Java, Kotlin, TeamCity, YouTrack, Ktor, KOIN, SQLite, PostgreSQL, Git...
EMME
YouTrack, TeamCity, Kotlin, Ktor, KOIN, Exchange API, APIs, WebSockets, Sockets...
Docpaid
Groovy, Kotlin,架构,后端,REST api,后端开发...

Experience

Availability

Part-time

Preferred Environment

Git, JetBrains, Kotlin, Windows, IntelliJ IDEA

The most amazing...

...thing I've coded is a technical demo creating thousands of particles around a given 3D animated model's surface with flocking behavior.

Work Experience

Tech Lead

2019 - PRESENT
VeriBlock
  • 维护和开发独特区块链的节点核心.
  • 实现了Altchain PoP矿机, which connects to both VeriBlock nodes and Altchain nodes and mines the altcoins using VeriBlock's Proof of Proof consensus.
  • Refactored the peer-to-peer communication module of the blockchain nodes to use Ktor sockets and coroutine-based events.
  • 开发了一个DSL库,使开发人员能够非常轻松地创建cli.
  • Led the initiative to migrate the company's project management from Jira to YouTrack with very positive results.
  • Created a PoP mining back end that enabled Bitcoin wallets to earn VeriBlock coins when making transactions (PoP subsidies).
  • Built a company-wide CI/CD DSL (TeamCity + Kotlin) project that automatically created all build configurations for all repositories.
  • Fixed a product that kept having severe issues by completely refactoring it. That also sped up the addition of new features and prevented many future potential problems.
  • Created BFI, 一个可以查询所有区块链(比特币)的后端, VeriBlock, Altchains) via direct connection to their nodes that would scan every transaction to find Proof of Proof endorsements and re-build the blockchains based on them.
  • 从头到尾构建并领导了其他几个全栈产品.
Technologies: Java, Kotlin, TeamCity, YouTrack, Ktor, KOIN, SQLite, PostgreSQL, Git, Blockchain, APIs, Architecture, WebSockets, Sockets, Back-end, Node.js, TypeScript, REST APIs, Back-end Development, Leadership, Full-stack, Software Architecture, Technical Leadership, Team Leadership, JavaScript, CSS, HTML5, Scrum, Linux, Network Programming, Client-server Model, Parsers, Gradle, Multithreading, Concurrent Programming, Reactive Programming, CentOS, SSL, 最小可行产品(MVP), MVP Design, API Integration, Databases, gRPC, REST, Protobuf, Crypto, Desktop App Development

Tech Lead and Product Owner

2021 - 2022
EMME
  • Designed the back-end architecture using microservices with a central coordinator service.
  • Created an exchange trading bot controlled by the coordinator with cryptography-provable instructions linked to the blockchain.
  • Built a very easily maintainable CI/CD framework for the full stack with TeamCity's Kotlin DSL.
  • 管理和支持前端团队(包括设计和实现).
Technologies: YouTrack, TeamCity, Kotlin, Ktor, KOIN, Exchange API, APIs, WebSockets, Sockets, PostgreSQL, Architecture, Docker, Docker Compose, RabbitMQ, Prometheus, Grafana, Back-end, Node.js, TypeScript, REST APIs, Back-end Development, Leadership, Full-stack, Software Architecture, Technical Leadership, Team Leadership, JavaScript, CSS, HTML5, Redis, Scrum, Linux, Network Programming, Client-server Model, Parsers, Gradle, Multithreading, Concurrent Programming, Reactive Programming, CentOS, Microservices, SSL, 最小可行产品(MVP), MVP Design, API Integration, Databases, REST, Protobuf, Digital Banking, Crypto, Desktop App Development

Senior Developer

2019 - 2019
Docpaid
  • 将Groovy代码库转换为Kotlin,修复了数百个bug.
  • 提供了平滑的转换,一切正常运行.
  • 在不到一个月的时间里让一个拖延的项目重回正轨.
Technologies: Groovy, Kotlin,架构,后端,REST api,后端开发, Software Architecture, Technical Leadership, HTML5, Scrum, Linux, Gradle, APIs, Databases, REST, Apache Tomcat, Digital Banking

Senior Back-end Developer

2018 - 2019
BTCMarkets
  • 使用Spok为先前存在的软件创建测试.
  • Built a new core library using Kotlin while keeping full Java compatibility with all other modules and services.
  • Designed a completely new set of endpoints for interacting with the whole back end.
  • 从头开始协作创建SSO.
Technologies: Java, Groovy, Spring, Unit Testing, Amazon Web Services (AWS), Single Sign-on (SSO), Back-end, REST APIs, Back-end Development, Software Architecture, HTML5, Redis, Spring Data JPA, Scrum, Apache Maven, APIs, Databases, REST, Apache Tomcat, Digital Banking, Crypto

CTO and Software Architect

2017 - 2019
Task & Time
  • 从零开始设计并实现公司主要产品后端.
  • Designed and implemented the data model using Hibernate and MongoDB (hybrid data model).
  • 实现了一个复杂任务调度优化算法.
  • Created an Angular web application for the company's first product, which accesses the main back end.
  • 设计第二个产品的数据结构和API端点.
  • 通过scrum sprint远程管理另外两名开发人员和一名QA.
Technologies: SQL, Docker, Spring REST, JUnit, Git, Kotlin, Ionic, Angular, MongoDB, MySQL, Hibernate, Spring Boot, Java, GUI Development, Architecture, CTO, Back-end, Node.js, TypeScript, REST APIs, Back-end Development, Leadership, Full-stack, Software Architecture, Technical Leadership, Team Leadership, JavaScript, CSS, HTML5, Redis, Spring Data JPA, Spring, Scrum, Linux, Android, Parsers, Gradle, Multithreading, Concurrent Programming, CentOS, SSL, 最小可行产品(MVP), APIs, MVP Design, API Integration, Databases, REST

Back-end Software Developer

2018 - 2018
Tremor
  • Refactored all the REST endpoints to decrease their amount of code and readability.
  • 将所有硬编码的失败实体返回转换为异常, 我为此实现了一个处理程序.
  • Moved a few enumerations declared as database tables to be actual Java enumerations properly mapped and referenced in JOOQ.
  • Unified several services with duplicated code and their data transfer objects (DTO).
  • 用MockMvc和EmbeddedPostgres创建了一个集成测试套件.
  • 按需实现多个端点、特性和测试.
Technologies: SQL, Docker, Spring REST, Git, PostgreSQL, JOOQ, Spring Boot, Java, Fintech, Back-end, REST APIs, Back-end Development, Software Architecture, Scrum, Gradle, Apache Maven, APIs, Databases, REST, Apache Tomcat, Digital Banking

Software Architect

2017 - 2017
Apoyo al Estudio
  • 从零开始设计并实现公司主要产品后端.
  • 架构API端点,并与前端开发人员一起工作.
  • 设计产品的数据模型,并使用Hibernate实现.
  • 使用MockMvc实现了Spring Controller单元测试.
Technologies: SQL, Docker, Spring REST, JUnit, Git, Kotlin, MySQL, Hibernate, Spring Boot, Java, GUI Development, Architecture, Back-end, Node.js, TypeScript, REST APIs, Back-end Development, Leadership, Full-stack, Software Architecture, Technical Leadership, Team Leadership, JavaScript, CSS, HTML5, Redis, Spring Data JPA, Spring, Scrum, Linux, Parsers, Gradle, Multithreading, Concurrent Programming, CentOS, SSL, 最小可行产品(MVP), APIs, MVP Design, API Integration, Databases, REST

Senior Software Engineer

2016 - 2017
Operartis
  • Converted from a database access singleton to decentralized autonomous organizations (DAOs) using Java Database Connectivity (JDBC).
  • 用Gradle重新组织了项目打包和依赖关系.
  • 创建内存数据管理器,用于快速数据查找.
  • Implemented a filter framework to filter in-memory data according to a flexible set of conditions, using binary searches.
  • 编写了一组用于数据显示的JavaFX应用程序.
  • 将整个项目转换为Spring后端.
  • 用Angular创建了一个web应用界面. 它包括用线条“手动”绘制的自定义图表.
Technologies: SQL, Docker, Spring REST, JUnit, Git, JavaFX, Kotlin, Hibernate, Angular, Spring Boot, Gradle, MySQL, Java, Fintech, GUI Development, Artificial Intelligence (AI), Architecture, Back-end, REST APIs, Back-end Development, Leadership, Software Architecture, Technical Leadership, JavaScript, CSS, HTML5, Redis, Spring Data JPA, Scrum, Linux, Parsers, Multithreading, Concurrent Programming, SSL, 最小可行产品(MVP), APIs, API Integration, Databases, REST, Digital Banking, Desktop App Development

Back-end Software Developer

2015 - 2017
James Evans and Associates
  • Created a tool that would parse testing spreadsheets and develop thousands of JUnit tests from that data.
  • 为单元测试工具实现了JSON格式导出.
  • 开发一个Spring企业项目的后端模块.
  • 使用MyBatis库创建数据库访问对象.
  • 使用JavaFX维护和开发一个用户界面项目.
Technologies: SQL, Spring REST, JUnit, EasyMock, Oracle, MyBatis, Spring, Java, Fintech, Back-end, REST APIs, Back-end Development, Software Architecture, Spring Data JPA, Parsers, Eclipse IDE, Apache Maven, Databases, REST

Software Architect

2015 - 2016
Synesthetic Visuals
  • Created a graphical interface which would create customizable 3D letters in a canvas. The 3D view is surrounded with controls to perform a big set of different modifications to the letters, as well as animations.
  • Combined Java Swing with Java OpenGL (JOGL) to display the 3D canvas in the center of the app.
  • Created a 3D engine and its shaders, including geometry shaders and shadows.
  • Handled over 50 different settings and configurations for the displayed results.
  • Created an animation editor in which you could set key points for every configuration at any time.
  • Implemented a render animation functionality that would store the result in a high-quality video file.
Technologies: SQL, Git, OpenGL, Swing, Java, GUI Development, Architecture, Software Architecture, CSS, HTML5, Parsers, Eclipse IDE, Multithreading, Concurrent Programming, 最小可行产品(MVP), MVP Design, Databases, Desktop App Development

Founder

2011 - 2016
L2Tenkai
  • 托管和维护一个开源的MMORPG服务器.
  • 开发新游戏功能的服务器端, 其中包括所有客户机-服务器通信和逻辑, as well as designing the best way to fit them into the existing architecture.
  • Refactored more than twenty core modules of a big existing codebase (over 2,000 classes).
  • Created a development tool in Java Swing to manage and bulk edit static data with ease, 这大大提高了团队的开发速度.
  • 用c#创建了一个游戏启动器, 它处理与PHP API通信的身份验证, 最后与Java游戏服务器进行通信.
  • 领导一个由3名开发人员和8名社区经理组成的团队.
Technologies: SQL, Git, JavaFX, Kotlin, Windows Server, PHP, C#, MySQL, Java, GUI Development, Architecture, Back-end, Back-end Development, Python, Leadership, Software Architecture, Technical Leadership, Team Leadership, JavaScript, CSS, HTML5, .NET Core, Linux, Network Programming, Client-server Model, Parsers, Subversion (SVN), Eclipse IDE, Multithreading, Concurrent Programming, Microsoft Visual Studio, SSL, 最小可行产品(MVP), APIs, MVP Design, API Integration, Swing, Databases, Desktop App Development

Administrator and Developer

2007 - 2012
L2TnS
  • 托管和维护一个开源的MMORPG服务器.
  • 频繁地将软件与项目的存储库同步.
  • Developed and maintained the home website, which displayed in-game real-time data.
  • 创建具有高可扩展性的游戏内事件引擎.
  • 管理一个有80多个表的MySQL数据库.
  • 领导由两名开发人员和五名社区经理组成的团队.
Technologies: SQL, Windows Server, PHP, MySQL, Java, GUI Development, Architecture, Back-end, Back-end Development, Python, Leadership, Software Architecture, Technical Leadership, Team Leadership, JavaScript, CSS, HTML5, Linux, Network Programming, Client-server Model, Parsers, Subversion (SVN), Eclipse IDE, Multithreading, Concurrent Programming, Microsoft Visual Studio, SSL, 最小可行产品(MVP), MVP Design, Swing, Databases, Desktop App Development

Ludoya

http://www.ludoya.com
This is a full-stack application I have been building singlehandedly since November 2022. 后端使用Kotlin (Ktor), Koin, and Exposed), 前端是Angular(纯Angular和Material).

我还构建了一个包含CI/CD (TeamCity)的小型基础设施。, metrics and logging (Grafana, Prometheus, and Loki), 项目管理(YouTrack), 以及用于测试目的的多个应用环境.

Liquidity Exchange

http://em.me
An exchange platform where users can buy and sell third-party crypto exchanges' liquidity.

作为技术主管和后端架构师, 我领导着一个八人的团队, 设计并实现了大部分关键功能, 并创建了支持该平台的所有基础设施.

区块链节点和SPV的P2P引擎

http://github.com/VeriBlock/nodecore/tree/master/nodecore-p2p
VeriBlock是一个L1区块链,它有自己的网络在运行.

我重构了点对点通信引擎, 用于将其与spv统一的节点, 并使用Ktor和Coroutines将代码迁移到现代库中.

学生时间管理应用程序

http://taskntime.org/en/studeam-4/
一个带有Kotlin和Spring后端的Angular应用. 该应用程序要求用户填写家庭作业, 包括估计的工作量和截止日期, 应用程序以最优的方式组织时间.

我是这家小公司的首席技术官, having taken all the significant technology decisions and implemented the most critical logic on a full-stack scope.
2010 - 2014

电子游戏开发学士学位

DigiPen理工学院-美国华盛顿州雷德蒙德

2006 - 2010

计算机工程学士学位

维克大学,巴塞罗那,西班牙

Libraries/APIs

Spring REST, REST APIs, OpenGL, Protobuf, MyBatis, EasyMock, JOOQ, DirectX, Sockets, Exchange API, Node.js

Tools

Gradle, Git, IntelliJ IDEA, Subversion (SVN), Eclipse IDE, Microsoft Visual Studio, Apache Maven, JetBrains, TeamCity, YouTrack, Docker Compose, RabbitMQ, Grafana, GitHub, Apache Tomcat

Frameworks

Ktor, JUnit, Spring Boot, Hibernate, Spring, Swing, gRPC, Angular, Ionic, KOIN, .NET Core, Material UI

Languages

Kotlin, Java, HTML5, SQL, C++, C, GLSL, C#, TypeScript, JavaScript, CSS, Python, Ada, Pascal, PHP, Groovy, HTML

Paradigms

REST, Reactive Programming, Concurrent Programming, Scrum, Desktop App Development, Unit Testing, Management, Microservices Architecture, Microservices

Platforms

JavaFX, Docker, Windows Server, Blockchain, Windows, CentOS, Oracle, Linux, Android, Amazon Web Services (AWS)

Storage

PostgreSQL, MySQL,数据库,Spring Data JPA, Redis, MongoDB, SQLite

Other

Software Architecture, Network Programming, Multithreading, Parsers, Client-server Model, Animation, Fintech, Architecture, APIs, Back-end, Back-end Development, Technical Leadership, 最小可行产品(MVP), MVP Design, API Integration, Crypto, GUI Development, Artificial Intelligence (AI), CTO, Leadership, Full-stack, Team Leadership, SSL, Digital Banking, WebSockets, Prometheus, Single Sign-on (SSO), Open Source, Networking, Coroutines

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

开始你的无风险人才试验

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

Top talent is in high demand.

Start hiring