Шта је на мојој полици са софтверским инжењерингом

Ажурирање и стално усавршавање део је посла софтверског инжењера.

Постоји много начина за проучавање нових ствари на Интернету попут МООЦ-а, водича и чланака. Међутим, понекад је физичка књига најбољи избор , посебно када је то „референца“ која пружа знање које ће трајати у годинама које долазе. Можемо је ставити на полицу са књигама и проћи кроз њу сваки пут кад осетимо да је то потребно.

Ово је листа референтних књига које чувам на својој полици са софтверским инжењерингом. Надам се да може бити извор инспирације свима који траже нешто занимљиво за читање! ?

Шта имам на полици са књигама

Обрасци дизајна: елементи вишекратно употребљивог објектно оријентисаног софтвера

Ово је класика.

У овој књизи, такозвана „Банда четворке“ представља 23 узорка дизајна који су деценијама покретали објектно оријентисани свет. Од тада се стварају нови обрасци, али они у књизи сматрају се темељима свих осталих образаца.

Није лако прочитати, али требало би да га погледате само да бисте разумели где можете пронаћи оно што вам треба у свакој прилици. Нека буде на вашем столу и прођите кроз то кад нешто градите и имате осећај: „Ово што радим звучи познато“. Вероватно ћете открити да покушавате да примените образац дизајна који је већ описан у овој књизи.

Чисти код: Приручник за агилну израду софтвера

Прочитао сам ову књигу пре много година, али ме од тада држи.

Ово је одличан извор најбољих пракси за производњу чистог и читљивог кода и избегавање мириса кода. Књига је фокусирана углавном на Јаву / ООП, али пуно савета може се применити на сваки језик или програмску парадигму.

Писање одрживог и читљивог кода није луксуз - то је нешто чему би требало да тежи сваки добар софтверски инжењер . Ова књига ће вам пружити знање да то остварите.

Ујак Боб понекад може бити мало екстреман и не слажем се с њим у свим представљеним техникама. Мој предлог: прочитајте га и понесите са собом само оно што сматрате исправним. У сваком случају, то је књига коју вреди прочитати .

Научићеш Хаскелла за велико добро !: Водич за почетнике

Ово је књига о програмском језику Хаскелл, па зашто је купити и задржати као референцу? Моји разлози су:

  • То је врло добро написана и лако читљива књига на не баш лаку тему попут функционалног програмирања
  • Даје вам темеље функционалног размишљања, а не само Хаскелл синтаксе
  • Хаскелл је веома елегантан језик и свиђа ми се

Ово је књига која ме је увела у функционално програмирање. Тренутно програмирам углавном у Скали, али прелазак је био много лакши након што сам научио основе Хаскелла.

Функционално програмирање није лако, али отвориће вам ум. То може бити врло теоретски, а спровођење у пракси помоћу Хаскелла ће вам пуно помоћи .

У књизи постоје и врло лепи цртежи, па немате изговор да је не прелистате. ?

Теорија категорија за програмере

Ова књига покрива теорију категорија која је темељ парадигме функционалног програмирања.

Тема је прилично сложена за не-математичаре, али аутор је уложио велики напор да је програмерима учини разумљивом. Признајем да сам имао потешкоћа с читањем, али волео бих да то поново прођем.

Од ове књиге се не захтева да бисте постали одличан функционални програмер. Прочитајте га ако волите изазове и желите дубље да проучите теоријске основе функционалног програмирања.

Дизајнирање апликација интензивних података: велике идеје иза поузданих, скалабилних и одрживих система

Ово ми је најдраже, можда зато што волим дистрибуиране системе! :-Д

У овој књизи Мартин Клеппманн описује све различите аспекте дистрибуираних система, од сериализације до модела конзистентности и консензуса, који пролазе кроз различите механизме база података. Такође истражује нова кретања у вези са апликацијама на основу података.

У свету апликација заснованих на микросервисима у облаку, од суштинске је важности познавање различитих аспеката дистрибуираног система. Знање које пружа ова књига није везано за одређену технологију и биће драгоцено током читаве ваше каријере у софтверском инжењерству .

Релеасе Ит!: Дизајнирајте и примените софтвер спреман за производњу

Читам ову сада.

Да ли смо готови кад наш софтвер буде послат у производњу? Не, то је само почетак!

Ова књига наглашава шта може кренути наопако након што софтвер буде пуштен у производњу и мора се суочити са стварним корисницима. Описује анти-обрасце који могу угрозити стабилност нашег софтвера, као и решења за такве проблеме.

У овој књизи ми се највише свиђа што свако поглавље започиње примером из стварног живота. Затим аутор анализира проблеме због којих је софтвер пропао у производњи. Мислим да је учење на конкретним примерима врло ефикасан приступ.

Увод у алгоритме

Шта могу рећи о овој књизи? Само га купите и држите на столу .

Ако сте софтверски инжењер, постоји велика шанса да сте морали проучавати структуре података и алгоритме. Није увек лако ријешити сложеност или одабрати праву структуру података.

Када се појаве сумње, отворите ову књигу и пронаћи ћете оно што вам треба.

За већину људи (укључујући и мене) ово је врло тешко читати. Обично само прочитам оно што у том тренутку морам да знам и држим књигу на видику на свом столу.

Хиперфокус: Како управљати пажњом у свету дистракције

Ово није техничка књига, али је у скупу лектире која су ми боље променила живот.

Наш рад софтверских инжењера састоји се од решавања проблема нашим умом. Да бисмо били ефикасни у овом задатку, потребна нам је способност да се у потпуности фокусирамо на проблем који решавамо .

Овде можете пронаћи мноштво предлога и техника за максимизирање времена које можете усредсредити на задатак. Аутор такође говори о важности пуштања свог ума да одлута када требате бити креативнији.

Овладавање начином на који користите пажњу нешто ће побољшати не само ваше перформансе на послу, већ и сваки други аспект вашег живота.

Шта ћу додати на своју полицу са књигама

Прагматични програмер

Ово је једна од најпознатијих књига у развоју софтвера.

Предлози и технике представљени у овој књизи утицали су на каријеру многих програмера и инжењера на боље. Књига је објављена 1999. године, али је сада доступна као ново и ажурирано издање за 20. годишњицу.

Не можете ово пропустити. :-)

Рефакторирање: Побољшање дизајна постојећег кода

Тешко је увек испоручити висококвалитетни код. Рокови, хитност, лош дан утичу на квалитет вашег посла.

Због тога је рефакторирање толико важно. Ако први пут нисмо могли да обезбедимо квалитет, можемо га касније побољшати ради боље одржавања. Мартин Фовлер (један од мојих идола у свету развоја софтвера) описује најбоље технике за ефикасно рефакторирање.

На мојој полици за књиге увек ће бити места за књиге које ће ми помоћи да напишем бољи код.

Закључак

Ово је моја листа књига које треба да имате о софтверском инжењерству. То никако није свеобухватан списак „важних“ књига у овој области и сигуран сам да ћу додавати све више и више књига у годинама које долазе.

Надам се да сам вам дао лепе савете за следећу књигу коју бисте требали прочитати. ?

Видимо се!?