این کتابو شروع کردم تا یه چیز بیشتر تکنیکال نسب به کتابها� مدیریتی بخونم و حدودا هم بهش رسیدم. میش� گفت کتاب دو بخش داره، تو بخش دوم مصاحبههای� با آاین کتابو شروع کردم تا یه چیز بیشتر تکنیکال نسب به کتابها� مدیریتی بخونم و حدودا هم بهش رسیدم. میش� گفت کتاب دو بخش داره، تو بخش دوم مصاحبههای� با آدمای مختلف استف+ کرده و توی بخش اول عملا اومده از نتیجه� این صحبتا + فکرهای خودش و نوشتهها� کمک گرفته و یک محتوای نسبتا ساختاریافته درست کرده که توی مسیر تکنیکال استف+ به آدم کمک میکن�. توی بخش اول یک درک خوبی از ایده� کلی استف و این مسیر سنیوریتی به آدم مید� و رفرنس مید� به بخشها� دوم کتاب که با آدما مصاحبه کرده. بخش دوم کتاب یه جورایی دنیای منو بزرگ کرد نسبت به آدمها� مختلفی که با بکگران� و روشها� مختلفی رسیدن به چیزایی که باید و عملا چشمای من نسبت به تفاوت بین آدمه� و مسیرشون بازتر شد. یه جورایی دوباره مجبورم کرد ببینم آدما با کلی مسیر متفاوت میتون� به چیزایی که من فکر میکن� برسم و این کارو از خیلی از کتابها� مدیریتیا� که خوندم، بهتر انجام داد ( یه مقداری هم به ذات مصاحبها� طور بخش دوم میگرد� این نکته ).
در کل به کتاب ۴ از ۵ مید� و ۵/۵ نمید� به خاطر این که محتوای کتاب انگار یه جورایی داشتن حول یک ایده و مایندست میچرخید�. درسته آدمایی که صحبت کرده بود متفاوت بودن، اما هم جنس مصاحبهه� یکسان بود هم انگار خیلی چیزارو ازشون نمیخواس� که صحبت کنن. مثلا اگه اومده بود در کنار اینا با یه سری آدمای خاص و خفن مثل جز هامبل و مارتینفول� و جینکی� که اثرگذاری خوبی هم توی « ایجاد تغییر » توی این حوزه دارن حصبت کرده بود، یه جورایی محتوا متفاوت و جذابت� میش� برای من.
در کل، واقعا کتاب متفاوتی بود. --- I started this book to get something more technical in a management book, and I nearly got it. The book has roughly two parts, the second part is some interviews with staff+ engineers around the world and the first part is actually a processed version of the second part + the author's thoughts and experiences to define and structure the content, road map, and other things around staff+ roles and technical career. The first part gives you a good understanding of the idea and references to the second part that kinda opened up my world, I saw how different people with different career paths reached the things I wanted and impacted the world, and it kinda, again, forced me to realize that there is not only one path for reaching things I want. Also opened up my eyes to different themes of people that I may work with, more than other management / leadership books I read ( It was the natural benefit of the interviews ). The book also had some good resources and blog posts that were wonderful.
I give this book 4 out of 5 and not a 5/5, because I guess the people and the contents were kinda isolated around a mindset, some wonderful people got interviewed and their thoughts were at the heart of the book, but they talked about regular things I guess and followed an exact path. It was not like watching the panels with people like Jez Humble, Martin Fowler, Gene Kim, and others who are genuine and have thoughtful ideas about the industry in it and are “making change�.
This book was on my reading list for a long time, and I regret that I didn't read it earlier. Concepts like DevOps are not that well defined in our indThis book was on my reading list for a long time, and I regret that I didn't read it earlier. Concepts like DevOps are not that well defined in our industry ( and also academy ), and the whole ITRevolution-related things are here to explain them. The Three Ways idea is a nice principle ( kinda ) that helps to understand/derive DevOps patterns from it, I read some articles and book chapters about the three ways and other Lean / Agile stuff before, but this novel helped me a lot for a deeper understanding of the paradigms.
The story is about a potential person, called Bill that works in a big company, and promotes as the VP of IT. The company has major issues right now that think is caused by IT, and Bill has to help the company and IT department overcome these major problems, and Erik, as a coach, helps Bill in this story. I really liked the ideas and real tradeoffs in this part. The novel itself is so well written like you are living a story with a nice narrative, and at some points, you get some knowledge stuff and proper explanations/answers to the things ( moments when Erik comes ). One minor problem with the book is that some things are kinda outdated and you heard them a lot ( and have a shallow knowledge ), because of this whole world of DevOps things. But it is still so good for a better understanding and some examples.
For sure, I recommend it to everyone in the industry.
In Persian: این کتاب مدت زمان زیادی بود که تو لیست خواندنم بود ( به پیشنهاد حسین عزیز )، و واقعا افسوس میخور� که زودتر از اینه� نخوندمش. کانسپتهای� مثل دواپس اونقدری خوب توی صنعت و آموزش ما تعریف نشدن و برداشتها� خیلی متفاوتی ازشون وجود داره ( که لزوما چیز بدی نیست ) و این وسط مجموعها� مثل ITRevolution و چیزهای مربوطه� برای توضیح و به کار بردنشون کلی کمک میکن�. ایده� « سه طریق » ( که توسط کتاب توضیح داده میش� ) قاعده� زیبایی برای توضیح و بدست آوردن انواع پترنها� مختلف دواپسه ( چک کنید ). با این که قبلا مقالات پراکنده و چپترهایی از برخی کتابهار� در خصوص این ایده ( و باقی موارد مشابه لین و اجایل ) خونده بودم، این کتاب خییییلی بهم کمک کرد تا به درک بهتر و عمیقتر� برسم.
داستان به صورت کلی در خصوص فردی ( با پتانسیل ) به اسم Bill هست که تو شرکت بزرگی که کار میکن� ترفیع میگیر� و مدیر بخش IT میش�. شرکت هم به صورت کلی با مشکلای زیادی دست و پنجه نرم میکن� که عموما به خاطر IT به وجود اومدن. حالا بیل با تمامی این موارد طرف میش� و باید شرکت رو از این فضای ناجوری که توش قرار گرفته خارج کنه و با ایدههای� که از سمت مربی داستان، اریک مطرح میشه� جلو میبر�. دیدن آزمون خطاهای مختلف تو این داستان خیلی زیباس!
داستان به خودی خود خیلی خوب نوشته شده و مثل یک روایت زنده و جذابه، و تو بخشهای� از این روایت دانش خوب و تعریف شدها� به آدم منتقل میش� که به مشکلات مطرح شده جواب مید�. ( خصوصا تو کانورسیشنها� اریک ). یک مشکل کوچیک کتاب هم قدیمی شدن برخی مسائل توش هست. خصوصا به خاطر تمام این ترندهای دنیای دواپس، امروزه آدما آشنایی سطحی بیشتری با خیلی از این مسائل دارن. اما خب کتاب و داستان همچنا� به درک بهتر این مسائل کمک میکن�.
قطعا این کتاب رو به افرادی که تو این صنعت هستن پیشنهاد میکن�!...more
This book is so good for reminding previous knowledge about DS and algorithms and is also good to be an introduction for people who are not familiar wThis book is so good for reminding previous knowledge about DS and algorithms and is also good to be an introduction for people who are not familiar with this stuff, but it's not enough for both parties. If you are going to learn the DS and algorithms for the first time, you should read other sources to learn that, because the book is not covering them all. Like it talks about BFS but doesn't mention DFS, or it doesn't have many examples about each algorithm. I think the main benefit of the book is its simple explanations, but it covers less than you think.
In Persian: برای یادآوری دانستهه� کتاب خیلی خوبی هست، همینطور آموزش ساده� ساختمان داده و الگوریتم برای کسایی که با این مسائل آشنا نیستن، اما برای هر دو گروه کافی نیست! اگر برای اولین بار هست که با الگوریتم و ساختمان داده آشنا میشید� به نظرم بعد از این کتاب حتما باید یک کتاب سورس رو هم مطالعه کنید. چون کتاب به صورت خوبی کاور نمیکن� موارد رو. مثلا در مورد الگوریتم بیافا� صحبت میشه� اما در خصوص دیافا� صحبتی نمیکن�. همینطور در باقی موارد هم مثاله� خیلی محدود هستن. به نظرم نقطه� قوت اصلی این کتاب، ساده توضیح دادنش هست. اما خب به همین خاطر خیلی کمتر مسائل کاور میش�....more
Before reading this book, I was thinking about TDD as a testing technique. Besides that, I read some random quotes from Kent Beck and some presentatioBefore reading this book, I was thinking about TDD as a testing technique. Besides that, I read some random quotes from Kent Beck and some presentations, and kinda fell in love with this man's mindset. This book, amazingly, made me correct my thoughts about TDD, Agile, and Development! Kent Beck, with his realistic discussions and jokes in the book, taught me how to think better about these concepts. By reading this book I got that "TDD is a technique for all the activities of the development", and how it makes you have confidence while developing.
Also, I really enjoyed this phrase from Kent Beck: "Partly this is because this is how I learn- I find an expert to act like, then gradually figure out what is really going on. I'm certainly not looking for the rules to be followed mechanically, although that is how the mechanically minded have interpreted them."
In Persian: قبل از این که این کتاب رو بخونم، به تیدید� به عنوان یک تکنیک تست کردن نگاه میکرد�. از طرفی یک سری جملات و ارائههای� رو از کنت بک و سایر افراد در این خصوص دیده بودم و به شدت عاشق تفکراتش شدم. این کتاب، به شکل خارق العادها� باعث شد تا من ذهنیتم رو در خصوص تیدیدی� اجایل و همینطور توسعه بهتر کنم. کنت بک با صحبتها� خوب و واقعگرایانه� و جوکهای� که تو متن کتاب داشت، بهم یاد داد تا چطور در خصوص این کانسپته� بهتر فکر کنم. با خوندن این کتاب من فهمیدم که « تیدید� یک تکنیک برای تمام فعالیتها� توسعه� نرمافزا� هست� » و چطور میش� با استفاده ازش اطمینان بیشتری هنگام توسعه داشت.
در کنار این توضیحات، من به شدت از این عبارت کنت بک تو کتاب لذت بردم: « این نسبتا به خاطر مدلی هست که من یاد میگیر�- من یک آدم حرفها� رو پیدا میکن� تا بتونم شبیهش رفتار کنم، بعد به مرور دستم میاد که دقیقا چه اتفاقی داره میافته. من دنبال پیدا کردن یه سری قاعده برای پیروی مکانیکال ازش نیستم، در حالی که این همون مدلی هست که آدمها� با ذهنها� مکانیکی ازش برداشت میکن� »...more
At first, If I were the author, I called this book something like "Microservices concepts" or like "Choosing whether to migrate to microservices or noAt first, If I were the author, I called this book something like "Microservices concepts" or like "Choosing whether to migrate to microservices or not.". This book is not practical, but covers lots of microservice concepts, at least in the outlines. It gives us useful knowledge about different aspects of microservices and defines the concepts, so it is worth reading. I also enjoyed the perception and thoughts of Sam Newman about software architecture and disciplines that I think this type of thinking comes from the Thought Works ( Martin Fowler ). After reading the book, you can talk hours and hours about these kinds of stuff in a general way :D ---
اول از همه به نظرم این کتاب باید یه چیزی مثل « کانسپتها� ماکروسرویس » یا « انتخاب کردن رفتن به سمت مایکروسرویس » نامگذاری میشد� چون پرکتیکال نیست و اون قسمت « بیلدینگ » رو خیلی بهش توجهی نکرده. از طرفی بخش خوبی از ایدهها� مایکروسرویس رو از نظر سرفصلی پوشش داده که خب همین یه درک خوبی از قضیه بهمون مید� و از این نظر حقیقتا کتاب ارزش خوندن داره. من از مدل فکر کردن و درک و فهم سمنیوم� از معماری نرمافزا� و فرآیندها� نرمافزار� خوشم اومد که خب به نظرم میاد این مدل فکری از مارتین فولر نشات میگیر�. به هر حال کتاب کتاب خوبیه و با خوندنش کلی چیز جدید به به صورت سطحی یاد گرفتین که میتونی� در موردش ساعته� صحبت کنین :دی...more
شاید « کلید کدر » رو بشه بیشتر به عنوان یک کتاب « خودیاری » در نظر گرفت تا « تکنیکال ». پر از تجربه، قصه، و حرفها� خوب، اما خب بدون توضیح یا ریزنینگ شاید « کلید کدر » رو بشه بیشتر به عنوان یک کتاب « خودیاری » در نظر گرفت تا « تکنیکال ». پر از تجربه، قصه، و حرفها� خوب، اما خب بدون توضیح یا ریزنینگ دقیق در موردشون ( هر چند که به نظرم نیازی هم نیست بهش خیلی ).
اول از همه اشاره کنم که شخصا از خوندن داستان و بیوگرافیطو� آدمای مرتبط خوشم میاد، و خب مشکلی با قصهها� بلند وسط کتابا ندارم، بیشتر حال هم میکن� باهاشون، و خب کلید کدر پُر هست از این قصهه�. به نظرم این قصهه� به آدم دید بهتری میدن� حس خوبی همراهشون میاد و خب میش� تریکه� و روشها� آدمه� رو دید و باهاشون آشنا شد و بعدا به کارشون گرفت. یه بخش خوبی از این مدل تکنیکه� و لایفاستایله� تو زندگی آنکلبا� هست، و خب چه لایفهک� بهتر از لایفهکها� یه پروفشنالی مثل آنکلبا� که حوزه� کاریش یکسانه باهامون؟ چرا نخونیمشون؟ هر چند یه درصدیش از نظرمون منطقی به نظر نیاد یا به تیپ ما نخوره؟ یا حتی اگه تردیدی هم داریم در موردشون خب نخ میگیری� و دقیقت� میری� سراغشون.
و اما بیشتر در مورد خود کتاب: کلین کدر خیلی حرف تکنیکالیا� در مورد خود توسعه نرمافزا� و اینجو� حرفا نمیزنه� از تایتلش هم مشخصه. بیشتر سعی در بیان یه سری دیسیپلینه� و رویکرده� داره، و حتی صرفا گفتن همین که « دیسیپلینهای� هستن و ما باید بریم سراغشون ». اینجا قرار نیست توضیح دقیقی در مورد فرضا تیدید� بهمون داده بشه صرفا قراره گفته بشه یه تیدیدیا� هست، خوبه، و آدمها� حرفها� میر� سراغش، پس شما هم برین سراغش! در کنار داستانهای� که یه حس مشترکی هم ایجاد کنه :دی قرار هم نیست و قول هم نداده خیلی به روز باشه. مشخصه یه سری از رویکرده� ممکنه تغییر کرده باشن، اما خب بیشترشون نکردن :دی
در نهایت به نظرم خوندنش خوبه، نمیش� گفت نمیارزه، خیلی هم روون هست متن کتاب و با سرعت نسبتا خوبی میش� خوندش ( حداقل برای من ۲/۳ زمانی که یه کتاب عادی انگلیسی رو میخون� طول کشید ) و فوکس خیلی خاصی هم روش نمیخواد� میش� حتی تو مسیر رفت و آمد هم خوندش! یا شبه� :دی...more
I have to say, this book is my new Engineering Bible! It has up and downs in some chapters, some are related and sensible to someone, some may not, depI have to say, this book is my new Engineering Bible! It has up and downs in some chapters, some are related and sensible to someone, some may not, depending on your experience and situation, but overall, it's a masterpiece.
In persian: این کتاب عملا تبدیل به کتاب مقدس من تو بحثای مهندسی میشه. کتاب با توجه به فصلهاش� بالاپایینها� مختلفی داره، یه سری چیزها ممکنه برای بعضیا ملموس باشه، یه سری چیزا نباشه، احتمالا به خاطر شرایطی که توش بودیم و تجربیاتمون. اما به صورت کلی میشه گفت این کتاب یک اثر فوقالعادهاس�....more
کلین کد عملا از اون دسته کتابهای� در دنیای نرمافزا� هست که یک دانش بنیادی به ما مید� و خب طبیعتا از نظر خیلیه� « ماست رید » حساب میشه� در کنار ک کلین کد عملا از اون دسته کتابهای� در دنیای نرمافزا� هست که یک دانش بنیادی به ما مید� و خب طبیعتا از نظر خیلیه� « ماست رید » حساب میشه� در کنار کتابهای� مثل ریفکتورینگ و پراگماتیک پروگرمر و تیدید� بای اگزمپل و غیره.
خوندن این کتاب آوردهها� زیادی داره، از آشنا شدن با یکسر� مفاهیم اولیه گرفته تا مباحثی که هر فصل بهش پرداخته میشه� از اون طرف تلاش خوبی شده تا مباحث به صورت صرفا تئوری در نیان و فرد با فرآیند اصلاح هم آشنا بشه یا حداقل قبلش تو کانتکست قضیه قرار بگیره. یک سری موارد شاید توشون اغراق شده باشه یا بعضا مواردی دیگه کاربرد نداشته باشن ( با توجه به امکانات IDEها و غیره )، اما به نظرم حتی همین اغراقه� هم مفیدن. همینا هم باعث میش� یک سری موارد مهم تو ذهن آدم محکمت� بشن. کلا توضیح زیادتر از نظر من تو این کتابا خیلی مفیده، باعث میش� پایهها� اون قضیه تو ذهن آدم محکمت� بشن.
مثالها� کتاب به زبان جاوا هستن، اما در اکثر موارد مفاهیمی که مطرح میش� قابل نگاشت به زبانها� دیگه� و از این نظر مشکل خاصی وجود نداره. درصد خیلی خیلی کمی از کتاب هست که بشه گفت اسپسیفیک مختص زبان جاوا هست ( از روی دسته بندی بخش سوم بخوایم بریم عملا ۳/۶۶م قضیه ) ولی خب تو متن کتاب شاید بشه گفت ۱۰ درصد.
اما یک موردی که به نظرم داونسای� کتاب حساب میشه� تو نحوه� تمیزکاریه� خصوصا در بخش دوم کتاب هست ( بخشهار� در ادامه توضیح مید� ). به این صورت که یک سری تغییرات، به نظرم واقعا « بهبود » نیستن، صرفا « از یک مسیر دیگه رفتن » و یا از یک مسیر دیگه پیاده کردن جزئیاتن. از روی متن و توضیحات آنکلبا� هم مشخص هست قضیه، عموما دلایل آورده شده برای اون قسمته� ضعیف هستن. این شاید تو ذهن بعضی مخاطبه� قضیه رو بد نشون بده. از اونجایی که این کتاب یه جورایی داره به شکل یک « بایبل » در میاد ( که خوب هم هست ) بعضیا ممکنه این قسمتهار� زیادی جدی بگیرن و خودشون رو مجبور کنن حتما حتما به همین شکل و از همین طریق برن و یه مقداری تعصب بیج� اینجاها شکل بگیره.
- توضیح استراکچر کتاب: همونطوری که تو مقدمه� کتاب اومده، کتاب سه بخش داره. بخش اول مفاهیم رو توضیح مید� مقدار کمی حالت پرکتیکال داره، مثلا تکهکدهای� برای درک بهتر قضیه توش آورده شدن. بخش دوم به استفاده از این مفاهیم رو میاره و شروع به تمیز کردن یک سری پروژه میکنه� اینجا دیگه با یکسر� تکهک� طرف نیستیم و عملا یک کلاس یا پروژه رو به صورت کامل تحلیل میکنی�. با دقت خوندن این بخش میتون� جذاب باشه. و بخش سوم هم که یک تک فصل هست، مواردی که تو بخش دوم اصلاح میشد� رو به صورت حدودا دستهبند� شده به عنوان رفرنس قرار داده که این هم هر چند وقت یک بار خوندنش میتون� کمک کنه به ماندگاری مفاهیم کتاب.
- اضافات و پ.ن: یادش بخیر، عید سالی بود که کنکور داشتیم. یه برنامه نویس اندرویدی بود به اسم کریم ابوزید، این بندهخد� توی گوگلپلاس� یه پست گذاشت که عکس کتاب کلین کُد بود و ازش تعریف کرد. اون موقع دانش برنامهنویس� من خیلی کم بود، مشارکت نصفه و نیمه تو یه پروژه� اندروید و برنامهنویس� در سطح مدرسه و ور رفتن با پیاچپ� و غیره احتمالا ماکسیموم تجربه� من از برنامه نویسی بود. اونجا بود که یه روزی رو به جای تست شیمی و ریاضی زدن گذاشتم برای خوندن این کتاب ( با اون وضعیت اسفناک زبانم :))� ). بعد کنکور دوباره اومدم سراغش، یادمه اون موقع حتی نمیدونست� اصن فرق این کتاب با کلید کدر چیه و اولش داشتم اون رو میخوند� :)) اصن نصف چیزایی که میخوند� رو شاید درست حسابی درک هم نمیکردم� چون از قبل به عنوان یه چلنج باهاشون برخورد نکرده بودم، اصن نمیدونست� این حرفا واقعا مهم هستن و بیگدی� حساب میش�. ولی خب خلاصه بعد چند سال همت کردم و کامل از اول خوندمش :)) این خوشحا� کننده� برام. یه جورایی یه سری خاطرههای� حین خوندنش برام زنده میش� که باعث میش� دقایقی رو از کتاب دور بشم. کاش یه دور دیگه اون دوران رو تجربه میکرد� :)...more
فوق العاده روون و خلاصه! اولش فکر نمیکرد� بشه از کتاب تکنیکال فارسی چیزی در آورد، ولی خب عملا نظرم عوض شد. کل کتاب رو میش� تو ۲ ساعت راحت خوند. توضیح�فوق العاده روون و خلاصه! اولش فکر نمیکرد� بشه از کتاب تکنیکال فارسی چیزی در آورد، ولی خب عملا نظرم عوض شد. کل کتاب رو میش� تو ۲ ساعت راحت خوند. توضیحه� خلاصه و مثاله� کارامد و روونان� و به افراد اول راه خط خوبی از مفاهیم مختلف این حوزه مید� که برن دنبالش. خود چند سال پیشمو یادم نمیر� که چقدر طول دادم تا کلینک� رو بخونم ( و آخرم کامل نخوندمش ) و چقدر گپ میافتاد بینش، چقدر طول کشید تا با خوندن تیکهتیکه� یه سری مقاله اونم با گپ زیاد بین کار یه سری چیزارو یاد بگیرم، ولی این کتاب رو راحت و سریع میش� خوند و حتی در حد شنیدن اسمشون و گوشه� ذهن بودن مفاهیمش هم که شده بهش بسنده کرد....more