I've been an iOS developer for a number of years now. I like learning new technologies and approaches, but recently I've been getting more and more frustrated by how complex and fast paced everything is becoming.

It used to be that you had to know Objective-C and UIKit and you were set. Then things like unit and ui testing became popular. Swift came out with its set of fancy features and different way of seeing things. Everyone wants to use some sort of architecture. The number of frameworks released just by Apple is mind boggling and getting any sort of exposure to most of them works be a full fine work. Then there is the whole third party ecosystem. There are so many tools and frameworks for everything (which are popular) that I can't even keep up with the new names I keep coming across.

Sure, I can learn new things, I like doing it. However, recently i I've applied to a company and they wanted knowledge of RxSwift. Well, experience, possibly writing a full blown app from beginning to the end. And it had to be highest possible quality, not a kind of "look, I know RxSwift, I can write apps in it, I'll learn more as I go along".

Other place wanted experience in the continuous integration system and ui testing framework that they use. And they expected to to know a lot about one of the many architecture you can use.

Then there is a lot of places that want you to know React Native. Sure, JavaScript is not complicated and the framework simplifies development, but getting to know the tools, creating a toy app, going through a lot of mistakes takes a lot of time. And of course you have to have demonstrable experience in it. Best if you've released an app written in it.

Then you're expected to be involved in the community. Side projects, open source projects. I've been getting the impression that it's becoming more and more about building your personal brand.

In short, I've been getting tired of all of that. It's exciting, but the expectations I find overwhelming. If I start learning a third new thing, I'm going to forget the first one. I miss the simplicity and the clarity of the early days of mobile development.

  • 6
    I am feeling exactly the same way though I work in the Microsoft stack. I am 54 and have 15 years experience with .net. Almost all interview questions are directed toward whatever JavaScript languages they are using at the time. There are so many things to know about .net that I just don't have time to keep up with the popular javascript frameworks. I also think agile development which I have been a part of was once a great way for teams to self manage has turned into a micromanagement tool that has made the work difficult for those of us who are used to being given a requirement and deadline, and programming best practices.
  • 0
    Here's my reminder to self: You only need one job. If they don't want you, move on and find another one. I agree with your opinion about personal branding. I think time management helps. Try to learn something fast by doing "deep work". Look it up.
  • 4
    I feel your frustration. Went through something similar two years ago. Application development has been democratized to a very high degree. We keep hearing stories of 10year old kids building apps. Granted that there is value in experience, but when you have young and cheap labor that can make the same app albeit with some reduction in quality, your experience no longer gives you an edge. On top of that, software industry must be one of fastest changing industries. I speculate that this is because of the inherent nature of software. The only limitation is hardware and creativity in what you can build. Note that the constant state of upheaval can be bad for both the consumer and the maker of software. For the both of them things are changing too rapidly to cope.
  • 1
    Keep up bruh. Architecture, programming patterns, and test driven development are VERY important and will no doubt make you an untouchable developer. I spent last year setting up Android CI/CD with Jenkins. This year Im tackling MEAN stack development and set up CI/CD for my Node.js project with Jenkins.
Add Comment