ابدأ مشروعك الجديد وتعلم مع نية التطبيق وحل المشكلات

منذ فترة كبيرة ومع بداية تعلمي لتقنيات البرمجة وتطوير الويب كنت حريصاً بنسبة كبيرة علي التعلم واكتساب المهارات وقراءة الكتب وظننت بأن هذه هي الطريقة المثلي والوحيدة للتعلم وإشباع رغبتي الكبيرة في هذا المجال.

بعد فترة قلت لنفسي وماذا بعد تعلم لغة برمجة جديدة وقراءة كتاب عنها، سأكون قد استفدت بالطبع ولكن أنا وحدي المستفاد من ذلك ولكن فيما بعد أدركت بأنني من الممكن أن أتعلم أكثر وفي نفس الوقت أكون قد أضفت قيمة لي ولمجتمعي وذلك عن طريق إنشاء تطبيقات مفيدة تحل مشكلة لي وللغير وتساهم بشكل أو بأخر في النمو الشخصي والمجتمعي.

سوف أقوم بعرض بعض المقترحات والأفكار التي ساعدتني في البداية والتفكير في إنشاء اكتب والتي من الممكن أن تساعدك في إيجاد فكرة لمشروعك وكيفية تنفيذه.

ابحث عن حل لمشكلة

التفكير في حل مشكلة هو البداية، ابحث عن مشاكلك التي تواجهك وبالتأكيد كل منا لديه الكثير من المشاكل وتحتاج إلى حل، ابحث فيما حولك من خدمات وابحث في احتياجاتك اليومية من التطبيقات سواء علي الجوال أو علي الويب، كل التطبيقات المتواجدة حالياً والتي تستخدمها هي بالأساس نابعة عن احتياج صاحبها والفرق أنه قرر أن يبدأ في حل مشكلته ويطور فيها وبالتالي المشكلة التي بدأ بحلها هي بالتأكيد لدى آخرين ولكنهم إما لا يعلمون كيف يطبقونها أو ليست لديهم الرغبة الكافية للبداية.

الآن ومع التقدم الهائل في التكنولوجيا لم يعد هناك شيئا مستحيلاً، ليس من الضروري أن تكون ملماً بكل شئ وكيفية حل المشكلة من البداية للنهاية، المهم هو أن تبدأ بأقل الإمكانيات المتاحة لديك وبما تعرفة ومع الوقت سوف تنمي مهاراتك وتتعلم أشياء لم تكن تتخيل أنك سوف تتعلمها في يوم من الأيام.

لنأخذ مثال واقعي وشخصي، موقع اكتب الذي تقرأ من خلاله الآن، كان مجرد فكرة تولدت من مشكلة واجهتها من خلال التدوين باللغة العربية في موقعي حيث قمت بتجربة العديد من منصات التدوين المختلفة ووجدتها معقدة وبها الكثير من الإضافات التي لن أستخدمها للكتابة ووجدتها تعاني من مشكلات في دعم اللغة العربية بشكل كبير بالإضافة إلى التصميم المعقد الذي يحتاج إلى التبسيط ليساعد علي القراءة والكتابة بصورة سهلة. وبعد محاولات كبيرة فكرت في حل المشكلة وبعد البحث وجدت أنها مشكلة يعاني منها الكثير وبدأت في تطوير الموقع من البداية.

التنفيذ

حل المشكلة وإنشاء التطبيق سوف يتطلب المعرفة بأكثر من مهارة، ولكن إن فكرت في الموضوع والتكنولوجيا المستخدمة بشكل متزايد من البداية فستجدها ضخمة وتتطلب أكثر من شخص في أكثر من تخصص للعمل عليها. مثال علي ذلك لإنشاء موقع مثل اكتب أو أي موقع آخر متخصص يتطلب ذلك معرفة بعدة لغات برمجة ففي الجزء الخاص بال Front-end تحتاج إلي HTML - CSS - JavaScript وخلال ال Backend سوف تحتاج إلي معرفة إطار عمل ك Ruby on Rails مثلا وأيضاً الجزء الخاص بقواعد البيانات والجزء المتعلق بال Server وال Deployment. بعد ذلك نتجه إلى القسم الخاص بتصميم الموقع وتجربة المستخدم (User Experience) وبعد ذلك الجزء الخاص بالتسويق للموقع باختلاف مستوياته مثل الشبكات الاجتماعية وغيرها. كل هذا وغيره الكثير والكثير لو فكرت فيه بشكل متزايد من الممكن أن يكون عائق أمامك للبداية في المشروع، ولكن ابدأ بشكل بسيط جداً وقم بعمل نسخة مبسطة من الموقع فيها بعض الخصائص والمميزات البسيطة والأساسية (Minimum Viable Product) والتي من خلالها تستطيع إطلاق التطبيق في أقرب وقت ويستطيع المستخدم أن يتعامل مع معه ويعطيك اقتراحات علي أساسها تستطيع التعديل والتغيير ليصبح التطبيق أفضل كل يوم.

