سایت خبرکاو

جستجوگر هوشمند اخبار و مطالب فناوری

یک قدم در یک زمان: سفر من از مهندس نرم افزار تمام وقت تا پروژه اول مستقل

مقدمه: جرقه هک مستقل من Gaël هستم، یک مهندس نرم افزار 25 ساله که چند سالی است در یک محیط استارت آپی در جنوب شرقی آسیا کار می کنم. 🌏 کار از راه دور مزایای خود را دارد، و در حالی که از یک مکان عجیب و غریب به مکان دیگر می پریدم، رویای کوچکی را پرورش داده ام: شروع سفر خود به عنوان یک فرد انفرادی. من واقعاً شغلم را دوست دارم—هیجان خاصی در زندگی استارت آپی وجود دارد ...

مقدمه: جرقه هک مستقل

من Gaël هستم، یک مهندس نرم افزار 25 ساله که چند سالی است در یک محیط استارت آپی در جنوب شرقی آسیا کار می کنم. 🌏

کار از راه دور مزایای خود را دارد، و در حالی که از یک مکان عجیب و غریب به مکان دیگر می پریدم، رویای کوچکی را پرورش داده ام: شروع سفر خود به عنوان یک فرد انفرادی.

من واقعاً شغلم را دوست دارم—هیجان خاصی در زندگی استارت آپی وجود دارد که فکر می کنم همه باید حداقل یک بار آن را تجربه کنند. مطمئناً، این ترن هوایی از اوج و فرودها است، اما آنجاست که من طناب های توسعه محصول را یاد گرفته ام و مشکل ایجاد چیزهایی را که مردم دوست دارند (و امیدوارم هزینه آن را بپردازند!) گرفتار کرده ام. من اغلب به کدنویسی به عنوان لگو بزرگسال فکر می کنم - امکانات بی پایان و فقط سرگرم کننده. 🤓

پس از دو سال زندگی عشایری، تصمیم گرفتم پاهایم را محکم روی زمین بگذارم تا تعادل کار و زندگی بهتری برقرار کنم و در نهایت برای پروژه های جانبی خود وقت بگذارم.

اما نکته مهم اینجاست: آرام شدن به طور جادویی زمان را نشان نداد. بین 9-5 کار و خستگی آخر هفته، من تلاش کردم تا انرژی و باور لازم برای شروع کاری خودم را پیدا کنم.

انتخاب ابزار مناسب برای سفر

با شروع این سفر انفرادی، تصمیم گرفتم از ابزارها و فناوری هایی که قبلاً با آنها آشنا بودم استفاده کنم: HTML، CSS، Tailwind، جاوا اسکریپت، همراه با React و Next.js برای ایجاد وب سایت.

این انتخاب فقط در مورد راحتی نبود، بلکه در مورد به کارگیری بهترین روش ها در توسعه وب بود که در طی چند سال تجربه آموخته ام.

در بخش های بعدی توضیح خواهم داد که چرا این فناوری های خاص را انتخاب کردم. من همچنین راهنمایی می‌کنم که چگونه می‌توانید مناسب‌ترین ابزارها را برای پروژه‌های خود انتخاب کنید، منحنی‌های یادگیری، بهره‌وری و الزامات پروژه را متعادل کنید.

انتظار داشته باشید که نکات و درس‌های عملی را از تجربه عملی من بیابید، که می‌توانید برای تقویت مهارت‌های کدنویسی یا ساده‌سازی فرآیند توسعه خود از آنها استفاده کنید.

درک نیاز به تغییر

تا همین اواخر، برنامه روزانه من به هم ریخته بود. من تا ساعت 1 تا 2 بامداد با جلسات پیمایش تلفن در اواخر شب کار را به اشتباه انجام می‌دادم، فقط برای صبحانه‌ای عجولانه قبل از شروع روز بیدار می‌شدم.

استفاده مکرر از برنامه‌های تحویل غذا منجر به پرخوری و عادت‌های ناسالم می‌شد، که علیرغم زندگی کلی خوبم، می‌دانستم که پایدار نیست.

من در یک چرخه گیر افتاده بودم، از ترس اینکه کم کردن شب های دیروقت زندگی ام را به کار، کار و کار تقلیل دهد. 💻

سپس، چیزی یک ماه پیش کلیک کرد. با انگیزه تمام توصیه هایی که در مورد رفتن به باشگاه دیده ام، با یک مربی شخصی تماس گرفتم و اولین جلساتم را شروع کردم. در ابتدا در مورد وزنه زدن شک داشتم، از افزایش انرژی که برای من به ارمغان آورد شگفت زده شدم.

