Software development skills and craft can be leveled up by acquiring both abstract knowledge and concrete skills.
Examples of abstract knowledge include logic, while concrete skills can be TLA+, TypeScript, OOP, UML, Design Patterns, and DDD. Ruby on Rails is an example of a concrete skill.
The experience of coding in Objective-C for iPhone apps was found to be enjoyable compared to other object-oriented languages.
Developers thrive on problem-solving and need the opportunity to apply their skills effectively.