ستسأل سؤال وتقول أنا لا أعرف كل هذه التخصصات المطلوبة للبداية ولبناء الفكرة، وهذا سؤال مهم. من الممكن أن يكون تخصصك كمصمم فقط أو مطور واجهات وليس لديك أي خلفية عن ال Backend،  وهذا هو ما ستتعلمه من مهارات وتقنيات جديدة ستساعدك علي النمو وزيادة المعرفة. دعنا نضرب مثالاً ونقول بأنك تعرف فقط Front-end والفكرة تتطلب أيضاً وبالتأكيد Backend، ما ستقوم به هو أن تتعلم كيف يعمل ال Backend وماهي أفضل التقنيات التي سوف أتعلمها ومن ثم ستبدأ في تعلمها وتطبق ما تعلمته في التطبيق وبذلك كل ما ستتعلمه سيكون لغرض معين وهو بناء الفكرة وليس فقط التعلم من أجل التعلم ومتابعة كل ما هو جديد دون فائدة من تطبيقه ونسيانه فيما بعد. ولكن مع التطبيق العملي والعمل علي فكرة معينة فكل ما ستتعلمه سيحقق فائدة كبيرة من جهتين وهما العلم وإنشاء شئ مفيد. المشاريع مفتوحة المصدر سوف تقوم بمساعدتك بشكل كبير جداً في تنفيذ الفكرة.

قس علي ذلك كل التخصصات المطلوبة، تريد أن تسوق للموقع تذهب إلى الصديق جوجل وتبحث عن أفضل الطرق للتسويق وأساليبه، تريد أن تصمم الموقع بطريقة جذابة تذهب وتتعلم أساليب التصميم وأفضلها والتي تناسب فكرتك. تريد أن تعرف ماهي الطرق المختلفة لمعرفة الإحصائيات الخاصة بالموقع وعدد الزوار، تريد أن تعرف ما هي الطريق الأفضل لجذب الزوار وتشجيعهم علي استخدام التطبيق، وهكذا كلما ستتقدم بالفكرة كلما ستحتاج إلى معرفة وتعلم المزيد.

التدرج

نقطة مهمة وهي أنك في البداية ليس من المهم تطوير الموقع بشكل كامل ولكن الأفضل أن تحرص علي إطلاق الموقع أو التطبيق بصورة بسيطة في البداية كنموذج بدائي به فقط المميزات الأساسية التي من خلالها يستطيع المستخدم أن يبدأ في استخدامه، نفترض بأن الموقع سوف يحتوي علي ١٠ مميزات، في بداية الانطلاق سنكتفي بالمميزات المهمة والأساسية فقط ولنفترض بأننا نطور موقع مثل اكتب نستطيع مثلا أن نحدد ٣ مميزات رئيسية مثل أن يستطيع المستخدم أن يسجل حساب في الموقع وبعد ذلك يستطيع كتابة تدوينه جديدة من خلال محرر نصي بسيط وبعد ذلك يستطيع نشرها علي صفحته الشخصية وكل ذلك مع تصميم بسيط للواجهة ومع الوقت تستطيع إضافة العديد من المميزات معتمدين علي ماهو موجود مسبقاً وآراء المستخدمين وهكذا.

الممارسة والتجربة لأكثر من مرة مهمين جداً، من الممكن أن لا تنجح في أول مشروع وأول فكرة تعمل عليها، لا توجد أية مشكلة فالفشل وارد ولكن الفشل هنا عبارة عن تعلم وتجارب ومواقف ومشاكل مررت بها وكلها أشياء تراكمية سوف تتجنبها في المشروع القادم وتكون قد تعلمت الكثير من المهارات التي تؤهلك لخوض مشروعات أخري بكل سهولة. نضرب علي ذلك مثال في حالة فشل مشروع أو لم يفشل ولكنك اتجهت واكتشفت فكرة أفضل، الكود البرمجي للمشروع الأول من الممكن استخدامه وإعادة تنظيمه ليتوافق من المشروع الجديد، المشروع الأول تعلمت كيفية التعامل مع السير فرات والقيام بعملية ال Deployment للتطبيق، معرفة طريقة التسويق للموقع ونشره وهكذا كل هذه خبرات وتجارب مستخدمة في كل المشاريع لذلك المعرفة بها سوف تفيد بلا شك.

طريقة تنفيذك للفكرة مهمة جداً، من الممكن أن تعيد بناء فكرة موجودة مسبقاً ولكنك تراها من منظور آخر وتريد تنفيذها بشكل أفضل وبطريقة مميزة. من الممكن أن يكون اهتمامك بالتصميم وتحسين تجربة المستخدم ويكون هذا هو سر نجاح الفكرة وهكذا، فلا داعي للتردد محتجاً بأن الفكرة موجودة وبأكثر من شكل. فقط ضع ما يميزك عن الآخرين وسيكون هذا هو تركيزك ودائرة اهتمامك خلال تنفيذ الفكرة.

شكراً

مصدر الصورة