Hvad er forskellen mellem en begyndersoftwareudvikler og en avanceret softwareudvikler?


Svar 1:

En nybegynder softwareingeniør:

  • Overvurderer enormt deres evner. Gendanner hjulet. Har en dårlig forståelse af tilgængelige værktøjer. Kan kun håndtere små projekter med en vis grad af sikkerhed.Over- eller underingeniør-løsninger, men giver sjældent en løsning af den korrekte mængde kompleksitet / funktionalitet.

En avanceret softwareingeniør:

  • Forstår hendes egne begrænsninger og ved hvornår de skal bede om hjælp. Forstår almindeligvis problemer med stort omfang og kan levere løsninger på disse problemer. Kan hjælpe andre, mere yngre ingeniører med at tackle dele af problemet, der er passende inden for rammerne. Henviser til at bruge noget der allerede findes, hvis det vil løse problemet eller dele af problemet. Forstår de tilgængelige værktøjer, og når de ikke kender dem, undersøger de værktøjerne, inden de implementerer noget nyt. Implementerer den nødvendige minimumsfunktionalitet, * men * gør det ikke design sig selv ud fra sandsynligvis fremtidig funktionalitet.

Svar 2:

Mennesker, der starter, har brug for mere vejledning for at holde dem på sporet, og har en tendens til at begå flere fejl, der involverer den overordnede struktur af det, de prøver at udvikle. De har muligvis også brug for hjælp med sprogets fine punkter.

Mere avancerede udviklere kan generelt finde deres egen måde og har brug for mindre vejledning. De har også en tendens til at vide, hvornår de har brug for at stille spørgsmål eller få afklaringer om kravene.