Hur håller du dina kunskaper om programvaruutveckling skarpa?

Arbetssökmotorns färdighetstest är en utmärkt resurs att veta på vilken nivå dina färdigheter ligger
Arbetssökmotorns färdighetstest är en utmärkt resurs att veta på vilken nivå dina färdigheter ligger.

Programvaruindustrin är väldigt dynamisk. För att fortsätta arbeta konkurrenskraftigt som mjukvaruutvecklare måste du studera din tid för att hålla dig uppdaterad. Bara några timmar varje vecka kan hålla ditt spel smidigt. Många programvaruföretag erbjuder anställda en budget för utbildning. Så kan lika gärna använda det rätt.

Del 1 av 7: utvärdera dina färdigheter

  1. 1
    Känn baren. För dig som söker ett nytt jobb, känn baren för den position du söker. En rekryterare kan berätta för dig eller någon på den positionen i ditt nätverk. Det måste vara ett specifikt och mätbart mål som du kan rikta dig till.
  2. 2
    Förstå definitionen av enkla, medelstora och hårda problem för varje färdighet. Börja enkelt och arbeta dig uppåt. Kodningswebbplatser som leetcode har etiketter på enkla medelstora och hårda problem. För kodning i allmänhet är ett enkelt problem cirka 50 rader kod, behöver en datastruktur och metod för att lösa problemet. Medelstora behöver ungefär 70 till 80 rader kod, kan behöva flera datastrukturer och ha kontraintuitiva hörnfall. Svåra problem kräver kontraintuitiva metoder. Varje problem måste lösas på 45 minuter.
  3. 3
    Var medveten om din skicklighet. En webbplats som TripleByte kan berätta vad dina styrkor och svagheter är. Ta sitt test för att börja arbeta med din svagaste skicklighet först.

Del 2 av 7: Revidering av grundläggande datavetenskapliga begrepp

  1. 1
    Att vara i en annan disciplin inom teknikindustrin kan göra dig rostig på dina datavetenskapliga begrepp. Borsta dem för att få en smidig start av att öva kodning.
  2. 2
    Förstå komplexitet i tid och rum. Programvara för produktionskvalitet förväntas vara effektiv. Tids- och rymdkomplexitet är standardmått för att mäta det. Tidskomplexitet förmedlar hur lång tid ditt program tar när mängden data ökar. Rymdkomplexitet är ett mått på hur mycket utrymme det tar för samma.
  3. 3
    Lär dig datastrukturer. Hur vi lagrar data har en betydande inverkan på hur effektivt vi kan läsa, skriva och ändra slumpmässigt. Lär dig eller borsta upp de abstrakta datatyperna och implementeringsalternativen för varje abstrakt datatyp. En praktisk introduktion till datastrukturer och algoritmanalys av Clifford A. Shaffer är bra att göra ett djupt dyk. Du kan köpa en pocketbok eller ladda ner pdf gratis. Lär dig tid och rymdkomplexitet hos alla grundläggande datastrukturer åtminstone innan du övar på att koda enkla problem. Det är matriser, listor, köer, kartor och binära träd.
  4. 4
    Lär dig algoritmer. Lär dig de algoritmer som oftast frågas åtminstone. Populär jobbsökning och professionella webbplatser berättar vilka som är. Dessa förändras varje år eller några år. Känn avvägningarna mellan tid och rum när du använder en datastruktur i din algoritm eller en kombination av dem mot en annan.
Hur vi lagrar data har en betydande inverkan på hur effektivt vi kan läsa
Hur vi lagrar data har en betydande inverkan på hur effektivt vi kan läsa, skriva och ändra slumpmässigt.

Del 3 av 7: öva kodning

