Wanneer ontwikkelaars vragen welke boeken ze moeten lezen, reageer ik meestal: “Ten eerste, lees gewoon.” Een groot deel van het softwareontwikkelingsproces is het lezen van andermans code. Dat gezegd hebbende, het beste wat je kunt doen om als ontwikkelaar te verbeteren, is om alles te lezen dat je snelheid en begrijpend vermogen zal verbeteren. Hoe effectiever u wordt om te lezen, des te efficiënter u wordt in uw dagelijkse workbuilding-software. De volgende zijn echter boeken die, als je ze nog niet hebt gelezen, de grootste invloed hebben op je software IQ.
Moonwalking met Einstein door Joshua Foer en Mike Chamberlain – Google is geweldig, maar vanwege al het gemak dat het biedt, is het echte leerproces echt verslechterd. Waarom onthouden wat je kunt opzoeken, toch? En als je geen goed begrip hebt van hoe je je geheugen kunt verbeteren, heb je echt geen andere optie. De meeste ontwikkelaars worden niet in memorisatietechnieken geleerd en doen zelfs nooit een poging om beter te worden. Als gevolg hiervan zijn mobiele apparaten een kruk geworden en dat is te zien. De ontwikkelaars van vandaag hebben moeite om meer dan een paar regels code te produceren zonder te refereren aan Google en dan StackOverflow. Het opzoeken van taalnuances of een specificatie tijdens het coderen is tijdverlies. Een paar keer de handtekening van een functie raden en dan opzoeken is een nog grotere time sink. Maar er is een andere manier. Dit boek leert specifieke tactieken om het meeste uit focus, chunking en herhaling te halen, zodat wanneer u sneltoetsaanslagen, statuscodes of de argumenten voor een functie moet oproepen, u dit eenvoudig kunt doen. De auteur onthult tips over hoe mensen met de best getrainde herinneringen het tegen elkaar opnemen in onthoudingswedstrijden en hoe hij technieken leerde in een zeer korte tijd.
You Do not Know JS van Kyle Simpson – Dit is een serie boeken die gezamenlijk moet worden behandeld als de bijbel voor JavaScript. Elke JS-ontwikkelaar zou het moeten lezen en een kopie in de dichtstbijzijnde lade van de nachtkast moeten bewaren. De auteur heeft zelfs het volledige exemplaar van elk boek online verstrekt als je het gratis op GitHub wilt lezen. Het is moeilijk te lezen en de meestal traag. De boekdelen zijn kleine boekjes die meestal een paar passen nodig hebben om alles op te nemen, maar elk van de 7 delen verdiept je kennis van enkele van de lastigere delen van JavaScript.
Clean Code door Robert C. Martin – De auteur van dit boek wordt met eerbied in de softwaregemeenschap aangeduid als “Uncle Bob” en staat bekend om zijn vele conferentietoespraken over het schrijven van goed georganiseerde en onderhoudbare code. Na het lezen van dit boek zullen ontwikkelaars waarschijnlijk meer tijd besteden aan het nadenken over waarom we code op een bepaalde manier schrijven en wat onze stijlen en gewoontes zeggen over de ernst van onze benadering van het vak. Met de principes van oom Bob kunt u code geuren identificeren (het verschil tussen goede en slechte code), en nog beter, een proces dat u kunt gebruiken om uw code op te schonen en te herfactureren zodat deze leesbaarder en onderhoudbaarder wordt.
Software vakmanschap: de nieuwe imperatief door Pete McBreen – De principes in dit boek sluiten goed aan bij Clean Code. Het verschilt daarin dat het meer over de kunst spreekt dan over de wetenschap van software. Door het te lezen, kunnen ontwikkelaars ontdekken hoe ze via software software kunnen leveren. Het gaat over samenwerking met stakeholders, projectmanagement en meer van de soft skills die nodig zijn om echt een meester in het vak te worden. Er is zelfs een hoofdstuk over het beheren van software-vakmensen die ontwikkelaars helpen de relatie te begrijpen tussen degenen die coderen en degenen die leiden.
7 talen in 7 weken: een pragmatische gids voor het leren programmeren van talen door Bruce Tate – Het vermogen om snel te leren en nieuwe talen op te nemen, geeft ontwikkelaars een echt voordeel in de huidige markt. Dit boek helpt ontwikkelaars fatsoenlijk de code van deze nieuwe talen te lezen en begrijpt de rol die ze spelen, zelfs als je niet van plan bent een polyglot te worden (iemand die vele talen beheerst). Het punt om in 7 weken 7 talen te leren, is om de kennis van een generalist te krijgen. Dit stelt een ontwikkelaar in staat om talen beter te vergelijken en te contrasteren, en moet de beheersing van de regelmatiger gebruikte talen versterken. Als je nieuwsgierig bent naar de 7 talen die in het boek worden behandeld, onderzoekt het Clojure, Haskell, Io, Prolog, Scala, Erlang en Ruby. Met deze 7-weekse benadering leer je, of wordt je herinnerd aan het programmeren van paradigma’s die in de loop van de tijd zijn geëvolueerd. Velen hebben sterke punten die de talen het best geschikt maken om bepaalde soorten uitdagingen op te lossen. Anderen tonen de rage-achtige aard van hoe ingenieurs een paar decennia werken, en besluiten vervolgens dat de oude manier saai is, en de nieuwe manier is “de enige manier” om goed te coderen. JavaScript-programmering kan bijvoorbeeld worden uitgevoerd in een functionele, objectgerichte of procedurele stijl. Dit boek zal u inspireren om een blik te werpen op talen die meer op één of twee van die methoden zijn gericht en dieper ingaan op de manier waarop elke taal gemeenschappelijke ontwerppatronen implementeert.
7 databases in 7 weken: een gids voor moderne databases en de NoSQL-beweging door Eric Redmond en Jim Wilson – Door blootstelling aan 7 verschillende databases te verkrijgen, kunnen ontwikkelaars hun vermogen om de juiste databaseoplossing te kiezen voor elk nieuw probleem dat ze tegenkomen, vergroten geplakt met het gebruik van de een of twee oplossingen die voor hen het meest vertrouwd zijn. Dit boek geeft ontwikkelaars het vertrouwen om met elke database bouwtoepassingen te overwinnen. Zelfs databases die voor het eerst uniek lijken, lijken ineens erg op die welke door de hedendaagse ontwikkelaarsgemeenschap vrij algemeen worden gebruikt.
JavaScript the Good Parts door Douglas Crockford – JavaScript beweegt zich tegenwoordig erg snel. Zo snel, dat sommige mensen overslaan met het leren van de basisprincipes en zich richten op het beheersen van frameworks en bibliotheken voordat ze een diep begrip hebben van “vanilla” of pure JavaScript. In dit boek ga je terug naar de basis en leer je veel van de nuances van JavaScript en welke valkuilen je moet vermijden. Omdat er zoveel bibliotheken en frameworks zijn, moeten softwareontwikkelaars bibliotheken en frameworks snel kunnen evalueren. Dit boek dient als gids voor de beste werkwijzen. Zelfs als je besluit ze niet te volgen, zal het begrijpen van het besluitvormingsproces van Douglas en rationeel je helpen om beter te worden in het evalueren van andermans code. Het zal je helpen om je vermogen te verfijnen om niet alleen te zeggen wat je niet leuk vindt, maar om uit te leggen waarom. Als u begrijpt waarom sommige JavaScript-gebieden moeten worden vermeden, kunt u ook betere software maken en meer nadenken over ontwerppatronen die de tand des tijds zullen doorstaan.
Think and Grow Rich by Napoleon Hill – Succes in softwareontwikkeling loopt parallel met succes in het leven. De principes die u kunt leren en praktische toepassing kunt zien in dit boek, zullen u productiever en mentaal succesvol maken. Persoonlijke en professionele prestaties vereisen een productief denkproces en een op succes georiënteerde mentaliteit. Dit boek werd bijna een eeuw geleden gepubliceerd, maar de verhalen zijn net zo van toepassing op het leven van een succesvol individu vandaag.
Hoe vrienden te winnen en mensen te beïnvloeden door Dale Carnegie – Vanuit het oogpunt van een buitenstaander wordt schrijven van code beschouwd als een van de belangrijkste vaardigheden van een software-engineer. Het is veel belangrijker om effectief te kunnen luisteren en communiceren. Gewoon een geweldig idee of een goed ontwerp hebben om iets op te bouwen is geweldig, maar het is ook een mogelijkheid om dat idee effectief te communiceren, de buy-in te krijgen en het “groene licht” te bouwen. Dit boek biedt iedereen – zelfs ontwikkelaars – de tools om te onderhandelen en is empathisch voor belanghebbenden. Gebruik dit boek om beter te worden in het stellen en beheren van verwachtingen. Na het lezen en oefenen van de technieken ben je goed toegerust om anderen te begrijpen en hen te motiveren om je oplossingen te omarmen, zodat je meer tijd kunt besteden aan het bouwen van dingen waar je van houdt.
HTML & CSS: ontwerp en bouw websites door Jon Duckett – Dit is het boek dat u op uw salontafel zult plaatsen en elke keer dat u het ophaalt, leert u iets nieuws. Het is geen boek dat je wel zult lezen, maar het is er eentje waar je vaak naar terugkeert en het in kleine stukjes opslaat. Het is prachtig geïllustreerd en de voorbeelden van code zorgen ervoor dat HTML tot leven komt. Hoe graag we ook denken dat we de grondbeginselen kennen, dit boek zit boordevol implementaties van HTML- en CSS-specificaties die ontwikkelaars kunnen gebruiken om opnieuw en telkens opnieuw te leren. Gebruik het als een woordenboek om iets op te zoeken (als Google niet handig is), of als je gewoon je wilt verfijnen.