![Tina Holly,加拿大温哥华的开发者](http://assets.toptal.io/images?url=http%3A%2F%2Fbs-uploads.toptal.io%2Fblackfish-uploads%2Ftalent%2Fprofile%2Fpicture_file%2Fpicture%2F1076563%2Fhuge_b16d26c9c167e0debe5e219a1ff0336a-87229e1931da509e2062b09d1f784ebd.jpg&width=524)
Tina Holly
Verified Expert in Engineering
全栈Web和移动开发人员
Tina是一位经验丰富的全栈工程师,专门从事移动优先响应式web开发和客户端JavaScript应用程序(使用React), Redux, Angular, Vue, ember和他们的api——ruby on Rails, Node.js, Kotlin和java -由SQL和no-SQL数据库支持. Tina还擅长为iOS和Android开发原生移动应用, including KMM, 并且拥有React Native和Cordova的专业知识.
Portfolio
Experience
Availability
首选的环境
Node.js、Android、iOS、TypeScript、Kotlin、PostgreSQL、MySQL、Ruby on Rails API、Swift、Objective-C
The most amazing...
...我领导的项目都很复杂, 专注于平衡质量和快速发货的全栈解决方案.
Work Experience
技术主管,创始人
Tinacious Design
- 开发响应式网页设计和移动网站,包括所有屏幕和设备尺寸的完全流畅和响应式网站. 转换PSD和Figma模拟到像素完美的HTML和CSS, JavaScript, 端到端原生移动代码.
- 使用Kotlin开发原生Android和iOS解决方案, Java, Swift, Objective-C, 包括使用SwiftUI的经验, Jetpack Compose, Kotlin移动多平台(KMM)编写React Native插件.
- 使用包括WordPress在内的开源技术定制设计和开发内容管理系统和框架驱动网站的前端, ProcessWire, and Drupal.
- 创建自定义JavaScript和jQuery解决方案,jQuery插件和WordPress插件.
- 使用JavaScript, TypeScript, Node开发客户端和服务器端web应用程序.js、Kotlin、Ruby on Rails和PHP.
高级全栈软件开发人员|创始开发人员
GrowthBook
- 在React中使用TypeScript进行GrowthBook主产品的前端JavaScript开发,在Express中使用TypeScript进行后端JavaScript开发. 其他语言包括Ruby和Go.
- Developed, independently, 从头开发Java SDK来支持后端Java中的GrowthBook产品.g., Java Spring), Kotlin (e.g., Ktor), 和原生Android, 包括示例实现和CPU/内存使用分析来测试泄漏.
- 已迁移现有GrowthBook产品以支持暗模式, 包括Sass / SCSS, CSS-in-JavaScript, 以及实时系统偏好检测. 首席执行官表示,这比预期的要快得多.
- 通过单独开发GrowthBook CLI, GrowthBook成为功能标记领域第一家为功能标记提供类型安全的公司, 允许开发人员生成类型定义以减少人为错误.
- 开发了GrowthBook Visual Studio Code (VS Code)扩展, 可以在VS Code市场中找到, 允许使用VS Code的开发人员查看GrowthBook资源(例如.g.在编辑器树视图中,以改善开发人员的体验.
- 为不同语言(Java SDK)的多个代码库构建CI/CD工作流, VSCode扩展/TypeScript)和GrowthBook CLI (TypeScript). 自动化测试,检查,代码覆盖,打包和发布二进制文件,生成文档.
- 在各种编程语言和框架中开发示例, including Ruby, Java, Kotlin (JVM, Android), and Go.
- 使用OpenAPI Swagger生成REST API文档.
首席软件工程师
Bunch Live
- 领导Bunch SDK的开发, 一个让游戏开发者将Bunch整合到游戏中的平台. Then, 当业务重点发生变化时, 我转到领先的移动客户端功能开发.
- 领导开发Bunch调色板,这是新的Bunch应用程序的内部设计系统. Owned architecture, implementation, 负责Android设计系统的执行,同时监督iOS的实现.
- 带领没有Android经验的初级和中级开发人员加入,为Bunch Palette设计系统在Android中构建可重用组件提供快速的价值.
- 通过React Native在Android和iOS上构建和实现深度链接. 系统支持自定义虚荣url和延迟深度链接到右屏幕,即使他们没有应用程序, 而且比现有的方法更可靠.
- 在KMM中设计了新的入职系统, Android, and iOS, 哪一个考虑完整的和明确的入职, deep linking, 以及标准业务层中Android和iOS的条件处理, 取决于平台的需要.
- 指导开发人员使用React、React Native、Redux、Android和KMM. 通过在React中建立编码最佳实践,为团队的成功做好准备, React Native, and Android. 通过无服务器功能改善了核心应用程序开发体验.
- 从全栈方法中接受Bunch的遗留系统. 我很快就成为了最了解本奇系统内部运作方式的关键人物之一, 因为我能很快适应国外和复杂的系统.
- 领导了Chromecast应用程序的开发,这是我对内部黑客马拉松项目的想法. 这个目标相当雄心勃勃, 但是在两天之内, 我们可以通过Chromecast在Android和iOS上的电视上获得Bunch派对体验.
- 为原生Android客户端和使用静态站点生成(SSG)和服务器端渲染(SSR)的React应用程序设置持续集成和持续部署(CI/CD).
- 提供了一个使用WebSockets和Redis的新在线服务的特色开发, 包括Redis PubSub和Redis Streams的后端和本地移动客户端.
Tech Lead
A Digital Agency
- 作为技术领导,领导技术工程决策,并在2到6个开发人员的团队中实现全栈项目. I also architected, designed, 并为我们的初创客户的产品设计了全栈端到端解决方案.
- 我和一个初级前端开发人员完成了一个项目, from a poor, 脆弱的建筑, slow, broken, 之前的五人团队——两名高级后端开发人员和三名前端开发人员——已经交付了漏洞百出的方法.
- 租赁文件管理的构建状态-从草稿到发送报价, 对sign-commenting, 以及使用带有GraphQL后端的RoR和React的房东和租户团队的访问控制功能, TypeScript, Redux, Sass为SCSS前端.
- 使用GraphQL API解决了后端Rails上n+1相关的性能问题.
- 实现并指导团队在React应用中使用健全的架构:TypeScript, 容器表示的组件体系结构, Redux with hooks, 彻底的单元测试.
- 与项目经理和产品经理合作,在客户的时间限制内找到最佳解决方案.
- 使用有风格的组件和TypeScript独自构建了一个React组件库,帮助代理项目更快地运行,避免重复发明轮子.
- 构建一个组件库,作为提供主题的实用优先方法, layout, grids, responsive design, typography, unstyled behavior, and functionality. 关注点的适当分离会产生直观、通用和可组合的API.
- 构建React组件库,以便即使是公司中最初级的开发人员也能快速上手并开始运行.
- 通过使用行业验证的方法为软件工程设置标准,改进了公司的开发指导方针和代码质量.
高级软件工程师
Wealthsimple
- 处理Wealthsimple for the Advisors产品的全栈开发(Wealthsimple的B2B产品,使财务顾问能够专注于为客户提供价值).
- 帮助将产品从仅用于桌面的概念验证转变为可靠的企业级产品,顾问每天都使用它在桌面和移动设备上运行业务. 该产品包括强大的客户端登录、活动提要、仪表板和图表.
- 实现白色标签:主题化React组件的内部设计系统的关键角色, 消除与主题相关的bug.
- 实现了助理角色:该功能允许顾问邀请同事来安全地管理客户,从而节省了顾问的时间. 支持多对多关系,以便公司的顾问可以共享助理. 它支持新用户和现有用户的入职. 这个项目帮助建立了支持其他角色的基础.
- 重写了“以客户身份登录”功能(“模拟”):该功能允许顾问以客户自己的方式代表客户执行操作. 该功能也是日常内部操作的基础,没有它,我们的客户成功和运营团队将无法完成他们的工作. 在我加入Wealthsimple之前,这个功能不可靠,经常会失败. 通过重写后端和前端功能,我解决了与多年技术债务相关的可靠性问题, 将可靠性提高到100%.
- 面试候选人并指导后辈, react的中级和高级开发人员-帮助折旧多年的技术债务, hackathons, 以及公开演讲.
首席讲师- Web开发
Red Academy
- 曾担任Red Academy兼职Web开发人员基础课程的首席讲师, 这是一个为期十周的证书课程,旨在为学生提供网络开发的基本原理.
- 教授学生如何使用HTML开发网站, CSS, and JavaScript, 如何使用包括文本编辑器在内的行业标准工具, Git, CSS preprocessors, debugging tools, and more; also how to leverage the open-source community to build websites quickly and efficiently.
- 开发了一套工具来自动评估学生项目.
软件开发人员
Snapchat
- 将Bitmoji应用程序整合到Snapchat中. 技术包括JavaScript (Angular、React、Node).js), 安卓开发, iOS开发(Swift), Objective-C), 使用谷歌AppEngine进行服务器端Java开发, HTML, CSS, jQuery, and JavaScript.
- 将Snapchat整合到Bitmoji中,将Bitmoji整合到Snapchat中,这样用户就可以通过Snapchat认证使用Bitmoji,也可以在Snapchat中使用Bitmoji.
- 开发了Snapchat的API,以确保正确的Bitmojis可以从Snapchat中获得.
- 将Bitmoji搜索数据本地化为Snapchat支持的多种语言,使用户能够轻松地在Bitmoji和Snapchat应用程序中搜索他们语言的内容.
- 在Bitmoji API中推出内容推出功能,逐步向用户推出新内容,防止服务器过载.
- 为独特和复杂的软件问题的规划和实现编写详细的技术文档, 并进行了开发实施, 同时对数据周围严格的法律和安全要求非常敏感.
- Taught JavaScript web application development at a college in Los Angeles in support of Snap's community involvement initiatives; including the creation of educational and engaging learning experiences utilizing Bitmoji. 这款教学应用程序可以获取天气数据,并根据天气显示一个bitmoji.
- 使用React和Redux独立设计和开发内部工具前端应用.
- 单元测试的React- redux应用程序,包括React组件, Redux reducers, along with Mocha, ES6 modules, JSDom, Enzyme, DeepFreeze, and more.
软件开发人员
Bitstrips
- 为客户端web、移动端和服务器端(Node . js)构建JavaScript应用程序.js). 执行单元测试和UI测试. 使用Mocha、Jasmine、Chai、Sinon、Jest、Selenium和WebDriver创建测试驱动开发. 实现了Angular、React和Node的代码测试.js.
- 使用Cordova和Ionic开发HTML5 JavaScript移动web应用程序.
- 创建原生Android应用程序,包括使用JUnit进行单元测试, Robolectric, and Espresso.
- Worked with native iOS development working with Objective-C and Swift; including keyboard extension. 在黑客日开发了一款Apple Watch应用. 使用Kiwi进行单元测试.
- 全面改进并领导前端应用程序的CSS开发.
- 彻底修改bitstrip手机应用漫画编辑器,从Flash切换到HTML5 Canvas,以帮助减轻技术债务.
- 使用各种构建工具和包管理器. 移动网络:NPM, Grunt, Gulp, Bower, Webpack, Browsersync, CSS pre-processors, Babel, Browserify, Gradle (Android), iOS (CocoaPods, 迦太基)等等.
- Worked on Hack Day projects which included coding in Meteor and Ruby/Sinatra; and also working with the Google Maps API and image processing.
首席执行官b|技术主管
Team Atomic, Inc.
- 当时我和我的商业伙伴共同创立了一家公司,担任技术主管和首席执行官.
- Created pixel-perfect web development from PSD mockups; including custom CSS, HTML, and JavaScript.
- 尽可能高效地解决客户问题.
- Developed the business; performed client acquisition and administration.
前端开发人员
加拿大橘子银行
- 使用Bootstrap和自定义CSS实现响应式网页设计.
- 使用jQuery和jQuery UI开发一个自定义插件.
- 使用AngularJS JavaScript框架,独自为新Tangerine的“Forward Banking”博客开发了所有客户端功能. 该应用程序使用WordPress作为REST服务, 允许用户通过API读写博客. 创建了自定义指令开发,在AngularJS中增加了对现有库和插件的支持, 包括Modernizr用于特征检测, 以及Angular对流行的用于响应式图像的pictufill插件的官方支持.
- 使用AngularJS和Handlebars开发和实现客户端JavaScript模板解决方案.js; included core structural template logic as well as a library of reusable components for rapid development.
- 用前端框架支持前端团队, build tools, problem solving, troubleshooting, 使用Git进行版本控制.
前端开发人员
Sheridan College
- 管理2013年谢里登学院重新设计项目的前端开发. 这包括通过扩展基本的语义网格系统来开发自定义CSS框架, 向CSS添加面向对象的方法,将样式声明与语义标记解耦, 自定义jQuery脚本, 开发一个自定义的Accessibility小部件,包括高对比度和页面上的文本大小调整控件. 所有这些,以及执行第三方机构为桌面和移动设备提供的具有挑战性的设计愿景.
- 开发了一个自定义WordPress主题设计,包括CMS开发.
- 创建并开发了一个自定义HTML电子邮件时事通讯生成器,该生成器根据帖子创作要求查询正确的帖子. 与Sheridan Insider的电子邮件活动软件一起使用,这是一个定制开发的WordPress解决方案.
- 使用CSS预处理和jQuery的前沿实践开发了一个自定义的微型网站前端,包括高级和高效的响应式网页设计实现.
- 为最终用户提供SiteCore内容管理系统的企业培训,包括培训讲习班, 通过电子邮件和电话提供技术支持, 以及技术支持文档的编写.
- 在Sheridan标准化web开发实践的过程中,配置并编写Wiki设置的内容. 维基作为信息中心和谢里丹的可扩展web开发的最佳实践指南.
- 创建了一个模板,用于快速开发要实现到现有站点主题中的页面.
Web设计师b| Web开发人员
Funding Matters
- 发展融资事务公司.公司网站及姊妹公司网站.
- 为Funding Matters的客户设计、开发和改进网站.
- 在WordPress和ProcessWire中创建了自定义内容管理系统的设计和开发.
- 根据web内容无障碍指南(WCAG 2)设计和开发无障碍网站.0)政府资助的网站.
Experience
为纹身艺术家和客户的移动应用程序
http://tinaciousdesign.com/portfolio/mobile-app-tattoo-artists-piercers-android人体穿孔珠宝策展工具
http://tinaciousdesign.com/portfolio/jewelry-curation-tool-body-piercings理财顾问Wealthsimple
我帮助将产品从一个仅用于桌面的概念验证转变为一个可靠的企业级产品,顾问们每天都在桌面和移动设备上运行他们的业务. 该产品包括强大的客户端登录、活动提要、仪表板和图形.
Since I joined, B2B业务从一个小贡献者变成了公司成长和成功的主要参与者.
白色标签:主题化React组件的内部设计系统的关键角色, 消除与主题相关的bug.
关联角色:此功能允许座席邀请同事来安全地管理他们的客户,从而节省了座席的时间. 支持多对多关系,以便公司的顾问可以共享联系人. 它支持新用户和现有用户的入职. 这个项目帮助建立了支持其他角色的基础.
重写“作为客户登录”功能:该功能允许顾问代表他们的客户执行操作. 这个特性也是日常操作的基础.
Bitmoji (iOS, Android, Chrome,后端API)
http://tinaciousdesign.com/portfolio/bitmoji/前端是使用React构建的JavaScript, Angular, 原生Android (Java), native iOS (Swift, Objective-C), 苹果手表原型, 和iOS键盘应用程序扩展.
后端开发是用Node完成的.js using Express.js and Hapi.. js, OAuth, MySQL, PostgreSQL. 后端API开发是使用谷歌AppEngine在Java中完成的.
测试驱动开发包括单元测试(Karma), Jasmine, Mocha, Sinon, Chai, XCTests for iOS, JUnit for Android), 集成测试(Python), Node.UI测试(Selenium, XCUITests for iOS, Espresso for Android).
Canned Replies
http://cannedreplies.com最初只是我自己的一个生产力工具,后来变成了人们每天都在使用的产品. 罐头回复目前有6个,在Chrome上有超过000名用户,在Android上有数百名用户,平均评分为4星以上.
该项目是实时的,目前正在功能开发中.
加拿大橘子银行网站
http://tangerine.ca新的橘子网站是加拿大第一个完全响应的银行网站. 我还增加了对Internet Explorer 7和包括Windows在内的各种移动设备的可访问性支持, Android, BlackBerry, and Apple. 此外,我还开发了谷歌Maps API.
橘子银行加拿大远期银行博客
http://www.tangerine.ca/forwardthinking谢里登书院重新设计
http://tinaciousdesign.com/portfolio/sheridan-college-redesign/蒙特利尔魁北克大学的ISM教授
http://tinaciousdesign.com/portfolio/ism-uqam/一个招聘公司的响应式Web应用程序
http://tinaciousdesign.com/portfolio/responsive-web-app/该应用程序具有动态表单功能,可以根据需要将表单部分动画化. 这些表格设计得很有趣,填写起来也很快. 表单的设计考虑到了高级用户, 允许精通技术的员工快速填写表格,键盘友好的输入.
课程规划应用程序原型
http://tinaciousdesign.com/portfolio/tinacious-teaching-lesson-planning-web-app/自由职业者简历网站
http://tinaciousdesign.com/portfolio/resume-website/社交网络活动源设计与开发
http://tinaciousdesign.com/portfolio/social-media-website-design/Skills
Languages
Ruby, JavaScript, CSS, Sass, SCSS, TypeScript, Java, Swift, Objective-C, Go, HTML, Less, PHP, Kotlin, CSS3
Frameworks
Redux, Angular, Jasmine, Ruby on Rails (RoR), Sinatra, AngularJS, Next.js, Ember.js, React Native, next.js, Express.js
Libraries/APIs
REST api, React Redux, React, jQuery, Node.. js, Ruby on Rails API, Vue, D3.js, OpenAPI
Tools
Mocha, Karma, NPM, Stylus, Adobe Photoshop, Adobe Illustrator, Git, Prisma, Bower, Yeoman
Paradigms
函数式响应式编程, 函数式编程, 敏捷软件开发, Unit Testing, 测试驱动开发(TDD)
Platforms
WordPress, Android, iOS, Drupal, Drupal 7, Firebase, MacOS, Linux, Drupal 8, 谷歌云平台, YouTube, Shopify
Other
UI Testing, Chrome Extensions, Styled-components, Kotlin移动多平台(KMM), WebSockets, Serverless, Chromecast, ProcessWire CMS, Cordova, Redis Streams, Redis Pub/Sub, Vimeo, Plugins, Feature Flags, GitHub Actions, CI/CD Pipelines, Maps, Geolocation, Push Notifications
Storage
PostgreSQL, MongoDB, MySQL, Cloud Firestore, Redis, RoomDB
Education
教育学学士学位
英属哥伦比亚大学-温哥华,BC,加拿大
法语和西班牙语文学学士学位
约克大学-多伦多,安大略省,加拿大