Alla läser AI - borde jag följa strömmen eller satsa på programmering?

Jag tror det beror väldigt mycket på. Min bild är att många i de rollerna är självlärda och/eller från yrkeshögskola. Då lär det vara svårt att byta. Om du har en bredare utbildning inom datateknik i botten lär det vara enklare, även om man även där såklart tenderar att gradvis bli specialiserad inom just det område man jobbar med, så man kan få acceptera en mer junior roll under en period.

Idag är det grovt sett tre bolag som bygger egen AI. Anthropic, OpenAI och Google. Ingen av dem gör vad jag vet det i Sverige, möjligen med undantag för vissa personer.

Folket som idag får sina smått obscena årslöner omskrivna i media började med detta för 10-15 år sedan. Om du verkligen ger dig fan på det så går det troligen att ta dig dit, i så fall föreslår jag en väldigt solid matematik-bas, programmering ovanpå och var beredd på att flytta till San Fransisco(Anthropic, OpenAI) eller London(Google DeepMind). Jag tror antalet sådana arbetstillfällen i Sverige går att räkna på en hand eller två.

Om det smala spåret inte lockar så svarade Pong väldigt bra. Bli solid på programmering, och lär dig bygga in AI i andra system.

Det går just nu rasande fort och hela branschen experimenterar vilt i hur man bäst använder AI inom utveckling och hur man bäst använder AI i produkter. Om du precis börjar på en femårig magisterutbildning kommer det troligen ha skiftat lika mycket till före du är klar.

4 gillningar

Det är endast en promille som jobbar med AI på riktigt. Då menar jag geniala matematiker och statistiker som jobbar med utveckla algoritmerna.

Däremot finns de otroligt många utvecklare som jobbar med implementering utav AI modeller i alla möjliga branscher.

Så sjävklart är det utvecklare du ska bli om du faktiskt vill jobba med ai.

Har själv implementerat flera olika modeller i ML.net som har ökat försäljningen enormt, förutspått försäljningdippar och trender.

Så har självklart inte kommit på algoritmerna själv men jag har har implementerat det med allt från förstå algoritmer, tvätta och samla data för att nå ett resultat. Är det att jobba med ai?

1 gillning

Tjenare, jag är 50 och jobbar som Senior Software Engineer på ett stort retail bolag med interna system. Jag började med 3 år datavetenskap , Java och sånt skit som jag inte rör med en tång idag, men det var en bra bas för vad jag valde att göra med mitt liv senare, vilket var back-end i några år, webbutveckling i några fler år och nu en blandad kompott av back-end, front-end, cloud, software security, infrastruktur, DevOps, you name it.

Jag ser en tydlig trend att använda AI agenter för att utföra enklare sysslor som förr tog dagar att göra, och man kanske kunde låta någon rookie göra delar av det. Juniorer kommer att ha svårt att komma in i branschen om de inte har demonstrerbara skills, så programmera så mycket som du bara kan under studietiden.

Jag tycker att du ska satsa på programmering och ta ett par AI kurser vid sidan om, så du lär dig om hur man bygger upp modeller, hur ML fungerar i grunden etc. Kanske bygga upp lite enklare modeller själv? Nån egen LLM? För att lära dig hur man gör. Använd GitHub, spara alla dina projekt så att du kan ha det som portfolio. Vänj dig att göra saker på erkänt bra sätt, slutför dina projekt. Försök att inte använda AI förrän du har kört fast, annars kommer du inte att lära dig på riktigt.

Det kommer vid nån tidpunkt att bli ett enormt sug efter folk som kan programmera på riktigt, allt eftersom man inte tar in juniorer men folk går i pension.

Försök att hitta dig ett företag som du kan jobba med under studietiden, praktik internship, eller liknande. Helst internship skulle jag vilja säga, så att du har en ingång efter studietiden om du inte har haft någon kanon ide och väljer att satsa på den.

Jag gick bara 3 år men idag skulle jag nog satsat på Masters , civil eller PhD, då kommer du ut som SME på något och är betydligt mer eftertraktad än nån som går ut med en generisk, och för att vara ärlig, idag rätt värdelös (pga AI) grundkompetens.

Ah, och se till att inte göra nån på smällen under tiden, det sätter feta käppar i hjulet för såna planer. Då har man rätt bråttom till att ta första bästa skitjobb för att sätta mat på bordet.

Lycka till, håller tummarna

2 gillningar

