Att programmera är lite som att att bygga, men utan att man måste forma den verkliga världen till den skepnaden man är ute efter, berättar Ferrai då han ombeds beskriva programmering.
– Tyckte du någonsin om att bygga med lego? Eller gillar du sandslott, origami eller att rita? Då kommer du också att gilla programmering.
Själv blev Ferrai intresserad av programmering som 13-åring då han sysslade med videospel och började fundera på om det var möjligt att själv ändra på spelet. Han läste på internet, köpte en bok om programmering och satte igång själv.

Han anser inte att man nödvändigtvis måste gå en kurs för att lära sig programmering.
– Om du är intresserad kan du själv börja utforska programmering med hjälp av en bok.
Det är klart att man lär sej snabbare och mer effektivt om man har en lärare som kan guida en genom processen och hjälpa en att förstå. Om man jobbar på egen hand får man lära sej den hårda vägen; genom många försök och misstag.
Vilket programmeringsspråk är bäst för nybörjare?
– Det finns inget språk som är bäst rent generellt. Det finns olika programmeringsspråk som är bra för olika saker och det är vanligt att man lär sig nya programmeringsspråk för att lösa nya problem.
Programmeringsspråken rör sej på en abstraktionsstege och de programmeringsspråken som ligger högt på abstraktionsstegen möjliggör programmeraren att uttrycka kraftigare koncept med färre ord. De ligger också närmare det mänskliga sättet att tänka. Till exempel Clojure, Java, Python hör till de mer abstrakta programmeringsspråken medan Assembly och C är mer konkreta.
Detta innebär att programmeringsspråk på en högre abstraktionsnivå är enklare för nybörjare, eftersom man inte behöver oroa sej över detaljerna i datorn.
– Just nu skulle jag säga att Python är det bästa nybörjarspråket. Det är enkelt och det finns många användare, vilket betyder att det finns fler personer du kan fråga om hjälp.
Ferrai har sett folk lära sig programmering väldigt snabbt och bara efter ett år av målmedveten träning fått jobb som programmerare.
Han är inte övertygad om att alla i samhället behöver lära sig programmering, men han säger att det kan vara användbart eftersom man kan automatisera saker som annars skulle ta en tid att utföra mekaniskt.
– Om vi ser på hur programvara formar samhället så måste vi alla förstå innebörden av vad den kan göra och på vilket sätt.