What distinguishes a top 10% iOS developer? How can we draw parallels with the craftsmen of old? In what ways can we refine our skills following their lead? How should we select our projects, clients, and companies? Once involved in a project, how do we initiate change to ensure its success? Lastly, what principles should guide our career growth?
Enter Software Craftsmanship in mobile apps development. I spoke on the subject at the 11th birthday of Mobile Warsaw :
If possible, please take a moment to consider these three topics:
Craftsman vs Factory Worker.
There are two contrasting approaches to software engineering.
On one hand, you have the “Factory Worker” developer. Such developers do as they are told without showing interest in the project’s success or desire to learn new things. They keep knowledge to themselves, as they imagine sharing it would have made them easier to replace. Their main priority is maintaining a stable job. On the other hand, a
Software Craftsman takes full responsibility for the project’s success. As such, they require not only ownership of the tech stack but also some level of influence on business decisions. Craftsmen also openly share their knowledge, helping the entire team grow. Their main priority is a constant state of self-development.
You might ask yourself, “What kind of developer am I?” The truth is, you’re likely a blend of both types. However, the proportions do matter. As in the Native American legend of the two wolves, it all comes down to the approach we choose to adopt most often.
Quality is (almost) always expected of you!
“How much is it going to cost me to implement these Unit Tests or do this refactoring?” is a common question. However, it’s not the right one. Instead, businesses should ask: “What is the cost of NOT maintaining a quality codebase?“. And that cost is significant, as explained in my blog post on why the quality of code is crucial in the apps we make.
So, what does this mean for you as a developer?
Simply put, you can’t go wrong with producing quality work. Unless you’re working on a proof of concept, R&D project, etc., the clients will always expect quality, regardless of what they say!
Mastery, autonomy, purpose.
Mastery is a perpetual state of self-development, encompassing both technical and soft skills. An essential ingredient to any improvement is asking for, and acting on feedback. I’d strongly advise making asking for feedback your habit.
Autonomy involves ownership of the technical stack and the freedom to choose the tools you deem best for the job. Such flexibility includes establishing a partnership with the client and should be implemented in small steps.
Finally, purpose is more than being part of “just another team delivering just another project.” It could be developing an app that significantly impacts people’s lives, or an app that supports your personal mission, such as promoting financial education. However, it’s important to remember that this isn’t a necessary ingredient! Some developers don’t require this extra motivation to do an excellent job.
Don’t miss any new blogposts!
By subscribing, you agree with our privacy policy and our terms and conditions.
Disclaimer: All memes used in the post were made for fun and educational purposes only
They were not meant to offend anyone
All copyrights belong to their respective owners
The thumbnail was generated with text2image
Some images were generated using Leonardo AI
Audio version generated with TTS Maker
The post Why the best mobie apps need Software Craftsmanship? first appeared on Swift and Memes.