Ivan Markusi,克罗地亚萨格勒布的开发者
Ivan is available for hire
Hire Ivan

Ivan Markusi

验证专家  in Engineering

高级Android开发员

Location
克罗地亚的萨格勒布
至今成员总数
June 28, 2019

Ivan是一位以产品为导向的软件工程师,在Android和iOS生态系统的应用程序开发过程中拥有丰富的经验. 他为从小型企业主到大型移动网络运营商和银行的各种客户设计了应用程序. Clean, testable, 高效的代码库是他的动力, 同时也是一个快乐成功的客户, 高质量工作的标志.

Portfolio

Reddit(来自Toptal)
Android, Kotlin, Java, Codecov, GraphQL
Poq(通过Toptal)
移动开发,RxJava 2, REST api, Zeplin...
Peg B技术(通过Toptal)
移动开发,RxJava 2, REST api, Android架构组件...

Experience

Availability

Part-time

首选的环境

Sublime Text 2, iTerm2, Figma, Charles, Sketch, Android Studio

最神奇的...

...我参与的项目是一个白色标签游乐园应用程序, 在北美的十几个不同的公园里运营, 累计下载量超过100万次.

工作经验

自由职业高级Android开发者

2021 - 2021
Reddit(来自Toptal)
  • 致力于增加活跃社区的数量, 成功的贡献者, 和每日活跃移动版主作为社区发展团队的一部分.
  • 实现了作为实验推出的各种功能,如发现选项卡. 其中一些在全球范围内都可以使用.
  • 应用TDD开发过程,在相当大的多模块应用程序中工作,具有高代码覆盖率.
技术:Android, Kotlin, Java, Codecov, GraphQL

自由职业高级Android开发者

2019 - 2021
Poq(通过Toptal)
  • 使用模块化SDK开发和维护多个定制的app-commerce移动应用.
  • 将部分代码库从Java重构到Kotlin,并从Dagger2迁移到Koin.
  • 带领系统集成商Android开发人员进入平台,并成功克服了这个过程中的摩擦.
  • 监督工作并指导外部开发人员, 确保高代码质量和最佳实践得到应用.
  • 改进入职流程,建立新项目和CI/CD解决方案.
  • 使用Jira跟踪软件通过GitHub执行定期代码审查.
  • 自定义原生SDK,并为来自美国的十多个不同客户创建定制功能, UK, and Australia, including Belk, Studio, PrettyLittleThing, Kurt Geiger, Cotton On, and more.
Technologies: 移动开发,RxJava 2, REST api, Zeplin, Android架构组件, Gradle, Sketch, Charles Proxy, 反应性编程, Rx, 持续集成(CI), Unit Testing, 依赖注入, IntelliJ IDEA, JSON, 干净的建筑, 面向对象编程(OOP), 模型视图演示器(MVP), 持续交付(CD), Firebase, Google Maps, SQLite, MySQL, SQL, Jira, JUnit, Groovy, RxJava, REST, 最小可行产品(MVP), GitHub, 电子商务平台, 电子商务的发展, eCommerce, GitFlow, 测试驱动开发(TDD), 敏捷软件开发, Git, Android Studio, Android SDK, Android, Senior Android, Dagger, Dagger 2, 模型视图视图模型(MVVM), Java, Azure, KOIN, Kotlin, Mobile Apps

自由职业高级Android开发者

2019 - 2019
Peg B技术(通过Toptal)
  • 开发了一款移动应用程序,用于安全的无现金支付商品和服务.
  • 加入团队,加快app的开发进程.
  • 执行代码分析并提出架构改进建议.
  • 指导客户的开发人员,专注于应用适当的设计模式.
  • 通过代码评审、技能集矩阵和一对一的会议评估技术和软技能.
Technologies: 移动开发,RxJava 2, REST api, Android架构组件, Gradle, Sketch, Dagger 2, Charles Proxy, 反应性编程, Rx, 持续集成(CI), Unit Testing, 依赖注入, IntelliJ IDEA, JSON, 干净的建筑, 面向对象编程(OOP), 模型视图视图模型(MVVM), 模型视图演示器(MVP), 持续交付(CD), Firebase, Google Maps, SQLite, MySQL, SQL, Jira, Dagger, JUnit, Groovy, RxJava, REST, Financials, 金融体系, Finance, 最小可行产品(MVP), GitHub, GitFlow, 测试驱动开发(TDD), 敏捷软件开发, Git, Android Studio, Android SDK, Senior Android, Kotlin, Java, Android, Mobile Apps

