Mitä ohjelmistosuunnittelijoiden on luettava?

Paras vastaus

Jokaisella on tietysti omat mieltymyksensä. Itse mukana. Koska päällekkäisyys on rajallinen, täytyy miettiä, kuinka kirjat “täytyy lukea”. 🙂 Luettelon luominen on kuitenkin aina hauskaa.

  1. Myyttinen ihmiskuukausi
  2. Suojattu koodaus C: ssä ja C ++: ssa, 2. painos (koskee vain C- ja C ++ -kehittäjiä, vaikka Java-versiolle on olemassa versio – Adan kanssa tarvitaan yleensä vain John Barnesin käsikirja: Amazon.co.uk: John Barnes: 9781107424814: Kirjat )
  3. Ohjelmalogiikka sertifioiduille kääntäjille: Andrew W. Appel, Robert Dockins, Aquinas Hobor, Lennart Beringer, Josiah Dodds, Gordon Stewart, Sandrine Blazy, Xavier Leroy: 9781107048010: Amazon.com: Kirjat
  4. The Art of Computer Programming, voi. 1: Perusalgoritmit, 3. painos: 9780201896831: Computer Science Books @ Amazon.com
  5. Taide tietokoneohjelmoinnista, osa 2: Seminumeriset algoritmit (3. painos): Donald E.Knuth: 0785342896848: Amazon.com: Kirjat
  6. Tietokoneohjelmoinnin taide: Osa 3: Lajittelu ja haku (2. painos): Donald E.Knuth: 9780201896855: Amazon.com: Kirjat
  7. Värilliset Petri Nets – mallinnus ja validointi Samanaikainen | Kurt Jensen | Springer
  8. TCP / IP Illustrated, 1. osa: Protokollat ​​
  9. Unix Network Programming, Volume 1: The Sockets Networking API (3. painos): W. Richard Stevens, Bill Fenner, Andrew M. Rudoff: 9780131411555: Amazon.com: Kirjat
  10. Ohjelmointi POSIX-säikeillä: David R. Butenhof: 0785342633924: Amazon.com: Kirjat

On selvää, kaikki nämä kirjat eivät koske kaikkia ihmisiä. Olen tarpeeksi hullu käsittelemään koko kenttää, joten minulla on kaikki nämä ja paljon muita. Tämä valinta riittää kuitenkin saamaan vankan käsityksen vankasta ohjelmoinnista, algoritmeista, verkostoitumisesta, järjestelmämallinnuksesta ja erilaisista ohjelmistokehitysmalleista. Alueet, jotka ovat riittävän merkittäviä, jotta ohjelmistoinsinöörien tulisi kiinnittää huomiota niihin.

Vastaus

Aion tässä olettaa, että puhumme ohjelmistosuunnittelijasta, joka on saavuttanut teknisen osaamisen koulun kautta, bootcamp tai mikä tahansa muu oppimismahdollisuus.

Algoritmit ovat todellakin tärkeitä, ja kirja “ Johdanto algoritmeihin ” on luettava. Uskon, että myös ohjelmistosuunnittelun ja olioarkkitehtuurin ymmärtäminen on kriittistä, ja raamatuni on edelleen kirja ” Suunnittelukuviot: Uudelleenkäytettävien olio-ohjelmistojen elementit . ” Sen Smalltalk-esimerkkien avulla ei ole helpompaa lukea nykyään, mutta en ole tietoinen mistään muusta teoksesta, jonka aihe olisi niin syvällinen ja laaja.

Olen tavannut monia insinöörejä aloittamassa työpaikalla. , ja huomasin muutaman aukon vuosien varrella, joten haluaisin ehdottaa kirjoja kullekin näistä alueista.

Uudet insinöörit eivät yleensä ymmärrä samanaikaisuutta kielestä riippumatta. Käsite ajaa useita ketjuja rinnakkain ja tarjota oikea synkronointitaso niiden välillä ei ole helppo ymmärtää. Olen henkilökohtaisesti oppinut paljon lukemalla Java-taustasta tulevan ” Java Concurrency in Practice -sivun. ” Tehokkaassa Java : ssa on myös hyvä jakso samanaikaisuudesta, joka on pakko lukea siitä, kuinka koodata asianmukaisesti Java.

Cyber -turvallisuus on vihdoin kuuma aihe nykyään. Valitettavasti nuoremmat insinöörit eivät yleensä ole tietoisia heidän koodiinsa sovellettavista turvallisuuskäsitteistä. Hyvä aloituspaikka on lukemalla OWASP: n top 10 -luettelo ja tarkastelemalla kutakin sovelluksen haavoittuvuutta. Olen suuri ” 24: n ohjelmistoturvallisuuden tappava synti: ohjelmointivirheet ja niiden korjaaminen .”

Uudet insinöörit yleensä keskity koodaukseen. He uskovat, että koodaaminen on tärkeätä, ja he haluavat tuottaa hyvän koodin nopeasti, joskus luottamalla vaikeasti luettavaan koodiin, koska he voivat kirjoittaa sen ytimekkäämmin. Ajattelussa on vain kaksi ongelmaa: jokainen ohjelmistoinsinööri luo vikoja, ja ohjelmistosuunnittelijat työskentelevät paremmin ryhmissä! Laatu on tärkeää ja myös ylläpidettävyys on tärkeää. Henkilökohtaisesti pidän kirjoista ”Working Effectively with Legacy Code”, joissa puhutaan testauksesta ja testauksen tarpeesta koodin parantamiseksi. “ Puhdas koodi: Ketterän ohjelmiston käsityötaidon käsikirja ” lähestyy ylläpidettävyyden aihetta, toisinaan äärimmäisen näkökulmasta, mikä tekee siitä loistavan lukemisen ja lukemisen. keskustella tiiminä.

Uusilla insinööreillä varsinkin yliopiston ulkopuolella voi olla vaikea sopeutua työpaikkaan ja uuteen työhönsä. Tämä pätee kaikille insinööreille, jokaiselle, joka myös aloittaa uuden työn. On tämä hieno kirja “ Ensimmäiset 90 päivää: Todistetut strategiat nopeammin ja älykkäämmin ”, joka opetti minulle useita käsitteitä siitä, miten pääsen alkuun uusi työpaikka ja erityisesti rakenteiden tarve. Rakenne on loistava. Se on lohduttavaa etenkin uudessa ympäristössä. Saan johdonmukaisia ​​tuloksia soveltamalla samaa reseptiä samalla tavalla kuin kun leivon kakkua tyttäreni kanssa. Kun aloitin Wayfairilla yksitoista kuukautta sitten Native App -tiimissä, päätin kysyä saapuessani melko yleisiä, mutta johdonmukaisia ​​kysymyksiä saadaksesi maaperän. Nämä kysymykset antoivat minulle vain käsityksen siitä, mitä tapahtui, mutta kertoivat minulle paljon ihmisistä, joiden kanssa tapasin. Suoritin tiedonhankintatehtäväni noin kuukauden ajan käyttäen samaa kyselylomaketta joka suhteessa 1: 1, ja aloin luetella painopistealueitani ensimmäisenä päivänä.

Olen ollut ohjelmistokehityksessä yli kaksikymmentä. vuotta, lukemalla johtajuuskirjoja viimeisen kymmenen vuoden ajan, joten kysy rohkeasti johtajakirjoista, jos haluat uudempia lukuja!

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *