|
TEST: Skriv ner utförliga instruktioner i hur man gående korsar ett rum. Är svaret över två sidor långt (enkelt radavstånd, utan blankrader) så har du talang. Lägger du till en extra sida om hur man kan tugga tuggummi samtidigt som man går (bara för att det är kul) så har du talang att bli en mycket bra programmerare. Notera dock: Om du redan nu funderar på hur man ska kunna koppla loss tuggummituggandet från gåendet, så att man kan tugga asynkront, ska du genast sluta läsa den här artikeln. Du är redan datornörd och borde skaffa dig ett riktigt liv.
Det känns oerhört stimulerande att lösa programmeringsproblem eller kunna ett programspråk som ingen annan fattar (utom ett fåtal andra som valt samma yrkesbana som du). Programmerare skaffar också hemliga signaler som berättar för andra programmerare vad man sysslar med. Som att man ständigt skakar händerna (karpat-tunnelsyndromet nästan knäcker en) eller har rödgnuggade ögon (som kommer sig av sina försök att få tillbaka lite fukt i ögonen efter tiotimmarspass framför skärmen). Knölarna i pannan är också ett tydligt tecken på karriärvalet, de får man efter att i frustration bankat pannan mot tangentbordet. Utlösande faktorer kan vara idioten till programmerare som arbetade med koden innan du kom in i bilden, eller att kunden/chefen ändrat programspecifikationerna för femte gången samma vecka (och det fortfarande bara är tisdag). Men det finns några sätt att hämnas på de där otrevliga användarna och wanna-be-programmerare (supportfolket alltså). Man kan göra CTRL-ALT-DELETE till den mesta använda tangentbordsgenvägen i programmet, eller lägga in Eastereggs. Ah, Eastereggs - dessa underbara funktioner där programmerare kan ägna halva utvecklingstiden åt att återskapa hela inledningsanimationen till Monty Pythons flygande cirkus som bara kan ses av den enda person, som kommer på knepet att skriva in programmerarens fullständiga namn i Visa info-rutan. Det är otroligt roligt eftersom programmeraren kan ödsla hårddiskutrymme och djäklas med jurister och försäljningsavdelningen (som skulle få spasmer om de visste vad programmet de marknadsför egentligen innehåller). Jag älskar mitt jobb! Microsoftprogrammerare måste vara helt otroligt glada i sina jobb. Det finns ingen annan rationell förklaring till att ett ordbehandlingsprogram tar 505 MB än att 500 programmerare gör varsitt Easteregg på 1 MB och de resterande 5 megabyten är själva programmet. En del Easteregg i Microsoftprodukter är rent av synliga hela tiden. Som den där animerade figuren som strör råd omkring sig, det är ett typiskt exempel på ett Easteregg som gått bärsärkagång. Vilket programspråk ska man välja? Programmeringsspråket är avgörande för hur du och din karriär kommer att utvecklas. Blir du assemblerprogrammerare får du bara finjustera kompileringskod, arbeta med satelliter eller skapa drivrutiner för eltandborstar. Du blir en datornörd, även i ögonen på andra nördar. Du blir en übernörd och kan prata programmeringsslang som får andra att skämmas. Du får också ägna år åt att skapa program som tar andra programmerare några timmar att knåpa ihop, men ditt program går lite fortare och fungerar inte på normala datorer. Om du istället blir C-programmerare blir du en uppkomling med sikte på att bli assemblerprogrammerare. Du gör samma jobb, men får chansen att arbeta med operativsystem och gammal kod som måste uppdateras. Vem vill sitta och fixa andras värdelösa kod? Å andra sidan kan du förstås bli Unix-tönt och skriva CGI-script hela dagarna (och vara hälften så produktiv som Perl-programmerare). C är på det hela taget passé, du vill egentligen arbeta med något nytt och spännande programmeringsspråk, inte sant? Cobol. Ha, ha, ha, det var ett skämt. Alla vet att riktiga programmerare inte använder Cobol. Att Cobol nuförtiden är objektorienterat är det ändå aldrig någon som skulle tro på. Och även om det skulle vara det bästa språket som funnes, så skulle riktiga programmerare aldrig kunna acceptera ett programspråk som har uppfunnits av en kvinna. Cobol-programmerare jobbar med databasprogrammering och dyligt på riktigt stora företag och tjänar mer pengar än du kan drömma om på att fixa år 2000-buggar och andra fåniga fel som dom för det mesta själva orsakat några år tidigare. C++ är programspråket för riktiga programmerare. Det är förvirrande, lätt att göra fel i, det gör det möjligt för dig att trampa rakt in i RAM-minnet samt trycka ner OS:et och andra program. Det är det värsta objektorienterade programspråket som finns i kombination med en förvirrad syntax - givetvis har det blivit något av en standard i branschen. Man kan skriva kod som ingen annan människa förstår ett sk-t av, vilket garanterar dig en säker plats på företaget, eller åtminstone furstliga konsultlöner under många år. Som sagt, ett givet språk för riktiga programmerare. Java är framtidens programspråk. Det är bara riktigt coola människor (och tonåringar) som skriver i Java. Programmen går otroligt långsamt och kräver vansinnigt snabba datorer (vilket gör det möjligt för datorindustrin att fortsätta växa de kommande tio åren också). Den där skrönan om att en riktig duktig Javaprogrammerare kan skriva programmet medans datorn kör det - bara han har minst tio kodraders försprång, är inte helt fel.
Vilken sorts programmerare kan man då bli? Systemprogrammerare är de mest arroganta, till och med efter programmerares standarder. De arbetar på häftiga företag som Apple, Sun och Microsoft, där de betalas för lite och får arbeta för mycket. Man blir tillslängd en väldigt liten del av operativsystemet som väldigt få utomstående programmerare någonsin kommer att använda (och ännu färre uppskatta). Det är ungefär lika upphetsande som att stå vid löpande band och skruva på kapsyler på tandkrämstuber. Enda fördelen är att man blir datorvärldens snobb och kan känna sig finare än applikationsprogrammerarna. Applikationsprogrammerarna skriver riktiga program, som de ägnar för mycket tid åt, med för lite betalt. Om man jobbar på ett litet företag får man veta allt om Applikationen - och det är riktig makt. Tänk att kunna krascha företaget och ställa dussintals människor utan jobb om du bestämmer dig för att sluta och bli systemprogrammerare istället. Om man arbetar i en stor grupp, vilket är vanligast, får man bara lära känna en liten del av programmet och du gör i princip samma jobb som en systemprogrammerare - men du kan inte skryta lika mycket om det. Spelprogrammerare. Här samlas alla riktiga programmerare. Förutom glädjen att arbeta med coola applikationer får man arbeta under en tidspress som får andra programmerare att se ut som såskoppar. Man kan inte vara lika arrogant som systemprogrammerarna, men nästan, för om man arbetar med ett bra spel så kommer alla tonåringar (även de som är över fyrtio år) att falla på knä när du berättar vad du sysslar med. Och det kommer du att känna dig tvingad att göra så fort tillfälle ges. Databasprogrammerare är datorvärldens avskum. De använder ofta 4GL eller andra lättanvända programmeringsspråk. De får regelbunden lön och behöver inte arbeta oresonligt mycket (vad är det för utmaning?) De får skapa hela företagslösningar, istället för små-små bitar här och där. Ofta lyfter de en fet lön också, särskilt om de är konsulter. De enda som ser upp till databasprogrammerare är vanliga människor och givetvis företagen som använder databaslösningarna. Scriptskrivare ses över axeln till och med av databasprogrammerarna. Scriptskrivarna leker med språk för att göra multimedia, hemsidor eller koppla samman olika program för att automatisera något - och det får de betalt för! Andra programmerare skriver script för att det är skoj.
Vilket OS ska man då satsa på? MacOS är inget att satsa på. Det första man får lära sig som Mac-programmerare är att sätta användaren i första rummet. Usch! Det är som att en doktor ägnar sig åt medicin för sina patienters skull, eller att en advokat ska genomdriva lagens anda. Windowsprogrammerare finns inte. Det finns visserligen DOS-programmerare som råkar använda en uppsättning rutiner som kallas Windows, men de använder halva sin tid till att hålla ordning på sitt system eller funderar över varför datorn stendog. De använder andra halvan av tiden till att räkna ut varför deras applikationer inte fungerar på någon annan dator än deras egen utvecklings-PC. Det här innebär att alla Windowsprogrammerare egentligen är kvalitetskontrollanter åt Microsoft. Ironiskt nog får de ofta betala Microsoft för nöjet att debugga operativsystemet. Unix-programmerare är själviska människor som kodar för sina egna behov. Har du någonsin sett gränssnittet på ett Unixprogram? Vi kan lika gärna säga det direkt, det skrivs inga kommersiella program i Unix, 95 procent av alla program görs för skolan - så att skolorna kan lära programmerarna hur det inte fungerar ute i verkligheten. Visst, visst, några få lyckliga satar får skriva Unix-baserade lösningar för webben, vetenskapliga applikationer eller hamnar på något häftigt företag som gör 3D-specialeffekter och videoredigering. Men det är som att vinna på lotteriet och på något sätt hinner ödet ifatt dem förr eller senare. Nu för tiden är de flesta Unix-programmerare tvungna att skriva Windows NT-program, samtidigt har antal programmerare som hängt sig i mussladden gått upp. DOS-programmerare finns egentligen inte. Det finns ganska många CP/M-programmerare som använder den dåliga kopian (som kallas DOS). De är oftast för dumma för att se nyttan med ett grafiskt gränssnitt eller möjligheterna med att kunna namnge sina rutiner (istället för att numrera dem - jag skämtar inte, DOS-rutiner är numrerade). Vart tog alla Fortranprogrammerare från 70-talet vägen? De sitter med DOS idag. Så ödet har sina sätt att sparka dumma människor på smalbenet - och DOS-programmerare sitter på livstid med sina program. För om de inte ens kan lösa ett komplext problem som att namnge rutinerna med riktiga ord, hur ska de då kunna bryta sig ur saltgruvorna? Tyck synd om dem.
Hur klär man sig som programmerare? Sluta tvätta dig. Programmerare har inte tid med sådant. Kort hår är för andra. Skaffa hästsvans istället, då kan du som gammal programmerare fixa en billig ansiktslyftning genom att dra ihop håret hårdare i nacken. Skägg är också häftigt. Sluta röka - riktiga programmerare arbetar ofta i datorrummet där rökning inte är tillåtet. Skaffa ett beroende av Jolt Cola istället, en programmerare som injicerar kaffe direkt i ådrorna är räddningslöst förlorad - men alla andra sätt att få i sig koffeinet är tillåtna. Det finns nästan inga programmerare som börjar sin karriär som överviktiga diabetiker, men efter tjugo år med läsk, godis, chips och mat från automaten nere i korridoren blir alla sådana. På det hela taget har programmerare två kroppstyper - allt för mager och allt för tjock. Vanligtvis börjar man med det ena och slutar med det andra. Detta beror ofta på de fysiska aktiviteterna på jobbet, som att skriva riktigt fort på tangentbord eller vifta med armen på skrivbordet. Å andra sidan, har man rätt kroppsvikt finns det risk för ett socialt liv - och det skulle förstöra alla chanser att bli en bra programmerare. Klädseln är viktig. Glasögon brukar inte påbjudas i början av karriären, men efter tjugo års stirrande på en risig bildskärm, behövs de. Jeans och t-shirt är normen. Jeansjackor är OK för kallare klimat medan Birkenstocks mest används av Kalifornien-kodare. Det riktigt viktiga attributet är vilken t-shirt man har. Helst ska det vara reklam för en riktigt gammal, försvunnen (men häftig) produkt, som bara andra programmerare känner igen. En t-shirt med texten ”Lisa Workshop”, ”CP/M Forever” eller ”Babbage Rules” placerar dig i nivå med Calvin Klein i programmerarnas modepyramid.
Hur beter man sig som programmerare? Låt ditt värsta personlighetsdrag ta överhanden. Skaffa dig excentriciteter. Berätta för alla exakt vem du är, exakt varför du inte passar i sociala situationer och vilken utmärkt programmerare du är. En bra start är att omotiverat skratta hest, prata programmeringsslang och svara på enkla frågor som ”hur mås det”, med ditt livs historia. Bättra på allt med fullständigt oacceptabelt beteende. Att vara fullständigt bokstavlig är också bra. Frågar någon ”Visst är det toppen?” måste du svara ”Toppen är motsatsen till botten och betecknar också slutmålet på bergskedjor”. Alla kommer att hata dig, men du berättar åtminstone sanningen. Att vara fullständigt sanningstrogen är ett annat sätt att bli socialt utstött. Låt oss säga att flickvännen (inte för att programmerare någonsin har flickvänner) frågar ”Ser jag fet ut i de här byxorna?” - hur kan hon kräva att du som ägnar nio tiondelar av ditt liv åt att vara brutalt sanningsenlig med datorer och program, plötsligt ska byta vanan bara för att tillfredställa emotionellt styrda människor? Förresten finns det inget bra svar på frågan. Det bästa man kan göra är att kasta en hastig blick och säga ”Inte alls”. Hon inser givetvis att du ljuger och byter byxor, men hon gör det med ett leende. Men du måste göra det utan tvekan eller eftertanke. Att svar - ”Jämfört med vad då?” eller ”Jag har sett värre.” - är ingen bra idé.
Slutligen, hur blir man programmerare? Om du har läst igenom alla dåliga sidor med att vara programmerare och fortfarande vill bli det - ge dig ut och börja skriva kod. Marknaden skriker efter programmerare. Det finns ingen magi med i spelet, det enda som räknas är erfarenhet och det skaffar man sig genom att skriva program. Lås in dig några årtionden med en dator som enda sällskap och du har kommit en bra bit på väg. Man kan börja smått med lite script för databaser och sedan långsamt släppa loss hackergenerna. Gå vidare genom applikationsprogrammering, för att slutligen landa som systemprogrammerare (skaffa då nackstöd för att hålla ditt massiva huvud på plats). Även om du inte kommer ända fram, så har dina ickesociala kunskaper berättigat dig en plats i något datorföretags ledning som misslyckad chef.
Fritt efter David K. Every |
|