移动工程专家

2019 - 2019
Undabot
  • 分析业务需求,执行项目评估,形成项目需求.
  • 协调多个工程团队,并概述项目的状态.
  • 指导、评估员工的技术技能,并为新开发人员上岗.
  • 为Android和iOS开发应用程序和库.
  • Led the R&D团队,专注于如何将代码结构成可重用的组件.
技术:移动开发, RxJava 2, REST APIs, 域驱动开发, 模型-视图-控制器(MVC), 模型视图意图(MVI), Zeplin, Android架构组件, Gradle, Bitbucket, Sketch, Dagger 2, JSON API, Charles Proxy, 反应性编程, Rx, 持续集成(CI), Unit Testing, 依赖注入, 瀑布式开发, IntelliJ IDEA, JSON, 干净的建筑, 面向对象编程(OOP), 模型视图视图模型(MVVM), 模型视图演示器(MVP), 持续交付(CD), Fastlane, Firebase, Google Maps, SQLite, MySQL, SQL, Jira, Dagger, JUnit, Groovy, RxJava, REST, 最小可行产品(MVP), GitHub, GitFlow, UI Testing, 测试驱动开发(TDD), 敏捷软件开发, Git, Android Studio, Kotlin, Android SDK, Java, Senior Android, Ktor, iOS, Android, Mobile Apps

软件架构师

2018 - 2019
Undabot
  • 为欧洲最大的移动网络运营商之一开发移动应用程序.
  • 为新项目和现有项目设置应用程序体系结构.
  • 对各种Android和iOS代码库进行代码分析和技术审核.
  • 指导初级Android和iOS开发人员.
  • 与后端开发人员密切合作,为移动应用程序定义RESTful api.
  • 作为演讲者代表公司,在各种聚会上发表演讲.
技术:移动开发, RxJava 2, REST APIs, 域驱动开发, 模型-视图-控制器(MVC), 模型视图意图(MVI), Zeplin, Gradle, Bitbucket, Dagger 2, JSON API, Charles Proxy, 反应性编程, Rx, 持续集成(CI), Unit Testing, 依赖注入, 瀑布式开发, IntelliJ IDEA, JSON, 干净的建筑, 面向对象编程(OOP), 模型视图视图模型(MVVM), 模型视图演示器(MVP), 持续交付(CD), Fastlane, Firebase, Google Maps, SQLite, MySQL, SQL, Jira, Dagger, JUnit, Groovy, RxJava, Ktor, 最小可行产品(MVP), GitHub, GitFlow, UI Testing, Xcode, iOS SDK, 测试驱动开发(TDD), 敏捷软件开发, Git, Android Studio, Android SDK, Senior Android, REST, Java, Kotlin, Swift, iOS, Android, Mobile Apps

高级Android工程师

2017 - 2018
Undabot
  • 开发了最大的区域分类广告平台,在Play Store的安装量超过50万.
  • 有效地处理遗留代码,实现新功能,并改进应用程序的测试覆盖率.
  • 将Kotlin引入代码库, 除了MVVM架构模式和静态代码质量检查工具(Detekt, Ktlint).
  • 通过GitLab和Fastlane实现持续集成和持续交付.
  • 与后端开发人员密切合作,设计面向移动的RESTful JSON API.
  • 在敏捷环境中工作,应用scrum价值观和原则.
技术:移动开发, RxJava 2, REST APIs, Gradle, Dagger 2, 反应性编程, Rx, Unit Testing, 依赖注入, 瀑布式开发, IntelliJ IDEA, JSON, 干净的建筑, 面向对象编程(OOP), 模型视图视图模型(MVVM), 模型视图演示器(MVP), Firebase, Google Maps, SQLite, MySQL, SQL, Jira, Dagger, JUnit, Groovy, REST, 最小可行产品(MVP), GitHub, GitFlow, 敏捷软件开发, Git, Android Studio, Android SDK, Java, Senior Android, 持续交付(CD), 持续集成(CI), JSON API, RxJava, Kotlin, Android, Mobile Apps

安卓工程师

2014 - 2017
Infinum
  • 为斯洛文尼亚最大的银行之一开发移动应用程序.
  • 为游乐园打造白标应用,在Play Store累计下载量超过100万次.
  • 使用干净的架构,用Java编写了许多Android应用程序, 应用MVP模式和响应式编程范式.
  • 实现与CircleCI的持续集成.
  • 编写了数百个单元和UI测试,以确保所编写代码的稳定性.
  • 执行定期的代码评审和同伴编程.
  • 与设计师密切合作,确保Android UI/UX的最佳实践.