Vi står kanske inför ett skifte, men som vanlig utvecklare förstår jag inte var alla AI-nissar ska jobba?

Jag med flera (vanliga dödliga utvecklare) har åstadkommit goda resultat genom att använda API:er och att träna befintliga modeller, t.ex för bildanalys.

Det går att åstadkomma häftiga resultat som löser verkliga problem genom att vara en läskunnig programmerare.

Att gå steget längre och modifiera eller ta fram egna AI-modeller är inget jag skulle ge mig på. Här behövs nog en stabil teoretisk grund för att kunna göra det på riktigt.

För mig känns det som ett jättestort kliv att gå från att använda AI till att utveckla AI.

Vanliga utvecklare kan vara ganska dåliga men ändå vara lönsamma, men finns verkligen den möjligheten inom AI?

Jag gissar på att det inte finns så många dåliga hjärtkirurger, dom gör gissningsvis något annat.

Min gissning är att det bara är ett fåtal som efter en AI-utbildning kommer utveckla AI. Resten får väl använda AI, och det löser vilken läskunnig utvecklare som helst.

6 gillningar

Som andra skrivit tror jag att den generella appliceringen av AI i dagsläget kräver ingen djup kunskap inom ämnet utan något “vanliga” utvecklare med enkelhet löser. Om du inte är väldigt intresserad av hur ML fungerar i grunden och tycker om tung och komplex matematik hade jag personligen utan tvekan valt “Programming and Software Methods”.

Det är en inriktning som känns relevant för i stort alla typer av utvecklarjobb. Sen om man vill lägga in nån ML-kurs för att få lite kunskap inom ämnet om det känns intressant.

Just det.. och som komplettering, se om det finns utbildningar där du får lära dig mer om functional programming, och inte spendera så mycket tid med OOP och C++, det ser man väldigt sällan ute idag. Idag är det JavaScript, Python (och kanske Go )bakom man vill ha koll på, och så klart programmerings principer och mönster (programming patterns) inom både OOP och funktionell programmering.

Det är rätt mycket att ha koll på, men bli inte rädda, det tar man allt eftersom. Har du bara det som krävs, typ nyfikenhet, tålamod, och allt det, så fixar du det.

Jag skulle nog också rekommendera att köra Linux på din dator från dag 1. Rättare sagt från idag. Börja med Ubuntu eller Mint, du kommer att dra sekundär nytta av detta genom hela din karriär, i stort sett är all cloud infrastruktur byggd på Linux

Instämmer. Jag tänkte mer “utveckla egen AI” för att skapa sig en förståelse. kanske mer på hur man skapar en egen ML modell och justerar, tränar den å sånt som jag känner att jag skulle velat lära mig. En egen LLM e ju bortom vanliga dödliga programmerares räckhåll tror jag.. som du säger..

Eh, akta dig för att följa hypen för mycket.

Vill du jobba med att utveckla AI system och modeller, och det är något du är väldigt intresserad av? Isåfall kan du läsa AI.

Annars hade jag alla gånger valt den mer generella programmeringsinriktningen.

Även om AI blir en väldigt stor del av utvecklingen framöver så är det ändå mer värt att bli en duktigare programmerare än att veta hur AI systemen fungerar.

3 gillningar

Jag läste fysik och astronomi, doktorerade sedan i simulering så det blev effektivt mest programmering, och lämnade sedan forskningslivet och jobbade i 10+ år som mjukvaruingenjör inom “new space”, med simulering och embedded systems. Personligen så skulle jag inte vilja basera min karriär på att använda nån annans AI-modeller. Det känns ungefär som att basera sin karriär på youtube, visst det kan funka men du råder inte över ditt eget öde. Det är väl det som är på mode just nu, men fundamentala kunskaper inom mjukvaruutveckling rostar inte. Vi hade ganska svårt att hitta folk med djupa kunskaper om hur hårdvara funkar, tex. Det kanske inte är så viktigt om du tänkt köra webutveckling eller liknande (men marknaden kryllar av folk som gått ett coding boot camp som gör såna jobb) men för inbyggda system är det absolut nödvändigt. Personligen tycker jag att webutveckling och appar är rätt trist, mitt intresse är att få mjukvara att göra något i den verkliga världen, och där blir konsekvenserna av att göra fel avsevärt större än att behöva ladda om sidan i browsern. Det gör att det känns mer belönande.

