| Honestly, this sounds to me like... "welcome to the real world of software development!" :-) Not saying that every job is identical in every respect, but probably few jobs will ever fit your (or my) definition of perfect. Sounds like there are some great opportunities here. If management is at least on board with the theory of doing better CI/CD, then there is probably opportunity for you to lead that! And also opportunity for you to work with management to figure out how to fund it! Customers often don't care about engineering improvements if they can't tell a difference in the end product, so you may have to be creative about how to sell this. Likewise, customers don't care about programming. If they think about it at all, they'd probably be happy that most of your work is light customization, as that's less likely to cause them bugs. Understanding what makes customers want to hand over money in exchange for your work is very valuable. You may be able to eventually propose new products or feature that they want to pay for, and that you can write software for. I feel like I'm missing context for your iOS maintenance mode question, but sure, "finished" iOS applications need to be maintained for new iOS devices and such. If it's really what you want, you probably can find another job that's all (or mostly) coding, and on a team that's already using better practices. But on the other hand, I think your job sounds like a great place to learn about what makes customers happy and how to push better engineering concepts from "suggestion" to "funded plan" to "finished". As always, beware of career advice from random people on the internet! |