I am a Native iOS Developer. Currently, I am working with banking applications, developing and maintaining internal frameworks. Attempt for improving our architecture finding better and cleaner ways to write code has become a daily activity. Few days a week, after dinner, I fire up a playground and experiment with Swift. Somedays I go to sleep with unresolved questions rushing through my brain, but somedays, I come up with a new idea for an article or framework. Those are the days I dearly cherish.2iv>;
Swift FTW! Sure it has it's shortcomings. Everything does. As of Swift 3, Swift became predominant for a reason: Safety, modernity, readability, readability and readability. I write Objective-C almost everyday too due to codebase in most projects being older than Swift 3. Null exceptions are too bitter for my taste now. So is "everything is an object", non functional way of programming.
I can put the projects I have worked in, in two subcategories: Social & Banking. I have been using MVVM mostly, though I like to give a shot to VIPER on a large scale project some day. Projects I have worked so far in chronological order: ForteBank, IsCep, Clubs Connect and PartnerApps. Here are the two I am currently working on:
ForteBank is a modern free mobile application for quick and proper management of your finances.
Features I have implemented: Touch ID Login, Payments, Transfers, 3D Secure, Guest Transactions.
İşCep transforms the traditional banking experience and gives you the advantage of accessing your bank wherever you wish!
Features I have implemented: Face ID Login, Some parts of Bill Payment.
Clubs Connect is a social media app exclusive for iPhone. Clubs Provides a sincere sharing and messaging platform for groups of people. Clubs Differentiates between various groups so that every club's member may enjoy more relevant posts (Currently not live on the AppStore).
I have implemented the whole application; including features such as: Live Chat, News Feed, Push Notification.
Partner Applications were series of applications that used the same codebase. They were powered by the local video leader izlesene.com. For every customer who has a channel (like Youtube Channels), a new application with unique theme is being generated using Fastlane.
Features I have implemented: News Feed, Live Chat & Stream improvements.
I have recently infected with Vim Virus and believe me it is spreading. I even try to do iOS development via Vim instead of XCode just for the kicks. It is a lot of fun to be able to learn things while you are doing something as simple as text editting. And I feel like if I practice enough, I might soon become some sort of keyboard virtuoso :] May the force be with me.
My code represents my work. I try to write codes to be proud of. However, there is no perfect code. There is always room for improvement. So I believe not being highly proud of your aged code might be a good sign: A sign of progress. One should apply her best, feel good about it and then, try finding holes in that "best". I give high importance to following conventions consistently. I do not write unefficient algorithms knowing there is a better way even if the effect to performance is neglectable. I follow (or at least try to) the Object Oriented and/or Functional Programming Fundamentals in every line I write. And I believe that:
Software Development is an art, as much as it is science.
My experience lies with iOS, yet I would be thrilled to work with other platforms and languages. I hope to dig deep into Machine Learning (probably with Python) soon enough. Being limited to a platform is definetely not something I support.
I hope to work with people who has appetite for knowledge at least as much as I do. The ideology of the team should promote productivity. Since more or less the half of the time we are awake is spared for work, people should also be having fun doing their job; and consequently, the job should not feel like a job.