{"id":11,"date":"2014-12-02T07:20:14","date_gmt":"2014-12-02T07:20:14","guid":{"rendered":"http:\/\/brian.cordanyoung.com\/Portfolio\/?page_id=11"},"modified":"2024-10-24T23:23:52","modified_gmt":"2024-10-24T23:23:52","slug":"software-engineer","status":"publish","type":"page","link":"https:\/\/brian.cordanyoung.com\/Portfolio\/software-engineer\/","title":{"rendered":"Software Engineer"},"content":{"rendered":"\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<p>I&#8217;ve been building apps for Apple platforms within startups for more than 8 years. As a senior iOS Engineer, I am excited to mentor other engineers and build a cohesive team better that than the sum of its parts.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"has-text-align-center\"><a href=\"\/share\/Brian-Cordan-Young-ios-engineer-resume.pdf\" data-type=\"link\" data-id=\"\/share\/Brian-Cordan-Young-ios-engineer-resume.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">Resume<\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"has-text-align-center\"><a href=\"http:\/\/www.linkedin.com\/in\/brian-young-6398901\" data-type=\"link\" data-id=\"www.linkedin.com\/in\/brian-young-6398901\">LinkedIn<\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"has-text-align-center\"> <a title=\"GitHub Account\" href=\"https:\/\/github.com\/briancordanyoung\">GitHub Profile<\/a><\/p>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"has-small-font-size\">A list of core competencies and experience&#8230;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Project Structure and Automation<\/h3>\n\n\n\n<div class=\"wp-block-columns are-vertically-aligned-top is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-top is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<p>A well-structured project can encourage well-factored and better-structured code. I am experienced at refactoring projects into multiple frameworks and Swift packages, making core business logic available to additional apps. This separation helps junior engineers develop a better understanding of how to separate objects and adhere better to SOLID principles. This increased modularization improves testing, compilation time, and can help with progressively adopting new Apple technologies.<\/p>\n\n\n\n<p>Humans make mistakes. Consistent quality-products require automating away human error, with the added benefit of saving time too. It is important to stay aware of where the pain point of a person and teams workflow is and take the time to solve it.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-top is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<ul class=\"wp-block-list\">\n<li class=\"has-small-font-size\">Xcode Targets<\/li>\n\n\n\n<li class=\"has-small-font-size\">Swift Package Manager<\/li>\n\n\n\n<li class=\"has-small-font-size\">CocoaPods<\/li>\n\n\n\n<li class=\"has-small-font-size\">Swift Package Plugins<\/li>\n\n\n\n<li class=\"has-small-font-size\">xcconfig and project configuration <\/li>\n\n\n\n<li class=\"has-small-font-size\">Bash Scripting<\/li>\n\n\n\n<li class=\"has-small-font-size\">Optimized build dependency setup<\/li>\n\n\n\n<li class=\"has-small-font-size\">Scripted build product customization<\/li>\n\n\n\n<li class=\"has-small-font-size\">SwiftGen<\/li>\n\n\n\n<li class=\"has-small-font-size\">SwiftLint<\/li>\n\n\n\n<li class=\"has-small-font-size\">Fastlane + Bundle<\/li>\n\n\n\n<li class=\"has-small-font-size\">CircleCI Configuration<\/li>\n\n\n\n<li class=\"has-small-font-size\">Swift-Danger Configuration<\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Document and Communicate<\/h3>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<p>Engineering meetings without notes or a documented solution may as well have never happened. People misunderstand each other and memories are fragile. Despite my own dyslexia <em>(or maybe because of it)<\/em> I am an avid documenter of the systems I work with. Most importantly the time spent writing has proven to save time in making sure we all are building the same thing.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<ul class=\"wp-block-list\">\n<li class=\"has-small-font-size\">Documentation Comments (DocC).<\/li>\n\n\n\n<li class=\"has-small-font-size\">API Model descriptions.<\/li>\n\n\n\n<li class=\"has-small-font-size\">Code comments explaining &#8220;why&#8221;.<\/li>\n\n\n\n<li class=\"has-small-font-size\">Software Design Specification (SDS).<\/li>\n\n\n\n<li class=\"has-small-font-size\">Shared Meeting Notes.<\/li>\n\n\n\n<li class=\"has-small-font-size\">Gratuitous use of linking between Slack, Github, and documents\u2014forming a clear trail of deliberation.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Frameworks and Technology<\/h3>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<p>I began developing for Apple platforms using Objective-C*. My career grew as Swift was released and matured. I have written Obj-C adapters to bridge between both C# and C++. I am competent at bash, Ruby, and other scripting languages. The architecture patterns I have worked within are MVC and MVVM, while I continue to read up on the other interesting options like TCA, RIB, and VIPOR. In general, these more defined patterns become more helpful when working on larger teams, which haven&#8217;t been appropriate within the small startups I have been a part of to date.<\/p>\n\n\n\n<p class=\"has-small-font-size\">* Technically first MacOS code I wrote was in C using CodeWarrior, but it was an absolute mess!<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<ul class=\"wp-block-list\">\n<li class=\"has-small-font-size\">UIKit<\/li>\n\n\n\n<li class=\"has-small-font-size\">SwiftUI <em>(iOS &amp; macOS)<\/em><\/li>\n\n\n\n<li class=\"has-small-font-size\">Swift Concurrency<\/li>\n\n\n\n<li class=\"has-small-font-size\">DispatchQueues <em>(GCD) <\/em>&amp; NSOperations<\/li>\n\n\n\n<li class=\"has-small-font-size\">AVFoundation <em>(Video Capture, Compression, Transcoding)<\/em><\/li>\n\n\n\n<li class=\"has-small-font-size\">Alamofire, URLSession, Codable, AnyCodable, API clients, etc&#8230;<\/li>\n\n\n\n<li class=\"has-small-font-size\">Accessibility<\/li>\n\n\n\n<li class=\"has-small-font-size\">Local Authentication<\/li>\n\n\n\n<li class=\"has-small-font-size\">CloudKit<\/li>\n\n\n\n<li class=\"has-small-font-size\">MapKit<\/li>\n\n\n\n<li class=\"has-small-font-size\">CoreData<\/li>\n\n\n\n<li class=\"has-small-font-size\">WebKit<\/li>\n\n\n\n<li class=\"has-small-font-size\">Swift Argument Parser<\/li>\n\n\n\n<li class=\"has-small-font-size\">XCTesting &amp; Swift Testing<\/li>\n\n\n\n<li class=\"has-small-font-size\">Hummingbird <em>(HTTP Server)<\/em><\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Maintainable Evolving Code<\/h3>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<p>Throughout my career, Apple has brought on many technology transitions. The natural evolution of software includes even more transitions. These take time, planning, and are made easier with well-structured code. These transitions often can&#8217;t be easily defined in a single issue or even epic. I take pride in managing these long-term conversions by building team consensus early, laying the groundwork in each new PR, and steadily moving the codebase in a clear well defined direction. <\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<ul class=\"wp-block-list\">\n<li class=\"has-small-font-size\">Objective-C -&gt; Swift<\/li>\n\n\n\n<li class=\"has-small-font-size\">UIKit -&gt; SwiftUI<\/li>\n\n\n\n<li class=\"has-small-font-size\">Dispatch -&gt; Swift Concurrency<\/li>\n\n\n\n<li class=\"has-small-font-size\">NSOperations -&gt; Combine<\/li>\n\n\n\n<li class=\"has-small-font-size\">Framework Targets -&gt; Swift Packages<\/li>\n\n\n\n<li class=\"has-small-font-size\">Adding Content Guides, Asset Catalogs, Code Generation, etc..<\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Leadership<\/h3>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<p>I&#8217;m an experienced leader and hiring manager that enjoys fostering the skills and growth of my teammates. I believe in servant leadership and model the actions I expect out of the team. Engineers do their best when they feel ownership over their work. This takes careful trust while clearly defining expectations and requirements. I make myself open to critique, encouraging honest feedback, while also being sure to give clear actionable feedback to those I work with.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<ul class=\"wp-block-list\">\n<li class=\"has-small-font-size\">Cognoa: Led the iOS team as a Senior Engineer with two other engineers, including hiring.<\/li>\n\n\n\n<li class=\"has-small-font-size\">Pixar Shorts: Led the technical aspects of the Buzz Lightyear Home Video project.<\/li>\n\n\n\n<li class=\"has-small-font-size\">Rhythm &amp; Hues: Led a 15-20 person team in the modeling, texturing, lighting, and compositing for a competitive bid project.<\/li>\n\n\n\n<li class=\"has-small-font-size\">4D Inc.: Managed the annual Developer Conference, with 350+ attendees and staff.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Custom Tools<\/h3>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-top is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<p>When you see a problem, solve it. It&#8217;s important to watch for the pain-points within your team&#8217;s efforts and imagine what would make the work faster, easier, or better for everyone. I&#8217;ve taken the initiative throughout my career to build tools that make an impact:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>When client app development slowed because of the project&#8217;s server-driven UI, I made a <a href=\"https:\/\/brian.cordanyoung.com\/Portfolio\/projects\/deeplink-data-encoder-decoder\/\">deeplink decoder<\/a> and a <a href=\"https:\/\/brian.cordanyoung.com\/Portfolio\/projects\/deeplink-data-encoder-decoder\/\" data-type=\"link\" data-id=\"https:\/\/brian.cordanyoung.com\/Portfolio\/projects\/deeplink-data-encoder-decoder\/\">dummy server<\/a> to unblock both the iOS and Android app teams.<\/li>\n\n\n\n<li>Reduced render-farm usage and sped feedback time by building a tool to calculate frame ranges to be rendered, excluding ranges that have already been rendered. This frame-range math made it each to speed feedback times.<\/li>\n\n\n\n<li>When running webinars, I made a macOS HUD app to make it more clear when the mic was muted or live. <em>(Moving to Zoom made this obsolete.)<\/em><\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Training<\/h3>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<p>My original Apple Platform development training came from the fine team at <a href=\"https:\/\/www.invasivecode.com\/ios-training-swift.html\">InvasiveCode<\/a>. My thanks to Geppy Parziale and Eva Diaz-Santana for the excellent foundation in the Cocoa design patterns.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><a href=\"https:\/\/www.invasivecode.com\/ios-training-swift.html\"><img loading=\"lazy\" decoding=\"async\" width=\"400\" height=\"248\" src=\"https:\/\/brian.cordanyoung.com\/Portfolio\/wp-content\/uploads\/2014\/12\/Invasivecode@2x.png\" alt=\"Invasivecode Logo\" class=\"wp-image-42\" style=\"width:180px;height:auto\" srcset=\"https:\/\/brian.cordanyoung.com\/Portfolio\/wp-content\/uploads\/2014\/12\/Invasivecode@2x.png 400w, https:\/\/brian.cordanyoung.com\/Portfolio\/wp-content\/uploads\/2014\/12\/Invasivecode@2x-241x150.png 241w, https:\/\/brian.cordanyoung.com\/Portfolio\/wp-content\/uploads\/2014\/12\/Invasivecode@2x-300x186.png 300w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/a><\/figure>\n<\/div><\/div>\n<\/div>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve been building apps for Apple platforms within startups for more than 8 years. As a senior iOS Engineer, I am excited to mentor other engineers and build a cohesive team better that than the sum of its parts. Resume LinkedIn GitHub Profile A list of core competencies and experience&#8230; Project Structure and Automation A [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template-portfolio.php","meta":{"footnotes":""},"class_list":["post-11","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/brian.cordanyoung.com\/Portfolio\/wp-json\/wp\/v2\/pages\/11","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/brian.cordanyoung.com\/Portfolio\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/brian.cordanyoung.com\/Portfolio\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/brian.cordanyoung.com\/Portfolio\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/brian.cordanyoung.com\/Portfolio\/wp-json\/wp\/v2\/comments?post=11"}],"version-history":[{"count":23,"href":"https:\/\/brian.cordanyoung.com\/Portfolio\/wp-json\/wp\/v2\/pages\/11\/revisions"}],"predecessor-version":[{"id":464,"href":"https:\/\/brian.cordanyoung.com\/Portfolio\/wp-json\/wp\/v2\/pages\/11\/revisions\/464"}],"wp:attachment":[{"href":"https:\/\/brian.cordanyoung.com\/Portfolio\/wp-json\/wp\/v2\/media?parent=11"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}