De flesta jobb behöver utmärkta kodfärdigheter. Det är den långa polen att hålla dina färdigheter skarpa. Planera att spendera några timmar varje vecka för att förbättra denna färdighet.

  1. 1
    Välj ett programmeringsspråk. Välj ett programmeringsspråk som du kommer att känna dig mest bekväm med i några år. Python, Java, Javascript och C # är de populäraste språken för 2020 och har funnits ett tag. Ta hänsyn till följande när du väljer ett programmeringsspråk:
    1. Överväg kompatibilitet med användningsfallet. Vissa språk har bättre paket än andra för specifika lösningar. Ett exempel på ett användningsfall är om du vill använda maskininlärningsbibliotek är NumPy-biblioteket i Python populärt från och med 2020.
    2. Förstå ditt lags kompetensnivå och preferenser. Om laget har en stark preferens och erfarenhet på ett språk, gå till det i motsats till ett jämförbart språk. Detta beror på att all utveckling kommer att ske på det språket.
    3. Tänk på användarvänlighet. Python är till exempel lättare än Java. Om du ska skriva ett V1 eller ett internt verktyg behöver du inte byta till Java som har stora företagsbibliotek.
    4. Slå upp samhällets stöd och popularitet. PYPL Popularity of Programming Language webbplats rangordnar språk efter popularitet baserat på deras handledningssökning. Leta upp community- eller företagsstöd för ditt språk. Antalet senaste Git-incheckningar, utvecklingsforumsvar är ett bra mått på dessa. Ange detta språk i sökfältet för en jobbsökmotor. Jämför detta nummer med andra populära språk i ditt område. Känn efterfrågan på jobb för detta språk om du letar efter en jobbbyte.
  2. 2
    Rikta in flera plattformar. Håll dig uppdaterad med de bästa språkmatchningarna till populära målplattformar som Ubuntu, IoT-enheter, EDGE-dator, ARM.
  3. 3
    Språkversion. Välj den senaste och mest populära stabila versionen av ditt språkval att träna med. Lär dig den senaste versionen och de funktioner den erbjuder. Var försiktig med att hoppa med den senaste utgåvan. Offer med de senaste funktionerna för att fokusera på dina kodningsfärdigheter utan avbrott.
  4. 4
    Skär din inställning. Programmeringsfrågor ber dig vanligtvis att lösa verkliga problem eller matematiska problem med hjälp av (a) datastruktur (er) och en algoritm. Din kodningspraxis syftar till att använda funktioner på ditt språk bättre och också att kunna kartlägga ett verkligt problem till en algoritm. Öva problemet med flera avvägningar mellan tid och rumskomplexitet. Finjustera din lösning så mycket du kan.
  5. 5
    Utnyttja dina resurser. Böcker som Gayle Laakmanns knäcka kodningsintervjun är en bra start. Webbplatser med Leetcode och hacker rankar lekplatser för att du ska kunna skriva och köra dina program utan att behöva installera något på din inbyggda maskin. Om du prenumererar kan du delta i forumdiskussioner och titta på de rekommenderade lösningarna med förklaringar. Du kan testa din prestation och hastighet med mock intervjuer. De har tävlingar som du kan delta i för att vinna pengar. Geeksforgeeks analyserar typer av algoritmer som är populära vid intervjuer och hjälper dig att identifiera detsamma.
För att fortsätta arbeta konkurrenskraftigt som mjukvaruutvecklare måste du studera din tid för att hålla
För att fortsätta arbeta konkurrenskraftigt som mjukvaruutvecklare måste du studera din tid för att hålla dig uppdaterad.

Del 4 av 7: programvarudesign

  1. 1
    Revidera objektorienterade programmeringskoncept. Var beredd att svara på definitioner av abstraktion, inkapsling, polymorfism och arv även efter flera års branscherfarenhet. Du kan bli tillfrågad även om du ansöker om ett jobb som inte behöver objektorienterad programmering i rolldefinitionen. Bäst att ge ett exempel också.
  2. 2
    Borsta på objektorienterad design. Öva klassdiagram. Gå igenom hur objekten kommer att interagera med varandra och vilken information som kommer att flöda mellan dem. Rita sekvensdiagram för att förstå sekvensen för dessa åtgärder och deras livstid. Var beredd att förklara SOLID-principer.
  3. 3
    Borsta på designmönster. Det finns 23 huvudsakliga designmönster. Se originaldesignmönster från G4-författare. Om det är för mycket att ta in, läs igenom programmeringsidiomen först. De är en bra språngbräda för att förstå designmönster.
  4. 4
    Lär dig nya arkitekturmönster. Sidovagn, pub / sub, hub-eker och strömbrytare används ofta för företagets mjukvaruutveckling. Bättre att studera dem i förväg för att bättre delta i designdiskussioner. Se vilka implementeringar du kommer att använda som en del av din tech stack.
  5. 5
    Få den senaste utbildningen för systemdesign. Att ta en intervju med systemdesignen av Educative.io är ganska omfattande. Börja där. Se systemets design på din programvara på jobbet. Förstå de avvägningar du gjort, de misstag du har lärt dig. Det här är guld vart du än går.
  6. 6
    Förbättra din kunskap om API-design. Du REST grundläggande bör vara starka. Lär dig att skala för miljoner transaktioner per sekund. Antag alltid att en bråkdel av data kan dra mest av trafiken.
  7. 7
    Utnyttja dina resurser. Titta på Youtube-videor som går igenom systemdesign. Kodningswebbplatser erbjuder också lösningar för systemdesign. Bli certifierad om du hittar en användbar kurs som ger bra valuta för pengarna. Skaffa en bok om datakrävande applikationer om du överväger lösningsarkitektrollen någon gång.
  8. 8
    Lär dig SQL- och nosql-databaser. NoSQL Database Systems: A Survey and Decision Guidance är ett utmärkt ställe att bygga på din kunskap om educative.io. Känn CAP- och PACELC-satserna för databasdesign. Vet vad ACID-egenskaper betyder för en databastransaktion.
  9. 9
    Säkra din kod. Läs om Transport Layer Security (TLS), Open ID Connect (OIDC) standarder och Rollbaserad åtkomsthantering (RBAC).
  10. 10
    Lär dig rörledningar för integration och distribution. All kod som checkas in måste byggas, ha 80% enhetstäckning och klara alla enhetstester. Alla binära filer som används bör vara live och redo eller köras utan dödliga undantag och omstart. Det bästa sättet att säkerställa detta tillstånd är att skapa pipelines som automatiskt avvisar sammanslagningsförfrågningar som bryter mot dessa begränsningar. Orkestrering av containrar utöver virtualisering är industristandarden från och med 2020. Att känna till koncepten räcker om du inte ska använda det på jobbet.
  11. 11
    Studera marknadens krav och särdrag. Den europeiska marknaden behöver programvara för att fysiskt innehålla EU: s medborgare (personligt identifierbar information) PII inom europeiska gränser. Dessutom måste den kinesiska regeringen veta om varje enhet som går in och ut ur kinesiska gränser. Att bekanta sig med världsmarknader kan hjälpa dig att planera och designa produkten för flera marknader från början.

Del 5 av 7: söka hjälp

  1. 1
    Använd utvecklarforum. Forum som Stack Overflow, Leetcode-forum, Slack-kanaler, Reddit, Quora har mycket aktiva samhällen som kan hjälpa dig om du fastnar någonstans. Skicka bara en tydlig fråga och vänta tills samhället svarar. Följ deras riktlinjer och format för att inte få din fråga röstat ned.
  2. 2
    Fråga framgångsrika vänner. Fråga vänner som nyligen har rensat intervjuer eller fått kampanjer om hur de utvecklat sina färdigheter. Fråga åtminstone några.
Nya programuppdateringar kan glädja en användare om de utnyttjar den senaste maskinvaru
Nya programuppdateringar kan glädja en användare om de utnyttjar den senaste maskinvaru- och operativsystemhastigheten.

Del 6 av 7: testa dina färdigheter

  1. 1
    Ta färdighetstest. Arbetssökmotorns färdighetstest är en utmärkt resurs att veta på vilken nivå dina färdigheter ligger. Dessa är bra att visa om du gör bra också. En annan fördel är att de erbjuder utbildningar som skulle få dig att klara kompetensprovet om du inte gör det.
  2. 2
    Titta på diagramprojektionerna. TripleByte sills test utvärderar dina styrkor och svagheter och projicerar dem på en graf för att du ska kunna dina övergripande färdigheter.
  3. 3
    Ta mock intervjuer. Leetcode och liknande webbplatser har mock-intervjuer för att du ska kunna mäta dina färdigheter och timing också. Du behöver inte ansöka till jobb du inte är intresserad av bara för att utvärdera din skicklighet. Ta bara en av online-mock-intervjuerna. Be en mer senior vän att intervjua dig som en övning.

Del 7 av 7: följande trender och bästa praxis

  1. 1
    Prenumerera på föredrag och konferenser som dina favoritföretag, möten och vänner är värd. Detta ger dig exponering för nuvarande branschtrender, verkliga problem och ett bredare nätverk. Delta i interna presentationer och sessioner med brun väska för att se vilka problem andra team löser och vad du kan använda eller hjälpa till med.
  2. 2
    Forskningsramar. När du väl har valt ett språk är nästa steg att bestämma vilket ramverk du vill arbeta med (t.ex.Net,.NetCore eller.NetStandard). Du bör kunna kartlägga dina krav till rätt ram.
  3. 3
    Sök feedback från rekryterare. Fråga rekryteraren vad du kan göra bättre i framtiden om de inte ger dig ett jobbbjudande. Du kanske inte får feedback. Om du har tur och gör det kommer du att ha något att arbeta med direkt.
  4. 4
    Intervju kandidater för ditt företag. Intervjukandidater för ditt företag gör att du granskar dina grunder och lär dig nya sätt att lösa problem. Intelligenta kandidater har intressanta och originella idéer som du kan lägga till din kunskap. Det är också ett utmärkt sätt att skapa förbindelser med branschen. Även om en bra kandidat inte accepterar erbjudandet, håll kontakten med dem för alla fall, de är en match i framtiden.
  5. 5
    Prenumerera på branschuppdateringar. Registrera dig för att bli informerad om trender inom branschen. Håll dig före spelet genom att träna dig själv med lovande tekniker innan de blir standard. Brytande förändringar och sårbarheter behöver omedelbara åtgärder. Bli först med att veta.
  6. 6
    Delta i hackathons. Hackathons har vanligtvis stora sponsorer och resurser för att lära sig nya färdigheter. Om du har ett garageprojekt och du vinner kan du få startfinansiering vid en hackathon. Det är ett utmärkt sätt att träffa nya människor och få exponering.
  7. 7
    Utforska de senaste specifikationerna för maskinvara och operativsystem. Nya programuppdateringar kan glädja en användare om de utnyttjar den senaste maskinvaru- och operativsystemhastigheten. Utforma programvara för att vara bärbar och kunna köra och dra nytta av användarens hårdvarufunktion.
  8. 8
    Bidra till öppen källkod. Att bidra till öppen källkod är ett utmärkt sätt att betala tillbaka utvecklargemenskapen. Nya utvecklare kan lära sig öppen källkodsstandarder. När som helst är detta en vinst för alla. Var medveten om ditt företags policy för att bidra till öppen källkod innan du gör det.

Varningar

  • Akta dig för företag som intervjuar kandidater för att lära sig mer om konfidentiell information.
  • Dela inte interna arkitekturer och mönster.
  • Dela inte programvaruversioner som du använder. Bara namnen. Du kan omedvetet avslöja sårbarheter.
FacebookTwitterInstagramPinterestLinkedInGoogle+YoutubeRedditDribbbleBehanceGithubCodePenWhatsappEmail