CleanShot-2024-03-26-at-09.17.21@2x
"امروز با درمانگرم صحبت می کنم" - @levelsio در X (توئیتر)

این انفجار انرژی باعث یک واکنش زنجیره ای شد: شروع کردم به توجه بیشتر به رژیم غذایی خود و انتخاب وعده های غذایی سالم تر و سبک تر. خواب نیز در اولویت قرار گرفت. تحت تأثیر بینش‌های «چرا می‌خوابیم»، روال خوابم را تغییر دادم و هشت ساعت در شب را هدف قرار دادم. این تغییر، صبح‌های من را از یک عجله به زمانی آرام و پربار تبدیل کرد. 😴

حالا با گذشت یک ماه، این اعمال تقریبا طبیعی شده است. وقتی زودتر از خواب بیدار می‌شوم، احساس انرژی بیشتری می‌کنم، و صبح‌ها قبل از کار وقت ارزشمندی را کشف کرده‌ام.

چگونه بهبود سلامت بهره وری کدنویسی را افزایش می دهد

برای کسانی که در سفر برنامه نویسی یا متعادل کردن کار با یادگیری مهارت های جدید هستند، نمی توانم به اندازه کافی بر اهمیت خواب خوب و ورزش منظم تاکید کنم. اینها فقط انتخاب های سبک زندگی نیستند - آنها ابزارهای ضروری برای تقویت عملکرد شناختی و تمرکز شما هستند.

پس از ادغام خواب و ورزش بهتر در روال خود، متوجه بهبود قابل توجهی در بهره وری کدنویسی خود شدم. من توانستم سریعتر یاد بگیرم، برای دوره های طولانی تری متمرکز بمانم و با وضوح بیشتری به مشکلات پیچیده رسیدگی کنم. مثل باز کردن یک کد تقلب برای مغزم بود!

کدنویسی یک سفر هیجان انگیز و در عین حال سخت است. با انرژی اضافی به دست آمده از این تغییرات، برای رویارویی با چالش ها و لذت های یادگیری نحوه کدنویسی مجهزتر خواهید شد.

برداشتن قدم اول: BooksByMood

مفهوم BooksByMood ماه‌ها بود که با الهام از Mood2Movie، برنامه‌ای که توسط Marc Lou توسعه یافته بود، در ذهن من در حال توسعه بود.

ایده یافتن کتاب‌هایی بر اساس خلق و خوی شما مرا مجذوب خود کرد و پلتفرمی را با طراحی و پیشنهادات خود متصور شدم. این شروع سفر پروژه مستقل من با BooksByMood بود. 📚

شروع این سفر جدید دلهره آور بود. فید توییتر من مملو از داستان های برنامه های صیقلی و درآمدهای خوب بود که استرس و اضطراب من را برای شروع کار افزایش می داد. در آن زمان، من کاملاً متوجه نبودم که همه ما باید از یک جایی شروع کنیم، و حتی افراد شناخته شده آن بیرون یک روز از ابتدا شروع کردند.

برای مدیریت انتظارات و تمرکزم، اهداف واضح و قابل دستیابی را تعیین کردم:

برای ایجاد یک وب سایت ساده با محوریت یک ویژگی واحد و قانع کننده.

برای رایگان نگه داشتن وب‌سایت، اطمینان از دسترسی و تعامل کاربر (IMO، همچنین راه‌اندازی با آن آسان‌تر است به ویژه به عنوان اولین پروژه).

اختصاص یک هفته به یادگیری تکنیک های تبلیغاتی با هدف هدایت ترافیک به سایت.

این اهداف فقط نقاط عطف نبودند - آنها تعهد من به خودم بود تا ثابت کنم که می‌توانم یک ایده را به نتیجه برسانم و بازدیدکنندگان را جذب کنم. 🎯

چگونه پشته فنی خود را انتخاب کردم

همانطور که قبلا ذکر شد، من از فناوری‌هایی استفاده کردم که در آن مهارت داشتم: HTML، CSS، جاوا اسکریپت، همراه با Tailwind برای استایل‌سازی و Next.js برای چارچوب. من این پشته را به دلیل آشنایی و کارایی آن انتخاب کردم.

من به طور خاص Next.js را به دلیل ویژگی های مناسب آن انتخاب کردم:

رندر سمت سرور و تولید سایت استاتیک، که منجر به بهبود عملکرد وب سایت می شود

سیستم مسیریابی مبتنی بر فایل

