I always think of the summer as an opportunity for a fresh start. ☀️ Days seem longer and I feel more energetic like I can do anything within a minute. Even if I’m postponing, I still feel like I have a whole bunch of days remaining. 🏖

Meme: It's a trap!

The length of the days are the same and I’m not able to work 4 time faster. No, not even 2 times. Days are counting and summer comes to its end real quick. ⏳ The best way not to waste my ‘creative summer break’ is creating a detailed plan 📝. Firstly, I created a ‘backlog’ (To-Do list) of ‘tasks’ (topics) with estimated time consumption - or how much time I tend to deal with a topic. Then, instead of real sprints, I established deadlines* which help me notice if I’m on schedule or not.

Meme: We'll ask for estimates ... and then treat them as deadlines

I don’t believe in just walking through tutorials. It’s better to use the new techniques in real projects, but at work you don’t always have a chance for doing that. 😫 So I picked some passion projects on which I can practice newly acquired knowledge. Primiarily, I’ll deal with iOS projects 📱, but to widen my aspects I’m going to learn server side, web frontend and desktop technologies and programming languages as well. 🖥

Meme: "Full stack developer"

So this blog is dedicated to my thoughts 💭 of the technologies I’ll try during the summer. You can find my scheduled To-Do list below.👇 I’ll keep this post updated with the following progress notations:

  • [  ] - Not started yet
  • [⇢] - In progress
  • [✓] - Done
  • [𐄂] - Not on the list anymore

Have fun. 🎉

* By deadline I mean the date until I’d like to finish the development/learning of a topic.
I indicated the time consumption in parenthesis.


☝️ Prerequisites

Since all of these technologies are required to most of my passion project, they should be done by 14th of June

  • [✓] Setup a blog - (2 days)
  • [⇢] Mastering git - (3 days)
  • [⇢] Learning RxSwift with MVVM - (1 week)
  • [  ] 🛠 Pimp Xcode templates: - (3 days)
    • [  ] Reactive Project pattern
    • [  ] Reactive templates (ViewModel, ViewController, etc)
    • [  ] MoyaProvider + Services file templates
  • [  ] WWDC App marketing video, resources - (1 day)

🍹 Passion Projects

  1. ♻️ JSON to Swift converter - 18th of June (2 days)

    • [  ] Add ObjectMapper support
    • [  ] API endpoints to Moya Provider (+/- RX)

  2. ⚙️ Swagger to Swift - 18th of June (4 days)

  3. 🗺 RxMapKit - 22nd of June (3 days)

    • [  ] Support Annotations & Clustering with RxMapKit

  4. 💏 Coition diary - MVP by 3rd of July

    • [  ] Golang API server - 2 weeks
    • [  ] Mastering Realm 👑 - 3 days
      • [𐄂] Mobile platform can’t afford
    • [  ] Flux & Redux (ReSwift) - 3 days
    • [  ] UI + Unit testing w/ Quick & Nimble - 2 days

  5. 🍿 Movie night - Vote app - 20th of Aug. (2 weeks)

    • [  ] Angular2 or ReactNative

  6. 🌱 Smart flowerpot - MVP by 31 of Sept.

    • [  ] Test Driven Development - 1 week
    • [  ] A/B testing - 5 days
    • [  ] Bluetooth communication - 2 weeks
    • [  ] 🏡 HomeKit - 4 weeks
    • [  ] Layer animations + New iOS10 UI animations - 4 days
    • [  ] AirBnB’s Lottie + AfterEffects - 3 days

🎈 Having fun with the basics

  • [⇢] 🐍 Python basics - 2nd of July (4 weeks)
  • [  ] Discover Swift Playground’s capabilities - 18th of June (2 days)
  • [  ] Strengthen C knowledge - 20th of Aug. (1 week)
  • [  ] 💎 Ruby basics - 18th of June (5 days)
  • [  ] GCD & CoreData basics - 31st of Aug. (3 days)

🕰 Things that requires more time

  • [  ] Image processing
  • [  ] Deep Learning

❌ Things I rejected

  • [𐄂] Pros and Cons of Cocoapods vs Carthage
  • [𐄂] Swift Server Side Programming w/ Perfect - Post coming soon…
  • [𐄂] Compare socket communication, Node.js vs Swift
  • [𐄂] Haskell, Clojure, Scala