技术:移动开发, RxJava 2, REST APIs, Dagger 2, Rx, 持续集成(CI), Unit Testing, 依赖注入, 瀑布式开发, IntelliJ IDEA, JSON, 干净的建筑, 面向对象编程(OOP), 模型视图视图模型(MVVM), 模型视图演示器(MVP), 持续交付(CD), Google Maps, MySQL, SQL, Jira, Dagger, REST, 最小可行产品(MVP), GitHub, GitFlow, 敏捷软件开发, Android Studio, Android SDK, JUnit, SQLite, RxJava, Git, Gradle, Groovy, Java, Android, Mobile Apps

Reddit

http://www.reddit.com
我实现了作为实验推出的各种功能, 发现标签是其中一个主要的, 其中一些在全球范围内都可以使用.
我在一个大型的多模块应用程序中应用了高代码覆盖率的TDD开发过程.

Poq Commerce

http://poqcommerce.com/
我曾以几个sdk的形式使用客户端的应用商务平台开发过多个定制的应用商务移动应用.

这项工作包括建立新客户端并实现定制的功能,或者为现有客户端修复bug并实现新功能.

我有机会就如何使用该平台向外部系统集成商团队提供建议, 需要遵循的实践, 并对移动项目进行行为规范分析.

部分工作是将代码库从Java迁移到Kotlin,并将依赖注入从Dagger2迁移到Koin.

担任顾问角色, 我还改进了入职流程, 新项目建立的方式, 以及CI/CD解决方案的各种功能.

DFB-Sammelalbum von REWE

http://play.google.com/store/apps/details?id=de.rewe.reweeuro2020
REWE为推迟的2020年欧洲杯制作的电子剪贴簿.

我是一个小型移动团队的一员, 在推广活动期间执行和支持应用程序.

该应用程序有一个高度定制的UI,强调平滑的过渡和自定义动画.

该应用程序支持通过图像和文本识别扫描剪贴簿卡片:使用TensorFlow实现图像识别,使用Firebase ML工具包实现文本识别.

分类广告平台应用程序

最大的区域分类广告平台,在Play Store的安装量超过50万.

我是一个专门的Android团队的一员,在一个敏捷的环境中工作.

该应用程序最初是一个WebView包装器. 我和团队开始使用Android SDK逐个实现应用功能.

我已经介绍了Kotlin, 静态代码质量检查, 持续集成和MVVM模式到代码库.

最具挑战性的部分是处理遗留代码, 我们用黑盒测试包围它,一点一点地重构,直到大部分代码都被单元测试覆盖.

作为一个专门团队的一员,我与设计师合作设计应用程序的用户体验.

Also, 我设计了移动应用程序所使用的后端服务的公共API, 与后端团队一起.

Aircash

人与人之间的汇款和从合作伙伴的在线和电信账户充值或取款的财务申请.

我是一个小型移动团队的首席开发人员,负责维护应用程序并实现新功能.

这款应用最初是用Cordova编写的,因为它可以让公司快速制作原型并将其发布到app Store和Play Store.

我带领团队将代码库重写为原生Android和iOS.

我正在开发Android和iOS应用程序.

Android应用程序是用Kotlin编写的, 使用MVVM架构模式(Android架构组件- ViewModel/LiveData)结合依赖注入(Koin)来确保最大的可测试性.

线程是使用Kotlin协程完成的.

单元测试使用JUnit/Mockito完成, 而仪表测试则使用Espresso框架.

这款iOS应用是用Swift编写的. 它使用MVVM架构模式和响应式方法(RxSwift).

单元测试是使用Quick/Nimble框架编写的. 除了这个单元,该应用程序还有一套快照测试.

这两个应用程序都托管在GitLab存储库上,并使用GitLab集成的CI和CD功能.

白色标签游乐园应用程序

白标解决方案在北美10多个游乐园使用, with up to 200,每款下载超过000次.

我已经实施和维护项目的方式,一个新的场地可以很容易地部署.

每个公园的应用程序都可以重新命名,功能可以在编译时或通过后端服务动态切换.

这款应用有一个带有寻路功能、推送和应用内通知的交互式导游地图.

使用蓝牙LE检测公园内的信标,并使用信标监控用户位置, GPS tracking, and geofencing.