بهینه سازی های مختلف مانند ناوبری وب سایت با استفاده از مؤلفه <Link> یا مؤلفه <Image>

برای سئو عالی است

به طور کلی به ایجاد یک تجربه کاربری بهتر کمک می کند

این پشته به من این امکان را داد که به سرعت نمونه اولیه و استقرار کنم و عملکرد سایت را بدون تلاش اضافی افزایش دهم.

نکات مهم: هنگام تأیید سریع یک ایده، به فناوری هایی که به خوبی می شناسید پایبند باشید. این رویکرد به شما کمک می کند سریعتر حرکت کنید و بر ارزش اصلی پروژه تمرکز کنید. به همین دلیل است که می توانید بسیاری از افراد انفرادی را به صورت آنلاین با استفاده از فناوری های مشابه برای سال ها پیدا کنید (به عنوان مثال، Pieter Levels سال ها از HTML، CSS، JS (با JQuery) و PHP استفاده می کند).

فرآیند توسعه اپلیکیشن و چالش ها

سفر توسعه BooksByMood تکراری بود و با یک نسخه اولیه و به سختی کاربردی شروع شد.

من با چندین چالش مواجه شدم، مانند یافتن منبع داده های کتاب قابل اعتماد و ایجاد یک رابط کاربر پسند. غلبه بر این موانع مستلزم تحقیق، آزمون و خطا و تکرار مستمر بود.

چالش 1: یافتن داده های کتاب های قابل اعتماد

یافتن یک منبع قابل اعتماد برای داده های کتاب به طور غیرمنتظره ای چالش برانگیز بود.

من در ابتدا می خواستم از برخی API ها استفاده کنم. متأسفانه، Goodreads API خود را در 8 دسامبر 2020 بست. OpenLibrary بد نبود، اما داده ها باید سازگارتر باشند. Google Books API مشکلی نداشت، اما من در پایان به صورت دستی نیز مدیریت می‌کردم، و گاهی اوقات برخی اطلاعات می‌توانست بهتر باشد.

این باعث شد متوجه شوم که یافتن یک API کتاب خوب در آنجا دشوار است (احتمالاً به دلیل داشتن Goodreads توسط آمازون و اطمینان از اینکه رقبا به سختی می توانند داده های خوبی داشته باشند).

یک چیز بود که می دانستم: راضی کردن همه با توصیه ها پیچیده است، اما من می توانستم بهترین کار را انجام دهم. بهترین کار من این بود که اطمینان حاصل کنم که آنچه توصیه می شود به خوبی توسط جامعه رتبه بندی می شود (به عنوان مثال، رتبه خوبی در Goodreads داشت).

ممکن است تعجب کنید که اگر وب سایت در حال رشد باشد در آینده چه اتفاقی خواهد افتاد؟ در این صورت، قطعاً نیاز به بهبود دارد. اما، برای اولین نسخه، این کار را انجام می دهد!

نکات مهم: زمانی که با چالشی در یک پروژه جدید مواجه می شوید، همیشه وقت خود را صرف در نظر گرفتن همه گزینه ها و یافتن تعادل مناسب بین حمل و نقل سریع، کیفیت و قابلیت اطمینان کنید.

به عنوان مثال، من 95٪ مطمئن هستم که مدیریت کتاب ها به صورت دستی در فایل های JSON با کمک هوش مصنوعی یک انتخاب عالی بوده است. منجر به ارسال در زمان معقولی شد، فقط کتاب‌هایی را که جامعه دوست داشت نشان داد و داده‌ها را کنترل کرد (به عنوان مثال جلد، عنوان، توضیحات، برچسب‌ها، نویسندگان و غیره).

چالش 2: طراحی یک رابط کاربر پسند

به‌عنوان یک توسعه‌دهنده فول استک که برای مدتی روی بک‌اند کار می‌کردم، طراحی یک جلوی جذاب، دومین مانع اصلی من بود. اطمینان از اینکه سایت نه تنها کاربردی است، بلکه از نظر زیبایی نیز دلپذیر است، برای تعامل کاربر بسیار مهم است.

من هنوز در حال یادگیری در مورد طراحی هستم، و هنوز کامل نیست. اما من Dribbble را کشف کردم و مکانی عالی برای الهام گرفتن بود. همچنین، من از Excalidraw برای ترسیم یک نسخه طرح بندی اولیه استفاده کرده ام که نشان می دهد چگونه می خواهم اطلاعات را سازماندهی کنم.

