10 نکته ای که توسعه دهندگان وب باید بدانند تا واقعاً شگفت انگیز شوند

نویسنده: Laura McKinney
تاریخ ایجاد: 10 ماه آوریل 2021
تاریخ به روزرسانی: 16 ممکن است 2024
Anonim
F. Chopin - Etude Op. 10 no. 1 C major - analysis. Greg Niemczuk’s lecture
ویدیو: F. Chopin - Etude Op. 10 no. 1 C major - analysis. Greg Niemczuk’s lecture

محتوا

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

اما این یک چیز نیست ، و خصوصاً هرگز توانایی تجزیه XML یا بهینه سازی کد نیست ، این یک مجموعه مهارت شگفت آور است که در کتابهای نوشتن کد آموزش داده نمی شود. آنها چیز کمی اضافی هستند.

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

01. کدگذاری دیگر آن را قطع نکنید


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

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

من اولین نفری نیستم که این را می گویم "کدگذاری دیگر آن را قطع نکنید" عنوان فصل 3 است برنامه ریز پرشور، که همراه با کتابهایی مانند تفکر و یادگیری عملی از برنامه نویسان بخواهید که خود را فراتر از کد بهبود بخشند. به عضويت مسئول و كاملاً انساني تيم تبديل شوند.

وسعت و عمق

توسعه دهندگان باید از دو طریق بهتر باشند: عرض و عمق. آنها باید وسعت تعاملات انسانی را در تیم خود و با چیزهایی که می سازند درک کنند. آنها باید عمق سیستمی را که با آن کار می کنند تا O / S درک کنند.

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


02. هشدار بزرگ

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

  • با فن تر بودن

و

  • بودن بسیار انسانی تر

03. آنچه در اینترنت می گوید

جستجوی Google برای "مهارت های ضروری توسعه وب" آنچه انتظار دارید را به شما ارائه می دهد. دانش چارچوب ، مرورگر x ، CSS و JS. آنها چارچوب هایی را که باید بدانید ، پلتفرم هایی را که باید برای آنها نوشته باشید و روندهای جدیدی را که باید تحت نظر داشته باشید ، لیست می کنند.

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

رسانه را بفهمید

توسعه دهندگان ، مانند همه ، باید رسانه خود را درک کنند - اما آنها باید مخاطبان را نیز درک کنند ، از کاربران ، تیم یا سایر توسعه دهندگان. آنها باید بفهمند که رسانه آنها چگونه در جهان قرار می گیرد (به عبارت دیگر محیط تولید) و چه تاثیری بر آن می گذارد (نحوه استفاده مردم از آن).

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


04. چیزهایی که ما با آنها می سازیم

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

انتظار نصف دوازده فناوری را داشتم اما در نهایت با تعداد بیشتری از فن آوری ها به نتیجه رسیدم. این لیست - "آنچه ما استفاده می کنیم" - شامل CMS های معمول ، زبان های برنامه نویسی و فن آوری های مرورگر است ، اما همچنین مجموعه ای از ابزارها است که تیم حتی خودشان استفاده از آنها را به خاطر نمی آوردند. این همه حافظه عضلانی بود. تایپ کردن "git" ، "phing" ، "thor" در خط فرمان ، ما حتی فکر نمی کردیم کسی این کار را نکند.

ساخت ابزار CI git برای کنترل نسخه امری بدیهی تلقی شد ، اما با نگاهی به گذشته از CV ها این موارد به سختی ظاهر می شدند. موارد مرسوم ، مد روز ظاهر می شوند (و آیا این بدبینی است که آژانس های خاصی آنها را به آن اضافه می کنند؟!) اما اغلب بدون تجربه مشخص.

این ابزارها برای سرعت بخشیدن به توسعه پروژه مهم هستند ، بنابراین مطمئن شوید که شما یک ابزار بسیار غنی از زبان خود ، CMS و چند چارچوب دارید. شما به استقرار ، آزمایش ، CI ، کنترل نسخه قوی (به صورت تیمی - نه به صورت اختصاصی) نیاز دارید و باید مفاهیم اصلی اینها را بجای فقط چند آموزش بدانید.

05. Devops

این ابزارها و ترفندهای اضافی کاملاً منطبق با آنچه مردم آن را "devops" می نامند می باشد. Devops در برابر دو سیلوی سنتی پرواز می کند: تولید ، که باعث می شود همه چیز ادامه پیدا کند ، و توسعه که باعث ایجاد چیزهای جدید می شود (و اغلب کارها را متوقف می کند). نتیجه سیلوها در دو اردوگاه با همدردی کم نسبت به یکدیگر است.

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

این جزئیات اندک می تواند تأخیرهای دردناکی ایجاد کند که با روند ارسال مدیریت سرور به خارج از کشور تشدید می شود.

پشته را بفهمید

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

اگر روی Rails کار می کنید ، کد Rails را بخوانید و بدانید چگونه Ruby توسط Apache اجرا می شود. اگر در Java کار می کنید ، در مورد گزینه های پیکربندی اطلاعات کسب کنید. اگر از Perl استفاده می کنید ، نحوه نصب ماژول های Perl و پیکربندی آنها را بفهمید.

کار مرموز

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

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

ابزار دستی

جستجوی Google برای 'devops' ایده ای از ابزارهای این بچه ها به شما می دهد. این در مورد PHP و MySQL یا Rails نیست. این در مورد حمل و نقل نرم افزار و نگه داشتن بخش های پر خطر پروژه ها بدون خطر است. آنها بر استقرار ، اتوماسیون و نگه داشتن خط لوله از توسعه دهنده به محیط تولید با بیشترین سرعت ممکن تمرکز دارند.

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

06. Dev رفع خواهد شد ... شاید

جستجوی مهارتهای ضروری برنامه نویسان وب پاسخ خوبی از مایکل گریر (CTO پیاز) در Quora به ارمغان می آورد:

  • تنبلی: از انجام هر کاری دوبار امتناع می ورزد: برای آن فیلم نامه یا الگویی می نویسد.
  • ترسو بودن: برای آزمایش فکر می کند ، نگرانی از بار و تأثیر کد
  • بی پروایی: چیزهای جدید را به طور مداوم امتحان می کند ، ایده های همان روز را راه اندازی می کند

ترسو راهی خوب برای عبارت "توجه به جزئیات" است. اشکال زدایی و تست 99 درصد از زندگی یک توسعه دهنده است که هیچ کس هنگام ورود به W3S Schools یا شروع دوره محاسبات 101 به آن اشاره نکرده است.

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

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

اشکال زدایی

اشکال زدایی نیز یک نکته دردناک است. نه نحوه استفاده از اشکال زدایی ، بلکه چگونگی رفع اشکال در یک مشکل - بنابراین من به لیست مایکل گریر اضافه می کنم:

  • بی صبری: با پرخاشگری اطلاعات بی ربط را برای یافتن و حل مسئله واقعی نادیده می گیرد

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

بسیاری از کتابها (متأسفانه ، نه کتابی که من برای ناشری نوشتم که نامی از آن نخواهم برد) در مورد اشکال زدایی است و هر توسعه دهنده باید همه آنها را بخواند. یک توسعه دهنده بسیار عالی می تواند بدون دیدن یک خط کد ، مشکلات موجود در سیستم را رفع اشکال کند.

07. آنچه کاربران می خواهند

درک کنید که افراد اطراف شما در تلاشند چه کاری انجام دهند. از این کد لذت ببرید - عاشق این باشید که فایل های CSS را کاملاً تورفتگی یا بهینه سازی یک برنامه ریل ایجاد کنید - اما به یاد داشته باشید که همه اینها برای یک هدف است.

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

بازار رقابتی

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

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

توسعه دهندگان کنترل زیادی دارند - آیا آنها باید بدانند که هر فیلد در پایگاه داده برای کاربر نهایی به چه معناست؟ اگر داده ها را تغییر دهیم ، کاربران چه چیزی را می بینند؟ آیا راهی بهتر برای کمک به کاربران وجود دارد؟ غالباً معمولاً نظر مدیران DB این است که جهان بازتاب بدی از پایگاه داده آنها است تا اینکه پایگاه داده آنها نمایشی بد از دنیای واقعی باشد. جهان آشفته است و به طرز شگفت آوری پر از موارد لبه ای است. با آن کنار بیایید ، مدیران DB

08. طراحی و نوشتن

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

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

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

09. از خود لذت ببرید

و اگر مجبور باشید 10 ساعت با حل کردن یک لینک به حل یک مسئله بپردازید ، چه می کنید؟ از آن لذت ببرید - حتی اگر این فقط چالش عبور از کار باشد.

بدترین نگرش توسعه دهندگان (یا هر کس) بی علاقگی نسبت به آنچه تیم در تلاش است به آن دست یابد است. متأسفانه این امر معمول است ، زیرا توسعه دهندگان خود را خارج از آنچه تیم به دست می آورد ، می دانند. (برنامه ریز پرشور این سesال را مطرح می کند ، "چقدر سرگرم کننده تر می توانید کار خود را انجام دهید؟" - آن را امتحان کنید.)
و آماده باشید تا کار خود را به عنوان عکس این نشان دهید: سعی نکنید چند آموزش در مورد Ruby to "Experience of Ruby" را امتحان کنید!

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

10. تیز بمانید

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

"همیشه در هر گروهی که هستید بدترین پسر باشید."

بدترین - واقعاً خیلی بد - برنامه نویسان ، رمزگذاران ، طراحان چیزهای خود را یاد می گیرند و روی لاله های خود استراحت می کنند. بدون ضربان ساز ، سرعت آن بسیار آسان است و بدون دیدن رقابت ، دیدن خودتان بالاتر از حد متوسط ​​عادت می شود.

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

دن فراست مدیر فنی شرکت وب سرویس 3EV ، یک شریک رسمی AWS است. او هفت سال است که در CMS و توسعه برنامه های وب کار می کند.

این را دوست داشتید؟ اینها رو بخون!

  • نحوه ساخت برنامه
  • بهترین فونت های وب رایگان برای طراحان
  • موارد بعدی را برای واقعیت افزوده کشف کنید
جالب در سایت
Web Intents: آینده برنامه های وب
ادامه مطلب

Web Intents: آینده برنامه های وب

این مقاله اولین بار در شماره 229 مجله .net منتشر شد - پرفروش ترین مجله جهان برای طراحان و توسعه دهندگان وب.پسندیدن. بعدا بخوانید 1+ توییت. وبلاگ Tumblr tumbleUpon. طی چند سال اخیر ، دکمه های کوچک شکلا...
8 مرحله تا صندوق ورودی صفر
ادامه مطلب

8 مرحله تا صندوق ورودی صفر

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

بینش صنعت: آیا مسابقات طراحی ویژگی خاصی دارند؟

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