mBanking App

斯洛文尼亚最大的银行之一的移动应用程序,有100家.在Play Store上的安装量超过1000.

我从头开始重写了这个应用程序,因为代码库中有很多WebView包装器, 没有结构,在截止日期前实施景观支持是不可行的.

该应用程序可以在纵向和横向模式下工作, 在各种屏幕尺寸和格式, 使用MVP模式和依赖注入, 而数据流是使用响应式编程范式实现的.

我们在应用的安全性和可测试性上投入了大量精力, 考虑到客户的核心业务.

所有用户的私人数据,如令牌,都存储在设备上的安全区域中. 所有用户交互都在应用程序中进行监控.

该用户因不活动而自动注销.

代码是模糊的,并且在应用程序中没有保留任何折衷的数据, 也不在应用程序代码所在的存储库中.

移动网络运营商应用程序

欧洲最大的移动网络运营商之一的绿地项目.

该应用程序是网络运营商客户的白标解决方案. 它的设计方式是,客户可以通过重新命名和更改配置将应用程序部署到不同的国家.

我在手机应用程序的预开发阶段负责功能规范和需求文档.

在开发阶段,开发和协调后端和移动团队.

我在Android和iOS上都开发了相同的功能, 有一个很好的机会来比较框架,并以与平台无关的方式解决挑战.

月经周期跟踪应用程序

用于跟踪月经周期的应用程序,在Play Store上的安装量超过10万.

我将App Store上下载量最高的应用之一移植到了Android上.

这款应用设计独特,有很多自定义视图和不常见的安卓导航手势.

该应用程序具有离线优先的用户体验, 在后台将数据从数据库(DBFlow/SQLite)同步到远程API (OkHttp/Retrofit).

我实现了“无限”滚动机制的日历和简单的图形绘制在画布上.

美容院老板的应用程序

一个初创公司的应用程序,旨在开发用于管理财务的SaaS, employees, 库存和美容院老板需要的几乎所有东西.

沙龙老板可以安排预约, 查看客户的历史记录, 销售各种产品并开具发票.

我开发了应用程序,并建立了web和移动应用程序管理界面的数据模型, 作为技术文档的一部分.

该应用程序在横向模式下针对iPad进行了优化.

它使用蓝牙LE与ENV终端(SumUp SDK的一部分)通信。, 哪个用于处理付款.

电量监控App

为一家德国初创公司开发的一款简单的配套应用程序,用于监控家庭用电量.

编写项目说明书, 实现项目需求,并将内部开发人员纳入代码库.

我实现了显示随时间变化的功耗的复杂图形.

Languages

Java, Kotlin, SQL, Swift, Groovy, c#, GraphQL

Frameworks

JUnit, KOIN, Dagger 2, Dagger, Android SDK, Rx, iOS SDK, Spring Boot, Ktor

Libraries/APIs

RxJava, Retrofit, Retrofit 2, REST APIs, RxJava 2, Android架构组件, Google Maps, TensorFlow, JSON API

Tools

GitHub, Git, IntelliJ IDEA, Android Studio, Charles, Figma, Jira, Xcode, Charles Proxy, Zeplin, Gradle, Bitbucket, Sublime Text 2, Sketch, Fastlane, Codecov

Paradigms

移动开发, 敏捷软件开发, 瀑布式开发, 依赖注入, 模型视图演示器(MVP), 模型视图视图模型(MVVM), Unit Testing, 面向对象编程(OOP), 持续集成(CI), 干净的建筑, 反应性编程, 持续交付(CD), REST, 模型-视图-控制器(MVC), 域驱动开发, 测试驱动开发(TDD), 模型视图意图(MVI)

Platforms

Android, Firebase, iOS, Bitrise, Azure

Storage

JSON, MySQL, SQLite

Other

最小可行产品(MVP), Mobile Apps, GitFlow, Senior Android, eCommerce, 电子商务的发展, 电子商务平台, Finance, 金融体系, iTerm2, 机器学习, Financials, UI Testing

2014 - 2016

软件工程和信息系统理学硕士学位

电子工程与计算机学院-萨格勒布,克罗地亚

2011 - 2014

软件工程和信息系统学士学位

电子工程与计算机学院-萨格勒布,克罗地亚

有效的合作

如何使用Toptal

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

1

分享你的需求

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

选择你的才能

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

开始你的无风险人才试验

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

对顶尖人才的需求很大.

Start hiring