I have never felt this good developing software. I have another post on this blog dealing with the “imposter” syndrome here. I don’t get that feeling with iOS development in Swift.
Not only do I feel confident in my skill with the Swift language, but learning the ins and outs of Swift has helped me understand other languages.
I have been a C# developer for about 3 years professionally now. There are several constructs that I can use effectively but never quite understood in any depth. Two examples that come to mind are delegates and interfaces. Sure I know what they are and I know how to use/implement them.
I know how to answer the interview question, “What is a delegate”, but I have never really understood them. That is until I learned about delegates in iOS. Not only does it make sense for the apps Im building for fun but now in my day job as a C#.NET developer I feel more confident that I know what I am doing.
Our current task at my day job is building an iOS and Android app in Xamarin. We are using all of the fancy IoC, Dependency Injection, etc. I have used and implemented several Interfaces but I never understood them at a deep level. I just finished a Swift tutorial on Protocols. At the end of the chapter the author says, “A Protocol is similar to what you would call an Interface in other languages.
“Holy Crap!”, Now I understand Interfaces in C#. It never ceases to amaze me.
I think learning Swift and iOS development is the best thing that has happened to my C# career.