Hey everyone! I'm Fernando Ortiz, I'm 32 and work as a Software Engineer, remotely from Buenos Aires, Argentina. Let's start with a quick summary of my career:
- I graduated from the Universidad Nacional de La Matanza
- I've worked 2.5 years as a researcher in Augmented Reality publishing papers like this one.
- In February 2015, I started working as an iOS Developer in Adoos, a marketplace startup with mobile apps and a website.
- In October 2015, I left Adoos to start working at Infinixsoft, as a Software Engineer. I worked there until June 2020 in different roles, from iOS developer, to React Native/Node.js developer, to Project Leader and Mobile Architect.
- Then, in July 2020, I started working at Parser Digital where I'm working at this moment as a mobile Software Engineer and as Mobile Chapter Lead, organizing talks and events, and ensuring the knowledge is accordingly spread across the team.
- I'm also a University professor at the Universidad Nacional de La Matanza since 2020.
Apart from the main timeline I've just described, I have written articles, worked in projects and learned a lot of useful skills during these ~10 years.
--
🧠 My skills:
- iOS development:
- Swift (from 1.1 to 5.3). Advanced Swift knowledge and love for the language.
- Core Data and other core frameworks in the iOS landscape like in-app purchases, push notifications, etc.
- Ability to work on a project from the start to the publication on the App Store and beyond.
- Ability to modularize and scale iOS projects
- Node.js development:
- Javascript/Typescript knowledge.
- MongoDB
- GraphQL/REST
- React Native development:
- React/React Native practical knowledge.
- Redux/Vanilla React state management.
- Expo/standalone React Native experience.
- QA Automation
- Basic knowledge on mobile test automation using Appium/WebdriverIO.
- Project Leading
- Managing relationships with stakeholders.
- Working internally with teams assigning tasks, keeping internal teams functioning with clear priorities.
- Leading live demos with different stakeholders.
- Strategic planning and roadmapping.
--
📚 My articles:
- Notes and links on fixing font imports in iOS
- Designing apps with remote flexibility
- Home widgets in iOS
- Flutter: Initial impressions
- Forgotten UIKit gems: UIAppearance
- MVP: Minimum Viable Promise
- CI/CD in iOS Development
- DispatchGroup in Swift
- Mobile e2e tests using WebdriverIO and Appium
- Expressiveness and extensions
- How to modularize a big iOS project
- The Architecture Cake
- Basic AVPlayerViewController
- Decisions and Policies
- Persistence with Core Data and SwiftUI
- Custom Containers in SwiftUI
- Noise and sound
- Unidirectional Architectures and time traveling in Swift: II
- Unidirectional Architectures and time traveling in Swift: I
- On testing private methods
- On abstractions and architecture
- Starting Quick / BDD in iOS
- Testing the Untested
- Simple Dependency Injection using @propertyWrapper
- A single source of truth
- Minimal Networking layer from scratch in Swift 4
- Service-oriented AppDelegate
- Group By in Swift 3
- Architecting an Analytics layer
- A better, exhaustive switch in UITableView protocols
- Be Literal!
- Isolating tasks in Swift, or how to create a testable networking layer
- Customize MapKit’s MKMapView with Google Maps styling wizard
- Github now allows you to tag your repositories
- Keep your dependencies explicit
- Managing async code in Swift
- Interface builder is great. Storyboards are not
- Presentation Controls, custom views and lighter UIViewControllers - part 2
- Presentation Controls, custom views and lighter UIViewControllers - part 1
- Easily register and dequeue UITableViewCell in Swift
--
✍️ Important links: