Josip Medic
Verified Expert in Engineering
Software Engineering Developer
Split, Croatia
Toptal member since June 18, 2014
Josip is an expert in designing and developing complex data systems (Kubernetes, SQL, NoSQL, queue, message, and stream-based). He specializes in EVM smart contract architecture for staking, vesting, and investment fund management. Josip is a collaborative team player who thrives under pressure and brings creative problem-solving to every challenge.
Portfolio
Experience
- Software Engineering - 14 years
- Spring - 10 years
- Spring Boot - 10 years
- Kotlin - 8 years
- Java - 7 years
- Blockchain - 3 years
- Vertica - 1 year
- Python - 1 year
Availability
Preferred Environment
Git, MacOS, Linux, IntelliJ IDEA
The most amazing...
...thing I've done is Habiplace, an online property network. I've co-founded and held a CTO role for one and a half years. We raised seed investment and built MVP.
Work Experience
Senior Software Engineer/Architect
Cimetrix
- Developed innovative smart manufacturing factory connectivity and equipment control software solutions for manufacturing.
- Worked on the core system and system architecture for internal tools, which are used for connecting multiple parts of semiconductor production.
- Developed and enhanced factory automation software solutions for the semiconductor and electronics manufacturing industries.
- Ensured seamless connectivity and automation for manufacturing equipment. I focused on optimizing tool control, building scalable solutions, and processing large volumes of data to drive smart manufacturing initiatives.
EVM, Blockchain Developer
Techpad
- Set up EVM smart contracts architecture and development, which were responsible for staking, vesting, and collecting investment funds.
- Created and managed vesting smart contracts responsible for IDO token vesting periods, covering diverse vesting schedules, including per block, daily, monthly, and more, to cater to varying project needs.
- Designed, implemented, and maintained smart contracts.
Senior Software Engineer/Architect
Myo
- Worked on the core back-end system, encompassing system architecture, database design, and code implementation.
- Designed and deployed the Myo Kubernetes cluster, including a bare-metal setup with Kubespray and an Amazon EKS configuration, with automation using Ansible.
- Managed infrastructure with Amazon Aurora Serverless, ECS, and Fargate, utilizing Terraform and Terragrunt for provisioning and deployment.
Senior Software Engineer
Roomi, LLC
- Developed a platform with various features like user management, listings, and configuration management.
- Oversaw matching of users who want to find new apartments (movers) with ones who are searching for roommates (listers).
- Optimized Elasticsearch queries so relevant results are returned on user search, matching the right candidates.
Co-founder, CTO
Habiplace, Ltd.
- Organized the development team.
- Designed the architecture and data extraction.
- Helped define user stories.
- Raised seed investment of 125,000 GBP.
Senior Software Engineer
Big Room Studios
- Developed the back-end and front-end.
Senior Software Engineer
Reversing Labs
- Collected malware and goodware samples from various providers.
- Managed various services for Vertica logging. Logging all collected events about samples into the Vertica analytic database for later processing.
- Created daily reports of running services based on the Vertical Analytics database. Aggregated all vertical data after collection, allowing daily reports to be easily fetched.
- Worked on an aggregation service managing analytical data and making daily aggregations.
- Created reports using Jasper Reports. Worked on a Jasper Reports Server for managing created reports.
Senior Software Engineer
Peerspace (via Toptal)
- Designed application Architecture.
- Developed the back-end software.
- Managed testing, staging, and production servers.
- Reviewed code.
Senior Software Engineer
Oradian
- Worked on the architecture design of the Instafin microfinance product. Created modular application parts that can easily be decoupled.
- Worked on the architecture design and application development of the Instafin microfinance product. Provided real solutions to technology problems facing financial service providers.
- Handled back-end development of the Instafin application. Developed the back-end using Scala.
- Created the Instafin application front-end. Developed the front-end using Scala template, Bootstrap Framework, JavaScript, and Undescore.js.
- Managed Launch and Learn sessions twice a week for developers to discuss clean code, best practices, and code improvement-related techniques.
Medium Software Engineer
PayPal
- Worked on an eBay Lifestyle deals project allowing multiple providers to list offers, deals, and coupons on eBay. Allowed eBay users to buy their deals and receive coupon codes within minutes on their eBay accounts.
- Allowed multiple providers to list their offers on eBay.
- Developed a network project, aggregating offers from multiple providers (Entertainment, Signpost, Zozi, Crowd savings, Living Social, Juice in the City, and more).
- Supported offers through PayPal services.
- Hunted exceptions, checking all services using app health tools.
Junior Software Engineer
Where, Inc.
- Worked on a campaign manager administration tool responsible for managing campaigns in the Where Advertising Network and synchronizing between ad servers working on multiple publisher networks.
- Worked on the Where advertisement server, creating banners serving end users.
- Managed release cycles of the campaign manager application.
- Located and corrected bugs in the app.
Student Co-op
Larus d.o.o.
- Created a room master system for controlling hotel rooms.
- Developed a hotel SOS system.
- Designed a system for my master's thesis for control of a touchscreen with 240x128 resolution, using an 8-bit Toshiba T6963C processor.
- Soldered hardware.
- Programmed in C.
Experience
RESTful Scala Play Framework 2.4 Application
Code Sampling with Scala, Play
https://github.com/git-josip/scala-backend-sampling- Slick FRM for DB connection
- Akka Actors for ActionLog
- Deep validation where all errors, warnings, and info messages are collected and presented
- All REST responses are unified with the same structure every time, so it's easier to handle errors, warnings, and messages as well as specific data on pages.
Responses are structured for global and local messages. Local messages are coupled to some field, e.g., "Username is too long. Allowed length is 80 chars." Global messages are messages that reflect all data on page, e.g., "User will not be active untill is approved." Messages have three levels: ERROR, WARNING and INFORMATION.
(example response: http://demo3385913.mockable.io/api/v1/single-create-response)
- JSON Web Tokens (JWT) for user identification and authentication
- Divided into modules, e.g., user module, organization-structure module, etc. Each module has DAO, domain, validation, and service packages
- Spring dependecy injection
Chess Problem
https://github.com/git-josip/chess-problem-josip- The dimensions of the board: M, N.
- The number of pieces of each type (King, Queen, Bishop, Rook and Knight) to try and place on the board.
As output, the program should list all the unique configurations to the console for which all of the pieces can be placed on the board without threatening each other. When returning your solution, please provide with your answer the total number of unique configurations for a 7×7 board with 2 Kings, 2 Queens, 2 Bishops and 1 Knight.
Red Bull Paper Wings 2009. Croatian Champion
Red Bull Paper Wings 2012. Croatian Champion
Education
Master's Degree in Electrotechnic Engineering and Computer Science
University of Split - Split, Croatia
Certifications
AWS Certified Solutions Architect – Associate
Amazon Web Services Training and Certification
Spring Professional
Pivotal
Skills
Libraries/APIs
REST APIs, Node.js, JOOQ, JasperReports, Underscore.js, jQuery, Terragrunt
Tools
IntelliJ IDEA, WebStorm, Git, Jira, Vagrant, Mongoose, Amazon Simple Email Service (SES), RabbitMQ, Amazon EKS, Terraform, Ansible, Gradle, Grafana, Kibana
Languages
Scala, Java, Kotlin, SQL, JavaScript, C, Java 8, ECMAScript (ES6), Python, Solidity, Yul
Frameworks
Spring Boot, Spring, Play Framework, WebFlux, Angular, Hibernate, Express.js, AngularJS, Spring WebFlux, gRPC, Camel, Hardhat, Truffle
Paradigms
Microservices, Kanban, Agile, Asynchronous Development, REST
Platforms
Docker, Amazon Web Services (AWS), Kubernetes, Linux, Blockchain, MacOS, Amazon EC2, Apache Kafka
Storage
NoSQL, Elasticsearch, Memcached, MongoDB, PostgreSQL, Amazon S3 (AWS S3), Vertica, MySQL
Other
Software Engineering, APIs, Startups, CTO, Sprint Planning, Coroutines, RMI, Web MVC, Akamai, Poker, ECS, CI/CD Pipelines, Apache Cassandra, Prometheus, Karavan, Echidna, Distributed Software
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring