Upgrade to Pro — share decks privately, control downloads, hide ads and more …

My First Year with iOS

Danny Hertz
September 09, 2014

My First Year with iOS

Danny Hertz

September 09, 2014
Tweet

More Decks by Danny Hertz

Other Decks in Programming

Transcript

  1. Who am I? • Born and raised in Queens, NY

    • Full-stack developer for 7+ years • Working at Twitter for 4+ years • Revenue front-end for 2 years • Mobile web for a year • iOS for a year
  2. Mobile web I love you, but you’re bringing me down

    • The mobile-first force is strong @ Twitter • Needed to choose between Web, Android, and iOS teams • I dabbled with iOS pre-ARC but struggled • Mobile web just wasn’t as fun anymore with all the crazy API/Browser discrepancies • The choice to move to iOS was easy!
  3. Impostor syndrome • Very common with software engineers • Even

    more common when starting a new language • Social media only intensifies the information overload • Surround yourself with the honest people who will share stories “Despite external evidence of their competence, sufferers of impostor syndrome remain convinced that they are frauds and do not deserve the success they have achieved. Proof of success is dismissed as luck, timing, or as a result of deceiving others into thinking they are more intelligent and competent than they believe themselves to be” http://en.wikipedia.org/wiki/Impostor_syndrome
  4. This feels…different • iOS community feels pretty different from others

    • Fewer polarized camps like the web dev community • The Apple mothership is opinionated and unifying • Some strange cult-like obsessions of certain personalities can be intimidating and off-putting to newcomers • But an overall friendly and amazing group of people
  5. iOS Bootcamp • 5 day intensive iOS course at Twitter

    HQ • Lectures with assignments at the end of class • Senior iOS engineers hang around to help out • Build a fake Twitter client • Everyone graduates with a production bug
  6. Starter bug • Fix scrollview pagination bug • Simple and

    visual with high impact • Ride that struggle bus • Look it over with peers • Ship it!
  7. iOS @ Twitter • Millions of consumers • 40+ iOS

    developers • Platform & Product teams • Items framework, DDG/Feature switches • +1, +2 peer review system
  8. Learn to spot a good mentor • You don’t have

    to actually know them IRL • Reach out to them on social networks and form a relationship • Find someone who knows a ton and shares new things they learn along the way • Be wary of developers who make rash definitive statements • Stay away from demeaning and pretentious developers • Be thankful and give feedback
  9. Twitter • I prefer to follow individual developers over automated

    feeds • Device follow users who tweet infrequently • Reach out to people and ask politely for help/feedback.
  10. Google all of the things • Use the “ios “

    prefix to avoid platform confusion • Filter by “Past year” or ~2013 to help filter results with ARC
  11. Stack Overflow • First check if your question has been

    answered before • Use Twitter/Facebook to amplify the reach of the question • Pretty quick turnaround for iOS-related questions
  12. Blogs & Newsletters • Pocket + iOS articles = HEAVEN

    • Great sources with tons of content to pick and choose • Objc.io: Monthly issues with tons of wisdom on major topics like animations, views, concurrency, etc • iOS Dev Weekly: News, tools, code, design, jobs, etc
  13. Podcasts • Citibike + Podcast.app = HEAVEN • Great way

    to learn more about Apple/iOS culture and the major players in the industry. • Cocoa Radio: Short talks with iOS framework/tool/app developers • Product hunt: Longer talks with developers, VCs, and startup folks
  14. Books on books • Huge fan of physical books. They

    help avoid distraction. • BNR is great to jump right into Xcode and start coding • Effective series is perfect for picking up and reading a chapter every day • PTL covers good breadth and depth on more advanced topics
  15. Weekend topics • Pick a topic (Core Data, VC Containers,

    etc) • Don’t leave the coffee shop until you kinda get it • Make a proof of concept app
  16. Side projects • Best way to put your skills to

    the test • Helps you stay motivated in the long term • Beta testing is really helpful and fun • Use tools, libraries, and API’s that you can’t use at work
  17. Working with Peers • Coworkers get together outside of work

    every week • Work on our respective side projects • Help each other with bugs and system design • Helping others slowly fights impostor syndrome
  18. Conferences • Schmooze with other awkward engineers and make some

    good connections • WWDC: Feel like part of the Apple family and talk with actual Apple engineers • Cocoa Conf: Smaller more intimate conference with some non- technical talks too
  19. Meetups • Meet other iOS devs in your city •

    Learn about tools/practices of other major companies in your city • Drop the egos and pick up a beer • It got me here! http://iosirl.com/
  20. Cocoapods • Take it apart - It’s like the iOS

    “View Source” • Don’t use something you won’t take the time to understand • Don’t reinvent the wheel without learning from previous wheels • Keep an eye on it for updates or deprecations
  21. Going forward • Start mixing Swift resources into my rotation

    more • Contribute to an open source project or pod • Finally get an app into the App Store