کتاب Skills of a Successful Software Engineer (مهارتهای یک مهندس نرمافزار موفق) به طور خلاصه به شرح موارد مهارتهای مورد نیاز یک مهندس نرمافزار موفق خواهد پرداخت. این کتاب در 8 فصل مختلف از جنبههای متفاوت به شرح انواع مهارتهای مورد نیاز یک مهندس نرمافزار ایدهآل و موفق را شرح خواهد داد.
در ادامه مقدمهای از کتاب Skills of a Successful Software Engineer را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Skills of a Successful Software Engineer:
صنعت توسعه نرم افزار تغییر کرده است، و من در مورد تغییر اخیر صحبت نمیکنم – این سالها پیش اتفاق افتاد. دسترسی به دانش سطح اولیه مورد نیاز برای شروع حرفهای در توسعه نرم افزار دیگر امتیاز عده کمی نیست، بلکه یک فرصت برای تودهها است. دانش مشکل نیست – فناوری به ما اجازه داده است که آن را گسترده کنیم – اما خود صنعت هنوز با آن سازگار نشده است.
در حالی که اکثر افرادی که سعی در شروع حرفه ای به عنوان یک توسعه دهنده دارند بر روی جنبه فنی چیزی که باید بیاموزند تمرکز میکنند (کدام زبان و چارچوب را یاد بگیرند، کدام آموزش برای درک الگوهای طراحی بهتر است و غیره)، آنها همه چیز را فراموش میکنند. و از این طریق، آنها مهمترین جزئیات را از دست میدهند: دانش فنی به راحتی در دسترس است، و آنها سالها، اگر نه دههها، از آن استفاده خواهند کرد.
در مقابل، درک اینکه از اولین شغل خود چه انتظاری دارید، انتخاب اولین شرکت خود از بین چندین پیشنهاد شغلی، یا حتی فهمیدن نحوه کار با تیمی از همکاران با سطوح مختلف مهارت نسبت به شما، امری بی اهمیت نیست و دانش کمتری در دسترس است. . جنبههای زیادی از حرفه ما وجود دارد که شامل کدنویسی نمیشود، و حتی اگر هم باشد، به کد تکیه نمیکنند، بلکه به بهترین شیوهها و کار گروهی متکی هستند.
کتاب Skills of a Successful Software Engineer از اینجا سرچشمه میگیرد – نیاز به پر کردن این شکاف در تربیت توسعه دهندگان جدید. من قویاً معتقدم که هر کسی اگر زمان کافی صرف کند و منابع مناسب را بیابد، میتواند یاد بگیرد که چگونه کدنویسی کند.
من صادقانه معتقدم که این آسان ترین بخش حرفه ما است. اما بقیه؟ بقیه چیزها فقط از طریق تجربه آموخته میشوند، و در حالی که من نمیتوانم تجربه را از طریق کتاب به شما تحمیل کنم، میتوانم با به اشتراک گذاشتن کتاب خودم، به شما یک کار را آغاز کنم. پس از تقریباً دو دهه در این صنعت، من یک یا دو نکته را انتخاب کردم و بیشتر از آن حاضرم آنها را با شما به اشتراک بگذارم.
امید من این است که با خواندن کتاب Skills of a Successful Software Engineer یا بتوانید برای چیزی که در راه است آماده شوید، یا اگر در حال شروع هستید، بتوانید آنچه را که تجربه میکنید درک کنید. این همه است. من قصد ندارم اصول برنامه نویسی را آموزش دهم – اینترنت برای آن وجود دارد (و همچنین تعداد زیادی کتاب دیگر). اما اگر علاقه مندید بدانید چه چیز دیگری از سفری که آغاز کرده اید انتظار دارید، به خواندن ادامه دهید!
مهارتهای یک مهندس نرم افزار موفق با هدف کمک به تازه واردان در صنعت با به اشتراک گذاشتن تجربیات خودم، اشتباهات خودم و درسهایی که از آنها آموختهام نوشته شده است.
در نظر گرفته شده است که نگاهی اجمالی به آینده خود داشته باشید و مسیری ممکن برای عبور از آن را به شما نشان دهد. در نهایت، راهی که شما تکامل مییابید و به سمت جلو حرکت میکنید، خودتان خواهد بود. چه کسی باید این کتاب را همه بخوانند!
حداقل، این امید من است، اما در یک نکته جدی تر، من این کتاب را برای نوع خاصی از خوانندگان نوشته ام: کسی که به تازگی شروع به کار کرده است و به طور بالقوه حتی هنوز به عنوان یک توسعه دهنده کار نکرده است. آن شخص بیشترین بهره را از کتاب Skills of a Successful Software Engineer خواهد برد.
با این حال، از طریق فرآیند بررسی خود، ما همچنین متوجه شدیم که بسیاری از توسعهدهندگان با سالها سابقه حرفهای توانستهاند یک یا دو چیز از فصلهای مختلف بیاموزند. برخی از آنها در تمام این مدت برای یک شرکت کار میکردند و فصل 6 در مورد فرآیند مصاحبه برایشان جالب بود. دیگران با ایده کار بر روی یک پروژه جانبی بازی میکردند، اما نمیدانستند از کجا شروع کنند، بنابراین فصل 5 برای آنها عالی بود. اینجا چیزی برای همه وجود دارد، بنابراین من شما را تشویق میکنم که نگاهی بیندازید، حتی اگر مدتی است که کار میکنید.
نحوه تنظیم کتاب Skills of a Successful Software Engineer
آسان نبود، اما سعی کردم محتوای این کتاب را در یک پیشرفت منطقی سازماندهی کنم. هشت فصل سعی میکنند تکامل حرفه شما را بهعنوان یک توسعهدهنده موازی کنند:
فصل 1 اساس یک حرفه توسعه نرم افزار را پوشش میدهد: تمرکز شما روی چه چیزی باید باشد و برخی از بزرگترین تصورات غلط مردم در مورد صنعت چیست. اگر هنوز در مورد این که آیا این انتخاب شغلی مناسبی برای شماست، فکر میکنید، این فصل باید به شما در پاسخ به این سوال کمک کند.
فصل 2 کتاب Skills of a Successful Software Engineer شما را با برخی از مفاهیم اصلی آشنا میکند که باید هنگام مقابله با کد درک کنید. نه، آنها مفاهیم مرتبط با کد نیستند. من در مورد بیانیهها یا برای حلقهها صحبت نمیکنم.
این فصل ایدههایی مانند درک اینکه هیچ کد کاملی وجود ندارد و اینکه شما باید منطق خود را مستند کنید حتی اگر تنها کسی هستید که روی آن کار میکنید را پوشش میدهد. راههای زیادی برای نوشتن کد وجود دارد، و این فصل بهترین روشها را به شما نشان میدهد تا شما را در حین انجام آن عاقل نگه دارد.
فصل 3 اولین فصل فنی کتاب Skills of a Successful Software Engineer است و شامل تست واحد میباشد. مفاهیم تحت پوشش در اینجا برای هر زبانی که ممکن است تصمیم به کار با آن داشته باشید معتبر است. چند نمونه کد در اینجا یا در جاوا اسکریپت یا پایتون هستند، اما بیشتر از هر چیزی شبیه کد شبه هستند.
هدف این فصل این نیست که شما کد را کپی و جایگذاری کنید و آن را اجرا کنید، بلکه به شما کمک میکند تا بفهمید چرا تست واحد چنین کاری حیاتی است و مفاهیم اصلی پیرامون آن را ارائه دهید.
فصل 4 آخرین فصل فنی کتاب Skills of a Successful Software Engineer است و یکی دیگر از روشهای اصلی صنعت ما را پوشش میدهد: بازسازی مجدد. باز هم، تمرکز این فصل روی کد نیست. در عوض، در مورد این که چرا refactoring چنین بخشی جدایی ناپذیر از حرفه ما است و بهترین روشها برای مقابله با آن بحث میکند.
فصل 5 کتاب Skills of a Successful Software Engineer به جنبه شخصی کدنویسی میپردازد، با توصیههایی در مورد چگونگی تعادل بین نیاز خود به کدنویسی و یادگیری در مقابل این واقعیت که شما نیز زندگی خارج از رایانه خود دارید. فرسودگی شغلی در صنعت ما واقعی است، و گاهی اوقات ناشی از نیاز به ادامه یادگیری است، بنابراین در این فصل به برخی از جنبههایی از معنای آن و چگونگی حرکت رو به جلو بدون فرسودگی اشاره میکنم.
فصل 6 کتاب Skills of a Successful Software Engineer بر فرآیند مصاحبه فنی تمرکز دارد. این میتواند برای برخی فرآیند بسیار استرس زا و برای برخی دیگر بسیار ترسناک باشد. من مصاحبههای زیادی (از هر دو طرف) در طول حرفهام انجام دادهام، و در اینجا بینشهایی را درباره نحوه بهترین آماده شدن برای آنها و همچنین انتظارات از این فرآیند به اشتراک میگذارم.
فصل 7 کتاب Skills of a Successful Software Engineer فرض میکند که شما کار برای یک شرکت را شروع کرده اید و بخشی از یک تیم هستید. در این فصل، پویایی تیم، درک آنچه مدیرتان از شما انتظار دارد، کنترل نفس توسعهدهندهتان و موارد دیگر را پوشش میدهم. نحوه کدنویسی شما تحت تأثیر این پویاییها است، بنابراین اهمیت این فصل را نادیده نگیرید!
فصل 8 کتاب Skills of a Successful Software Engineer را با مروری بر معنای رهبر بودن به پایان میرساند. چرا؟ زیرا این پیشرفت طبیعی اکثر توسعه دهندگان است: شما به عنوان یک توسعه دهنده جوان شروع میکنید و در نهایت فرصتی برای رهبری یک تیم کوچک به شما ارائه میشود.
ممکن است آن را دوست داشته باشید یا از آن متنفر باشید – هر دو نتایج بسیار معتبری هستند. با این حال، اغلب مردم فراموش میکنند که به شما بگویند که واقعاً رهبری یک تیم به چه معناست، و این فصل سعی میکند بینشهایی را در مورد آن نقش ارائه دهد.
از درک معنای توسعهدهنده بودن تا دریافت اطلاعاتی در مورد معنای رهبری تیم اول، این کتاب طیف گستردهای از موضوعات را پوشش میدهد. این دیدگاه من نسبت به این فرآیند است، و نیازی نیست هر توصیهای را دنبال کنید یا هر عملی را به همان روشی که من پیشنهاد میکنم انجام دهید. با این حال، با نگاهی اجمالی به آنچه در انتظار شماست و تجزیه و تحلیل گزینههای مختلف، میتوانید بهترین تصمیمها را برای زمینه و خواستههای خود بگیرید.
سرفصلهای کتاب Skills of a Successful Software Engineer:
- contents
- preface
- acknowledgments
- about this book
- about the author
- about the cover illustration
- Chapter 1: Becoming a successful software engineer
- Chapter 2: Writing code everyone can read
- Chapter 3: Unit testing: delivering code that works
- Chapter 4: Refactoring existing code (or Refactoring doesn’t mean rewriting code)
- Chapter 5: Tackling the personal side of coding
- Chapter 6: Interviewing for your place on the team
- Chapter 7: Working as part of a team
- Chapter 8: Understanding team leadership
- index
جهت دانلود کتاب Skills of a Successful Software Engineer میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.