نکات مهم: برای غیر طراحان، الهام گرفتن از پلتفرم های متمرکز بر طراحی مانند Dribbble می تواند فوق العاده مفید باشد. ترکیب این مورد با کتابخانه های مؤلفه UI، مانند DaisyUI ، می تواند به طور قابل توجهی روند طراحی را بهبود بخشد و آن را مؤثرتر کند.

Build-in-Public-Day-1
طرح اولیه BooksByMood در Excalidraw (به اشتراک گذاشته شده برای اولین روز از #buildinpublic)
CleanShot-2024-03-30-at-15.56.46@2x
نسخه اول BooksByMood

انتشار برنامه

با زمان اضافی که برنامه صبحگاهی جدیدم برایم فراهم می کرد، 1 تا 2 ساعت در هر روز هفته و زمان اضافی آخر هفته را به توسعه BooksByMood اختصاص دادم. پس از یک هفته تلاش متمرکز، راه اندازی نرم را انتخاب کردم: با به روز رسانی پیوند زیستی خود، پروژه را در توییتر اضافه کردم.

روز بعد آغاز تبلیغات قاطعانه تر در پلتفرم های مختلف از جمله توییتر، ردیت و هکر نیوز بود. ✍️

نکات مهم: با خیال راحت پروژه خود را در هر کجا که می توانید منتشر کنید. ممکن است ترسناک به نظر برسد، اما هرگز نمی دانید چه اتفاقی خواهد افتاد. انجام این کار از بسیاری جهات به شما کمک می کند، مانند شروع به جذب بازدید کننده، دریافت بازخورد، دریافت بک لینک و غیره. چیزی برای از دست دادن وجود ندارد!

CleanShot-2024-03-28-at-21.52.59@2x
صفحه اصلی BooksByMood

یادگیری و رشد: درس های اولیه از سفر

درس های شخصی و تجاری

ممکن است کمی کلیشه ای به نظر برسد، اما این نکات واقعاً برای من طنین انداز شده است:

خودت را باور کن : شک همراهی همیشگی بود، اما این جهش به من اهمیت ایمان در توانایی من برای تبدیل یک ایده به واقعیت را نشان داد.

ارسال این ایده: به هر حال، انجام این کار فقط می تواند نکات مثبتی داشته باشد. عرضه یک محصول، هر چقدر هم که کوچک باشد، خود یک پیروزی است.

ساختن به صورت عمومی سودآور است : تعامل با جامعه هکرهای مستقل، انفجاری بوده است. حمایت و تشویق آنها محوری بوده است و باعث شده است که این روند نه تنها در مورد ساختن یک محصول باشد بلکه بخشی از یک گروه الهام بخش باشد.

به جادوی اینترنت ایمان داشته باشید : به اشتراک گذاری پروژه من در HackerNews یک جهش به سوی ناشناخته بود. در کمال تعجب، صفحه اول را زدیم و هجوم بازدیدکنندگان فراتر از انتظار من بود. در واقع، اینترنت می تواند معجزه کند و اقدامات کوچک را به تأثیرات مهم تبدیل کند.

دروس فنی

از نظر فنی، این پروژه منبع غنی یادگیری بوده است:

انتخاب پشته مناسب : استفاده از فناوری‌های آشنا مانند Next.js و React روند توسعه نرم‌تر و تکرار سریع‌تر را تسهیل می‌کند. این واقعاً اهمیت انتخاب ابزار مناسب برای کار را نشان می دهد. من بارها در این مقاله گفته ام: از آنچه می دانید استفاده کنید . سعی نکنید با استفاده از آخرین فناوری براق بیش از حد فکر کنید. من به شما توصیه می کنم که روی محصول خود تمرکز کنید، نه نحوه ساخت آن.

مدیریت داده ها و استفاده از هوش مصنوعی : چالش منابع داده های کتاب قابل اعتماد من را مجبور کرد که راه حل هایی را در نظر بگیرم، از جمله استفاده از هوش مصنوعی برای تهیه محتوا. این تجربه نیاز به انعطاف پذیری و خلاقیت در حل مسئله را برجسته کرد. گاهی اوقات، در فناوری، شما دقیقاً آنچه را که می خواهید پیدا نمی کنید، و برای یافتن گزینه های جایگزین باید مبادلات بالقوه را ارزیابی کنید.

طراحی برای کاربر : به‌عنوان یک توسعه‌دهنده متمرکز بر باطن، جستجو در طراحی جلویی چالش برانگیز بود. اما اولویت دادن به تجربه کاربر و استفاده از منابع طراحی مانند Dribbble برای الهام گرفتن در ایجاد یک رابط جذاب بسیار مهم است. همچنین، زیاد نگران طراحی خود نباشید. اولین نسخه شما احتمالاً "زشت" خواهد بود، اما با گذشت زمان و تکرارها، شروع به داشتن چیزی بصری دلپذیر خواهید کرد. همه چیز زمان می برد!

توسعه تکراری : با یک محصول حداقل قابل دوام با تنها یک ویژگی متمرکز شروع کنید. برای یک توسعه دهنده وسوسه انگیز است که ویژگی های زیادی مانند حالت تاریک، حساب کاربری، فیلترهای فانتزی و غیره اضافه کند، اما این غیرضروری است. در عوض، از مهارت های فنی خود استفاده کنید تا آن یک ویژگی به خوبی کار کند.

برای پایان دادن به این بازتاب، نمی‌توانم به اندازه کافی بر رضایت از ساخت یک پروژه، انتشار آن و دیدن افرادی که از آن استفاده می‌کنند تأکید کنم. این یک تجربه شگفت انگیز است که به همه توصیه می کنم. اگر روی یک ایده نشسته اید، از فکر کردن زیاد دست بردارید و همین الان شروع به ساختن آن کنید. 🚧

نگاه به آینده: جاده هک مستقل

من قصد دارم در ماه های آینده به مسیر هک مستقل متعهد بمانم و آن را در کنار شغل 9-5 خود متعادل کنم.

چشم انداز وسیعی از دانش در انتظار من است، به خصوص در زمینه هایی مانند طراحی و بازاریابی، که تجربه من محدود است. به طور عینی، می دانم که کار آسانی نیست. با این حال، ایده کسب مهارت های جدید هیجان انگیز است. 🎨

انجمن هکرهای مستقل معدن طلایی از بینش بوده است، با اعضایی که سخاوتمندانه نکات و داستان های موفقیت خود را به اشتراک می گذارند. این خرد جمعی، همراه با انبوهی از کتاب ها و منابع، به هدایت و الهام بخشیدن به سفر من ادامه خواهد داد. 🔖

در ماه های آینده تمرکز من بر یادگیری و ساختن مستمر است. هدف من تنوع بخشیدن به پروژه‌هایم است، و از آپشن های پولی برای کشف مدل‌های مختلف کسب‌وکار و نیازهای بازار استفاده می‌کنم.

در مورد پشته فناوری، من قصد دارم از ابزارهای فعلی خود استفاده کنم، ابزارهایی که به اندازه کافی همه کاره هستند تا اکثر نیازهای من را برآورده کنند. در حالی که من آماده ادغام کتابخانه های جدید مانند NextAuth برای فرآیندهای احراز هویت ساده هستم، تمرکز اصلی من یادگیری بازاریابی خواهد بود. درک و بهتر شدن در بازاریابی برای هر هکر مستقلی بسیار مهم است، زیرا اغلب لازم است یک پروژه جانبی را به چیزی بزرگتر تبدیل کند.

چه به موفقیت منجر شود چه شکست، هر قدم به جلو یک قدم به سمت است. من هیجان زده هستم که ببینم این مسیر مرا به کجا خواهد برد و داستان سفر را با همه شما به اشتراک می گذارم.

غذای آماده: سفر شما باید با تکرار و کاوش مداوم باشد. در حالی که پروژه خود را توسعه می دهید، هرگز قدرت بازاریابی را دست کم نگیرید - این برای جلب توجه و تبدیل ایده های شما به واقعیت ضروری است. برای تحقق بخشیدن به پتانسیل کامل خود، هر دو جنبه فنی و تجاری را در آغوش بگیرید.

نتیجه گیری: یک دعوت نامه برای پیوستن به سفر

همانطور که این فصل از سفر من آشکار می شود، از شما دعوت می کنم که همراه باشید. من دوست دارم فراز و نشیب های هک مستقل را با هم مرور کنیم.

به من در توییتر بپیوندید، جایی که من به‌روزرسانی‌ها، بینش‌ها و نقاط عطف این سفر را در زمان واقعی به اشتراک می‌گذارم، همه به این امید که برخی از شما را برای شروع ماجراجویی‌های خود الهام بخشم. 👀

BooksByMood را کاوش کنید

کنجکاو هستید که روی چه چیزی کار کرده ام؟ BooksByMood را تحلیل کنید، اولین پروژه مستقل من که به شما کمک می‌کند کتاب‌هایی را بر اساس روحیه خود پیدا کنید. 👇

opengraph-image

خبرکاو