I've worked at a couple of startups, two groups at Apple, two groups at Google and now at Twitter. I've learned two things chasing a feeling of fulfillment, like you seem to be:
1. You can't expect your job to give you the all of the fulfillment you need.
The authors makes it sound like after designing the UX, the implementation will become trivial. I think this is a bit naive because most serious applications go through many iterations of UX. Some of these changes will be small and not require significant re-plumbing, but others will necessitate a lot of behind-the-scenes churn.
My point is that it's better to design the plumbing of an application with some longer-term considerations than just "what do we need to implement that UI wireframe."
Minimal viable products are cool and all, but let's not use that as an excuse to write something that will need to be thrown out wholesale to add that big traction-building feature.
If you don't understand basic memory management without ARC, you have no chance of ever understanding the weak reference annotations that ARC requires in certain cases (e.g. to avoid retain loops).