I agree with this post on maccrazy’s blog. (It’s in Korean and I don’t translate it for you. I’m sorry for that. )
I’ve worked on an iOS project of which original S/W engineers didn’t understand Objective-C and Cocoa. Also they didn’t understand memory management. They looked to be just like a freshman student ( or even worse ) in CS.
ARC is much better than garbage collection and it replaces the old release/retain/autorelease based memory management. The compiler is smart enough that it can put those automatically for ARC.
However, even though novice-but-pretending-excellent-iOS-programmer-by-passing-interview-questions-by-memorizing-stuffs-not-by-making-those-him/herself can say that they don’t need to understand memory management, every S/W engineers should understand it. Even when they write in C++…. oh, my! I’ve never thought there could be people who write code that badly when I got my first job here in the USA.
I’m sorry but there are too many people who just studied computer languages and his/her interested framework and make things work on a surface. Then people who hire S/W engineers without understanding programming and S/W engineering just tend to judge the candidates by figuring out how many buzz words or terminology they know.
One of the funniest article I read was, something like.. English major has better chance to be a manager, so it’s not necessary to study CS/E.. or something like that..
Well.. however the most fundamental thing is that they need to be out of the box.
S/W engineers who have broad capability tend not to remember some terminology if he passed the level he has to remember those like 10 years ago. The knowledge became melt into him. So, he understand those stuffs better than others. People should not overlook such case. They are really excellent S/W engineers.
How can a manager hire those people? The manager should have profound understanding also.