Dan Bodnar, Developer in Puerto de la Cruz, Spain
Dan is available for hire
Hire Dan

Dan Bodnar

Verified Expert  in Engineering

iOS Developer

Location
Puerto de la Cruz, Spain
Toptal Member Since
November 30, 2020

Dan是一位充满激情的iOS开发人员(Swift和Objective-C),在蓝牙集成方面拥有10多年的经验和深厚的专业知识, networking, synchronization systems, and data persistence. 他是响应式编程和实现像素完美应用程序的忠实粉丝. 在过去的三年里,丹一直在100%远程工作, 他总是对学习和应用新技术以及优化他的工作方式感到兴奋.

Portfolio

Kolibree
Firebase, TestFlight, Push Notifications, Fastlane, Code Coverage, Localization...
Visualismo
Swift 5, iOS, Combine, AVFoundation, Core Data, REST api...
Pentalog
单元测试,Firebase, TestFlight,应用内购买,推送通知...

Experience

Availability

Part-time

Preferred Environment

Functional Reactive Programming, Functional Programming, Reactive Programming, Swift, RxSwift, MacOS, Xcode, iOS

The most amazing...

...我从来不会说:“这是不可能的。."

Work Experience

Lead iOS Developer

2018 - 2022
Kolibree
  • Developed a pixel-perfect, highly reactive, 蓝牙连接的iOS应用程序,为世界上最大的消费产品公司之一.
  • Created an outstanding, independent watch application for the same client, using SwiftUI, Combine, Core Data for local storage, 和核心蓝牙,直接从手表与外围设备通信.
  • 主要在MVVM-C架构中使用RxSwift, RxCocoa和Rx社区框架.
  • 编写单元测试、集成/UI测试、快照测试和契约测试.
  • 使用SwiftUI为同一个应用开发了一系列iOS 14+的小部件.
  • 监督项目的持续集成系统,并使用不同的工具进行改进, such as SwiftLint, SwiftFormat, and code coverage.
  • 改进了用于自动化构建和部署的持续部署系统.
  • 在QA周期中监督测试数据的准备、测试和调试.
  • 使用Instabug和Jira跟踪bug、崩溃和建议. 保持技术文件的更新,并在Confluence进行维护.
  • 确保同一项目的9名iOS开发者团队完全采用代码审查实践.
Technologies: Firebase, TestFlight, Push Notifications, Fastlane, Code Coverage, Localization, Code Review, Core Data, Unit Testing, Jenkins, Core Bluetooth, Git, Confluence, Jira, SwiftUI, Combine, RxSwift, RealmSwift, Realm, iOS, Swift

Senior iOS Developer

2020 - 2020
Visualismo
  • 从头开始开发一个具有直播流功能的播客应用程序.
  • 建立了整个生态系统的音频播放器的能力,如在无线电之间无缝切换, 下载程序(预先下载或通过互联网下载), 以及后台使用和离线使用的直播.
  • 开发应用程序的后端集成和本地持久化以供离线使用.
  • 构建一个复杂且反应性很强的应用内购买系统.
Technologies: Swift 5, iOS, Combine, AVFoundation, Core Data, REST api, Model View ViewModel (MVVM), Reactive Programming, In-app Purchase (IAP), Swift

iOS Lead Developer

2017 - 2018
Pentalog
  • Developed a highly interactive, 蓝牙连接的医疗iOS项目,由客户端和管理应用程序组成.
  • 创建了一系列进入公司的项目内部使用的sdk. 这包括一个BLE连接框架(与任何GATT协议无关),允许项目轻松地与任何BLE外围设备建立通信.
  • 向公司内所有iOS团队介绍代码审查实践和代码覆盖要求.
  • 为进入公司的所有项目提出架构设计并定义技术堆栈.
  • 确保团队成员正确地实现所选择的开发范例和原则.
  • 配置和维护持续集成和持续部署系统.
  • 使用最新技术开发概念验证.
Technologies: 单元测试,Firebase, TestFlight,应用内购买,推送通知, Fastlane, Code Coverage, Code Review, Localization, Git, CocoaPods, Carthage, SDKs, Realm, RxSwift, Bluetooth LE, Jenkins, Objective-C, Swift

iOS Developer