Mitt råd, vilken väg du än väljer, är att se till att verkligen lära dig grunderna. Specifika tekniker, APIer eller liknande är mindre viktigt, men mjukvaruutveckling är i grunden en övning i att hantera komplexitet så algoritmer, datastrukturer och “design patterns” för hur man hanterar olika situationer måste sitta i ryggmärgen. Sedan håller jag helt med rådet om att involvera dig i nåt open source-projekt, gärna ett ganska stort sådant. Den erfarenhet man får av att jobba med ett system på några miljoner rader kod är annars ganska svårt att lära sig i universitetskurser.

Jag hade tagit @Developer s kommentarer gällande programmeringsspråk med en stor nypa salt… Traditionella OOP-språk har fortfarande en STOR majoritet av arbetsmarknaden, även JavaScript-kod rör sig mer mot OOP-liknande kod idag med hjälp av TypeScript som blir mer och mer populärt även bland företag.

Det är helt omöjligt att säga hur framtiden kommer se ut för utvecklare. Men jag har sett folk utan en grundutbildning tro att de kan bygga något pga AI och det blir… inte bra.

4 gillningar

Det där är inte min erfarenhet iallafall. Där jag jobbade förut (aerospace) gjorde vi allting utom webutveckling i C++. Beror förstås på vilket område man pratar om, men C/C++ har fortfarande stor täckning inom inbyggda system.

5 gillningar

Det där beror helt på var du hamnar gällande OOP. Jag håller inte med om detta råd.

Java och C# är jättestora språk. Go är knappast stort även om det är poppis. Vi kan ju ta upp Rust också i så fall.

C++ används jättemycket inom embedded systems vilket används mycket inom försvaret, och de skriker efter folk.

1 gillning

Absolut. Det finns områden där traditionella OOP språk fortfarande används. Jag sa att JAG har inte sett det ute på väääldigt länge. I min värld försöker man fasa ut Java till förmån för JavaScript, Python eller Go.

Så jag, man kan ta mina kommentarer med en näve salt. Men jag tycker fortfarande att man ska lära sig C, C++, och Java för att man sätter viktiga koncept när man lär sig det. Men sen också JavaScript, och functional programming. Sen skulle jag vilja rekommendera att om man jobbar med säg Java på jobbet, att labba hemma med Python eller JS.

2 gillningar

På tal om funktionell programmering: För många år sedan tragglade jag mig igenom “SICP”, “Structures and Interpretation of Computer Systems”, en legendarisk gammal MIT-kursbok av Abelson/Sussman som helt använder LISP (eller Scheme egentligen) som språk. Materialet är från 80-talet, men det var en av de mest hjärn-expanderande upplevelser jag haft. Det finns faktiskt en hel serie föreläsningar från 1986 på MIT Coursewares kanal på youtube, sök på SICP så kommer det fram. :grinning_face:

4 gillningar

JavaScript har däremot inte mycket med functional programming att göra. Testa Lisp/Scheme, Clojure eller Erlang i så fall. (Vill man ha nått som kokar ner till JavaScript är ClojureScript & Shadow CLJS faktiskt riktigt sympatiskt.)

Lisp Cycles

2 gillningar

Elixir är ett annat bra språk som är väldigt likt Lisp och användbart till bl.a. server backends (den har inte så mycket parenteser och använder do/end blocks istället, likt Ruby).

För övrigt är det väldigt nyttigt att få erfarenheter från många olika typer av språk. ML familjens språk är väldigt bra till att lära ut de funktionella bitarna, lite i kontrast med Lisp som är ett multi paragdim språk så du kan skriva Lisp både imperativt och objekt orienterat. (Har själv använt Haskell lite men t.ex. Ocaml och F# är andra alternativ).

1 gillning

Ja. Alltså. Vill man kan man ju köra Java funktionellt, sen de la till Functional-API:erna i Java8. Men man är ju inte “tvingad” på samma sätt som andra språk, så det är lätt att det blir genvägar.

2 gillningar

Ja, modern Java är ju OOP med en salig dos FP. Jag gillar det, det är det jag jobbar med till vardags. Och när jag skapar egna projekt använder jag nästan uteslutande JAVA och Angular, givet att det inte bara är någon simpel scripting som ska genomföras, det görs bäst i Python IMO. C++ för inbyggda system.

Var det någon som nämnde Lisp? Kursboken från min första programmeringskurs i slutet på 80-talet. Har hållit mig borta från Lisp sen dess. :sweat_smile:

4 gillningar