Paras vastaus
Todellinen vastaus on ”Se riippuu!”. Se riippuu siitä, mikä osio kiinnostaa sinua enemmän – käyttöliittymä, koko pino, backend, datatiede jne. Kaikkien näiden perusteet voidaan tiivistää seuraavasti:
- Valitse suosikkisi ohjelmointikieli. Ja opi jokainen kyseisen kielen käsite harjoittelemalla sen käyttöä jossakin tai toisessa koodiongelmassa. Tämä antaa hyvän pohjan toisen ohjelmointikielen oppimiselle, vaikka sen paradigma onkin täysin erilainen. A: n arvostamiseksi sinun pitäisi maistaa B: tä, koska jossain mielessä kaikki on suhteellista. Aloitat vertailla kieliä sen perusteella, miten se ratkaisee joitain ongelmia.
- Tee Code Katas. Yritä ratkaista sama ongelma eri tavoin. Ajattele läpi erilaisia lähestymistapoja, joita yritit. Tee tämä jokaiselle muulle koodikatalle. Se auttaa!
- Tee miniprojekti ongelman ratkaisemiseksi. Palaa siihen jonkin ajan kuluttua ja katso, voitko lisätä ominaisuuksia. Sinun pitäisi todennäköisesti väärinkäyttää itseäsi tekemäsi huonon työn vuoksi. Tämä on hyvä oivallus. Ajattele virheesi, mieti, mikä on parempi tapa, jolla olet käynyt. Opi virheistäsi. Tämä on todellista kokemusta. Kokemusta ei ole lukumäärä, vaan se, mitä opit asioita selviytyessä.
- Valitse miniprojekti- tai kirjastokoodi Githubista ja lue koodi nähdäksesi, miten jokin ongelma ratkaistaan. Koodin lukeminen ja ajattelu muiden kautta auttaa.
- Lue kirjoja, blogeja jne.
- Aloita keksiä ajatuksiasi blogien kautta. Se auttaa oppimistasi varmasti.
- Osallistu tapaamisiin ja konferensseihin saadaksesi tietoa siitä, mitä ympärillä tapahtuu. Se saattaa aiheuttaa oppimista. Me kaikki tarvitsemme loppujen lopuksi annoksen motivaatiota ja tarkoituksen tunnetta.
- Yritä jakaa oppimisi tapaamisissa ja konferensseissa. Se toimii taikaasi sinussa – vakavasti.
Erikoisvinkki: Mainitsinko matkan varrella, törmäät todennäköisesti moniin jokereihin, jotka kuluttavat energiaasi ja aikaasi, estäen sinua mitä teet. Oppiminen erottamaan kriitikot jokereista on valtava elämänsäästäjä.
Tätä tein urani alusta lähtien ja teen kaikkea edelleen tänään.
Vastaa
Se riippuu siitä, mitä tarkoitat ohjelmistosuunnittelijalla. Paras löytämäni ohjelmistotekniikan resurssi on kokemus. Kestää hetken kanssani. Useimmat vastaukset näyttävät liittyvän ohjelmoinnista, ja ohjelmointiin on todella paljon erinomaisia resursseja (täällä on paljon hyviä esimerkkejä). Olen aina tuntenut ongelman jakautuvan kolmeen luokkaan:
- ohjelmointi. Valitse kohtuullinen kieli sellaisille ongelmille, joita haluat käsitellä tänään. Opi se hyvin. Paljon harjoittelua. Paljon muiden arvostettujen asiantuntijoiden ohjeita. Kirjoita lisää. Lisää kieli tarpeen mukaan tai kiinnostuksen kohteena.
- Algoritmit, tietorakenteet, vertailukielet ja yleisesti tietojenkäsittelytieteeksi kutsuttu tieto. Tämä nostaa pelin ongelmien ratkaisemisesta pienissä suurten ongelmien ratkaisemiseen, tehokkaaseen (ei vain tehokkaaseen) ratkaisuun ja ratkaisujen rajojen ymmärtämiseen, jotta voit selittää ne.
- “Ohjelmistotuotanto ”On minulle erilainen asia kuin kaksi yllä olevaa ajatusta. Se on prosessi, jolla ohjelmisto toimitetaan asiakkaille. Se on toistuva ja luotettava ratkaisun toimitus. On ymmärrettävää, että graafinen käyttöliittymä soveltuu hyvin rakentamaan alkuperäisiä konsepteja / prototyyppiratkaisuja työpöydällesi, mutta riittämätön tuotannon tuottamiseen. Se on toimitusputken ymmärtäminen jokaisessa vaiheessa ja miksi jokainen vaihe tehdään. Se on kaikki automaatio ja kurinalaisuus. Ilman kurinalaisuutta ohjelmisto ei laajene. Minulla ei ole vielä nähtävissä kurssia tästä, koska se on suurimmaksi osaksi työpaikkakoulutus. Ja monet paikat saavat tämän väärin. Virheet ovat kalliita.
Ehkä paras metafora, jonka voin antaa sinulle, on ruoanlaitto. Voit oppia kokata itsellesi melko nopeasti. Voit saada hyviä kourallinen reseptejä ja käytäntö tekee sinusta nopeasti. Lisää se hienon aterian valmistamiseen ystäville ja perheenjäsenille ja astu hieman mukavuusalueeltasi, ehkä tarvitset uusia taitoja, uusia työkaluja, uusia reseptejä. Ota yksi tai kaksi luokkaa ja voit nostaa peliäsi dramaattisesti, ja luokat kattavat kaiken paikallisen yliopiston yökursseista Le Cordon Bleuun. Sitten on vaihe ”ravintola”, joka muuttaa kaiken. Nyt on kyse luotettavasti toistettavasta ruoan toimittamisesta odotuksia tarvitseville ihmisille. Lähdet, erät, esivaihe, valmistelet ja työkalut eri tavalla. Prosessin ”teollistaminen” on ”suunnittelu”. Ja olet nyt osa tiimiä. Ja siellä on asiakas. Ei ole väliä oletko takopöytä vai Michelin-tähdellä palkittu ravintola, vai ei. Mikään luokkahuoneen työ ei valmista sinua täysin kaikkeen työssä oppimiseen.
Ja voit aloittaa kaikkien kolmen oppimisen kerralla. Vain ymmärrä, mitä kolmesta taitojoukosta työskentelet, ja älä unohda kahta muuta taitojoukkoa. Kaksi ensimmäistä tulee yleensä käytännön kanssa, mutta jälkimmäinen tulee kokemuksella.