2015 - 2017
Yourshore
  • 为一家研究公司的客户开发并发布了一款iOS应用程序,该客户与西海岸一些最大的大学有着密切的关系.
  • 确保应用程序的关键功能与客户的需求保持一致.
  • 为应用程序的服务层编写单元测试,代码覆盖率高达80%.
  • 实现NSOperationQueue和NSURLConnection与后端web服务集成.
  • 监督整个iOS应用的持续集成和持续部署系统.
Technologies: Unit Testing, Firebase, MVC Frameworks, TestFlight, In-app Purchases, Parse SDK, Push Notifications, Fastlane, Code Review, Core Bluetooth, Bluetooth LE, Core Data, Swift

iOS Lead Developer

2010 - 2015
Beler Soft
  • 针对不同活动领域的不同客户,用Objective-C和Swift开发了一系列iOS应用.
  • 使用Auto Layout约束和UIkit元素实现像素完美的UI元素.
  • 领导和指导团队转向使用MVVM设计模式,以更好地提高代码的可维护性和可测试性. Led the iOS development teams and oversaw their work.
  • 与客户保持紧密的关系,并定义高级规格, estimates, and deadlines.
Technologies: Unit Testing, Firebase, MVC Frameworks, TestFlight, In-app Purchases, Push Notifications, UIKit, SQL, Core Data, Objective-C, Swift

Web Developer

2008 - 2010
ServTotal
  • 为公司客户开发了一系列网络应用程序.
  • Implemented MVC architectures in .NET-specific frameworks.
  • 维护Microsoft SQL Server数据库,并创建复杂的查询、视图和索引.
  • 与应用敏捷方法的高级开发人员合作.
Technologies: MVC Frameworks, C#, SQL, .NET

Salvame Radio

A podcast application, 完全使用响应式范例(使用Combine框架)和UIKit构建, using an MVVM architecture. 我是唯一负责应用程序各个方面的iOS开发人员, 包括音频播放器(建立在AVFoundation上), local persistence for offline use (Core Data), and back-end communication and the IAP system.

Colgate Connect

http://apps.apple.com/us/app/colgate-connect/id1505852279
一个创新和现代的应用程序建立提供个性化的口腔护理活动, progress tracking, and more. 该应用程序与蓝牙低功耗(BLE)牙刷连接,指导用户每天更好地刷牙. 交付高质量、安全和经过良好测试的代码是最重要的开发方面. The entire development process was rigorous, 结果非常令人满意:一个非常受用户欢迎的可靠应用程序.

hum by Colgate

An iOS application designed for oral health care. 该应用程序与BLE牙刷连接,提供指导刷牙, related activities, and easy tracking of users' oral health progress. 生成高质量、安全且经过良好测试的代码是最重要的开发方面. The entire development process was rigorous, 结果非常令人满意:一个非常受用户欢迎的可靠应用程序.

yBand Therapy

SOLUTION
一种治疗系统激励中风患者训练他们的手臂并恢复手臂的活动能力. 该系统由三个关键部分组成:BLE手腕装置, an iPhone client/user application, and an iPad application for doctors. 这两个应用程序都与提供手臂运动信息的BLE手腕追踪器配对.

CHALLENGES
该项目的最大挑战之一是,iPad应用程序必须轻松地与无限数量的外设配对,并同时保持和使用多达五个活动连接. Due to the nature of the project, the data could only be stored locally, 用户应用程序和医生应用程序之间的点对点同步系统必须开发出来.

ROLE
作为三人团队的技术负责人,我负责高层次的技术决策. 我提出并实现了一个具有n层布局(六个动态库)的MVVM和C项目架构。. I developed the BLE communication layer, the multipeer connectivity layer, the AirPrint services, and many others. 我还确保Git流得到尊重(基于主干), that the pull requests are correctly reviewed, 并且项目的代码覆盖率不会从一个拉取请求下降到另一个.

La Casa del Panadero | Point of Sale

SwiftUI和Combine应用程序作为连锁面包店的POS终端. 我们构建了一个像素完美的iOS应用程序,提供了一个现代和反应性的体验,可以完全离线工作. The back end and the API communicate with the app, the synchronization system on the app, and the SDK that communicates with the printers. I led the development of the entire system.

Biometric Solution

在ios银行应用中使用的Swift SDK,根据用户的生物识别护照信息对其进行身份验证. 我领导开发了一个解决方案,该解决方案使用基本访问控制来读取和验证护照信息. 读取完成后,将信息传递给其他应用层. 这个项目的主要挑战是缺乏文档.

TransnetYX

http://apps.apple.com/us/app/transnetyx-colony/id1241001338
SOLUTION
一个离线优先的应用程序,用于管理研究实验室中的菌落数据. In a team of two, I developed a large part of the application, mainly, but not limited to, 本地存储系统(Core Data)和同步系统的应用端.

CHALLENGES
最大的挑战是使应用程序离线功能齐全,并允许在有限和恶劣的互联网条件下与后端可靠地同步大量数据.

Indoor Localization App

SOLUTION
一个iOS应用程序,用于室内定位和室内地图系统. 该应用程序的主要功能是呈现建筑物内部的地图, hall, or showroom; position the user on that map in real time, and draw a route to a point of interest. 这款应用的客户之一是巴黎著名的时装贸易展Tranoi. Using the app, 用户可以很容易地在不同的展区中找到他们想要参观的下一个展区的路线.

CHALLENGE
最大的挑战是使用放置在大厅内的iBeacons对用户位置进行三角定位.

ROLE
As the technical leader in a team of five, 我领导了所有的设计选择,开发了大部分的三角测量系统和大部分的图算法来寻找最短路径.

Plus Workout

http://apps.apple.com/us/app/plus-workout-indoor-cycling/id944800953
In its fourth version, Plus Workout是一款成功的iOS应用程序,在App Store的健康和健身类别中排名很高. 该应用程序的主要目标是帮助(室内)自行车爱好者在锻炼期间实现他们的目标. 作为唯一的开发人员,我从后端、数据库和API到前端创建了应用程序.

NightShot

A Swift application for nightlife in Paris. 该应用程序的主要功能是呈现不同夜间活动的地图. I developed the entire app, 地图系统使用Mapbox框架,云存储使用Parse框架.

SnapSlidy

SOLUTION
一个iOS应用程序,用于创建和分享照片视频. 所有视频都呈现在一个feed(集合)中,任何应用程序用户都可以播放它们.

CHALLENGE
该应用程序的主要挑战是创建一种机制,以快速可靠的方式加载和播放视频.

ROLE
我创建了应用程序的两个关键功能:视频创建器, 其中包括照片和背景音乐的滤镜, and the video feed.

BroVid

一个视频编辑器,允许用户通过添加他们的声音来修改现有的视频,也可以合成他们的声音. I developed the entire application, including the voice synthesizer, 只使用iOS核心框架,不使用第三方框架.
2004 - 2009

Bachelor's Degree in Computer Science

University of Craiova - Craiova, Romania

Libraries/APIs

RxSwift, REST API, CocoaPods, Mapbox API, Parse SDK

Tools

Xcode, GitLab, GitHub, TestFlight, Fastlane, Jenkins, Jira, Confluence, Git, Zeplin

Frameworks

RealmSwift, UIKit, Core Data, Core Bluetooth, Combine, AFNetworking, .NET, SwiftUI, Multipeer Connectivity

Languages

Swift, Objective-C, C#, C++, SQL, PHP 5, Swift 5

Paradigms

Unit Testing, Model View ViewModel (MVVM), Reactive Programming, Functional Programming, Functional Reactive Programming, Offline-first Development

Platforms

iOS, MacOS, Bluetooth LE, Firebase, Mapbox, Parse

Storage

Realm,数据库,数据同步,MySQL, Cloud Firestore

Other

Programming, OOP Designs, MVC Frameworks, In-app Purchases, Push Notifications, Code Coverage, Localization, Code Review, Multithreading, Background Threading, Networking, iOS App Design, iOS Design Trends, AVFoundation, Apple AirPrint, Internationalization, iBeacon, SDKs, Carthage, Graphs, Authentication, Biometrics, POS, In-app Purchase (IAP)

Collaboration That Works

How to Work with Toptal

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

1

Share your needs

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

Choose your talent

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

Start your risk-free talent trial

与你选择的人才一起工作,试用最多两周. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring