Som någon som läser en utvecklingsinriktad universitetsutbildning; det känns som att det bara är syntax jag lärt mig när det kommer till HTML, CSS och Python än så länge. Det mest avancerade jag gjort, vilket var slutprojekt i applikationsutveckling, var att knåpa ihop ett bokningssystem med grundläggande get/set, JSON-"databas" och ett tkinter-gränssnitt för bokningshantering.
Det finns inte tid för mer, när varje kurs är 5 veckor. Känns som en any%-speedrun i att lära sig så mycket syntax och standarder som möjligt, snarare än att lära sig faktisk utveckling. Ska till att börja med MySQL om ett par veckor, vilket avslutas lagom till sommaruppehållet – vad jag förväntas lära mig på denna tid lär väl visa sig snart.
Det ska tilläggas att detta är då en universitetsutbildning som är framtagen tillsammans med branschorganisationer i mellan-norra Sverige. Jag är otroligt förvirrad på vilken kompetens som efterfrågas, än mindre hur jag ska förväntas jobba med detta, särskilt givet hur jobbannonserna från företag är formulerade i relation till den utbildning jag läser.
Vi/jag efterfrågar inte detaljspecifik syntax-kunskap när jag utför tekniska intervjuer. Det som efterfrågas är förståelse hur en dator fungerar. Det är skillnad på att köra copy paste-programmering och att förstå vad som händer under ytan. Ha förståelse för hur grundläggande datastrukterer fungerar. Hur minneshantering fungerar, minnestopologi osv. Det visar på att det är en person som inte bara kör "voodoo chicken pattern" när hen programmerar. Att personen är nyfiken och kapabel att läsa kod/dokumentation. Du skall kunna förklara varför du väljer en datastruktur framför en annan. Inte bara "den är bäst", utan kunna motivera varför.
Ex. när det gäller SQL, skulle jag hellre vara intresserad av att veta hur du väljer att lägga upp dina tabeller. Att du kan motivera när det är lämpligt att använda index, hur frågor (joins etc.) relaterar till tidskomplexitet. Det är mer generell kunskap som går att applicera på fler ställen än bara SQL.
Att ha programmerat C, C++, rust eller liknande kan också vara en fördel. Framför allt en vidd av olika språk. Programmering handlar ju om att snabbt kunna sätta sig in i nya domäner, ramverk, sätt att tänka. Att kunna vara flexibel. Att bara kunna ett språk och använda det överallt ser jag som en nackdel. Själv har jag upptäkt att genom att sätta mig in i ett nytt språk, så lär jag mig nya strategier som jag också kan tillämpa i andra språk. Ett exempel är funktionella språk. Det är ett bra sätt att lära sig skriva - och "tänka i" rekursiv kod.
Att ha genomfört och avslutat ett projekt, skrivit dokumentation osv. är också bra. Ex. ha en öppen github-profil där projekten är prydligt presenterade. Att du behärskar att sätta upp en pipeline för kontinuerlig driftsättning osv. De visar på att du kan vara självgående och ta egna initiativ.
Men detta är bara mina personliga preferenser. För andra enklare tjänster där det gäller att bygga hafsverk, web-sidor etc. så är det kanske viktigare att vara snabb och kunna ta genvägar.