It doesn’t suit me to work for a company that values number of shipped features more than their quality, I understand that some companies need to do that for business reasons but I don’t want to be a part of it and it's not just a preference, honestly I don't have the required skills to ship low-quality features in a tight timeline.
Review code and suggest a better design.
Legacy/messy code refactor planning.
Prepare and run workshops on Clean Code Practices based on the client code.
Prepare and run workshops on Refactor As You Go Techniques based on the client code.
Making great tools for software developers.
To grow and to improve my skills.
I believe that our software development culture is changing and I want to be a part of this change, I want to spread these principles:
إنّ الله يحب إذا عمل أحدكم عملاً أن يتقنه
To consider other developers and to do our best to make their work smoother and more comfortable.
To not be controlled by the business flow and to express our concerns and opinions freely and in confidence.
To honor our work and to keep learning & improving ourselves.
I want to spend more time with my family.
Sometimes I'd have severe insomnia, trying to be productive while I barely had sleep hours is very hard.
Sometimes I'd be more productive at midnight.
I want to be on control over my daily schedule.