10 böcker för programmerare för att förbättra tekniska och mjuka färdigheter

10 böcker för programmerare för att förbättra tekniska och mjuka färdigheter

Vi har samlat en samling av litteratur för både nybörjare inom IT och erfarna programmerare som hjälper till att förbättra (eller repetera) grunderna, utvidga kunskapen inom matematik och maskininlärning, lära sig att klara intervjuer och “överleva” på kontoret.

För nybörjare:

Computer Science Distilled: Lär dig konsten att lösa beräkningsproblem (Wladston Ferreira Filho)

En kort och enkel guide inom datavetenskap som steg för steg lär ut de grundläggande principerna för effektiv datorprogrammering. Efter en introduktion till diskret matematik presenteras allmänna algoritmer och datastrukturer. Boken täcker också principerna som datorer och programmeringsspråk arbetar efter.

Grokking Algorithms: En illustrerad guide för programmerare och nyfikna människor (Aditya Bhargava)

Denna illustrerade guide lär dig tillämpa vanliga algoritmer på praktiska uppgifter som programmerare stöter på dagligen. Du börjar med sortering och sökning och utmaningarna blir gradvis mer avancerade – du behöver lösa uppgifter inom datakomprimering och artificiell intelligens. Inuti boken finns också exempel på tillämpningar av algoritmer, diagram och helt annoterade kodexempel i Python.

Street Coder: Reglerna att bryta och hur man bryter dem (Sedat Kapanoglu)

Denna guide med humor berättar för nybörjare hur man effektivt utför sitt arbete, prioriterar, fatta snabba beslut och förklarar också vilka kodningsregler som bör brytas. Boken behandlar:

  • Datatyper, algoritmer och datastrukturer för snabb programutveckling.
  • Användning av “dåliga” metoder till fördel.
  • Testning.
  • Hur man hanterar misstag i koden och blir vän med felen.
  • Optimering av kod, asynkron programmering, parallellisering och refaktorisering.

För erfarna programmerare:

Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems 1st Edition (Martin Kleppmann)

Idag står data i centrum för många utmaningar vid systemdesign – det krävs att man löser komplexa frågor som skalbarhet, samstämmighet, tillförlitlighet, effektivitet och underhållbarhet. Informationen i denna bok hjälper dig att orientera dig i data-världen genom att undersöka fördelarna och nackdelarna med olika teknologier för datahantering och lagring med hjälp av verktyg. Programvara förändras ständigt, men de grundläggande principerna förblir oförändrade. Författaren beskriver hur man tillämpar dessa idéer i praktiken och hur man fullt ut utnyttjar data i moderna applikationer.

Data-Driven Science and Engineering: Machine Learning, Dynamical Systems, and Control 1st Edition (Steven L. Brunton)

Denna lärobok kombinerar maskininlärning, ingenjörsmatematik och matematisk fysik för att integrera modellering och styrning av dynamiska system med moderna metoder inom datavetenskap. Här belyses många senaste framsteg inom vetenskaplig beräkning – de möjliggör tillämpning av datadrivna metoder på olika komplexa system.

Build Your Own Programming Language: A programmer’s guide to designing compilers, interpreters, and DSLs for solving modern computing problems (Clinton L. Jeffery)

Författaren till denna bok är skaparen av programmeringsspråket Unicon. Han anser att det bästa sättet att spara tid och lösa smärtpunkter inom ditt projekt är att skapa ditt eget programmeringsspråk. Boken förklarar hur man skapar syntaktiska analyser, kodgeneratorer, program för filinläsning, analyser och tolkare. Det finns också en guide om hur man skapar alternativ till ramverk och bibliotek för att lösa problem inom ett specifikt område.


Passera systemdesignintervjun:

System Design Interview — En insiders guide (Alex Xu)

Intervjun för systemdesign är den mest utmanande fasen. För att underlätta för utvecklare att klara den har författaren skapat en serie handböcker (detta är den första delen). Här presenteras en strategi för att klara intervjun och en kunskapsbas för att lösa en bred samling frågor relaterade till systemdesign. Boken innehåller otaliga verkliga exempel som illustrerar en systematisk tillvägagångssätt med detaljerade beskrivningar av stegen.

Krossa programmeringsintervjun: 189 programmeringsfrågor och lösningar 6:e upplagan (Gayle Laakmann McDowell)

En programvaruingenjör som också varit involverad i anställningsprocessen delar med sig av sin erfarenhet av att klara intervjun, även de där du blir ombedd att direkt komma på en briljant algoritm och sedan skriva felfri kod på tavlan. Boken hjälper dig att öva inför intervjun, lära dig att avslöja ledtrådar och dolda detaljer i frågorna, komma ur svåra situationer och repetera grundläggande utvecklingskoncept.


Mjuka färdigheter:

Engineers Survival Guide: Råd, taktik och knep efter ett decennium på Facebook, Snapchat och Microsoft (Merih Taze)

Låt oss lämna teorin och gå över till ingenjörens verkliga liv, där man dagligen behöver interagera med människor, utstråla självsäkerhet, övertyga andra om ens rätt, försöka inte drunkna i arbete (men heller inte visa sig vara “svag” och be kollegor att ta över delar av arbetet) och på något sätt klättra uppåt i karriären. Denna bok kommer att fungera som en “elektronisk mentor” i dessa och andra frågor: inuti hittar du sammanfattningar av råd, taktik och knep från erfarna ingenjörer.

Critical Thinking & Logic Mastery – 3 böcker i 1: Hur du fattar klokare beslut, besegrar logiska felslut och slipar ditt tänkande (Thinknetic)

Majoriteten av människor saknar kritiskt tänkande eftersom det inte undervisas i utbildningssystemet. Just på grund av bristen på kritiskt tänkande uppnår de flesta människor aldrig sin fulla potential – på grund av en mängd felaktiga övertygelser gör de saker som skadar dem och undviker att göra saker som skulle vara till stor nytta. Denna tes kan tillämpas både på vardagslivet och på en programmerares arbete.

Scroll to Top