What should your child learn if they want to join us in a few years’ time as a developer?
Imagine the scenario – you have a child that comes to you and says “I want to be a software developer”. What do you tell them to learn? I am going to flip that around a bit and ask what do I (as a developer) want a developer to understand when they start their first job working alongside me.
There will be liberal sprinklings of links to other websites in the content of this ramble… but do come back.
That’s a lot of acronyms – let’s break that down a little.
- HTML is the structure of a website – think of the cover, table of contents, chapters and index of a book
- CSS is styling – think of the layout of the book, the typefaces used, margin sizes, colours and so on
- C# is code that runs on the server
- SQL database is where all the data is stored that makes up your website
To be honest they will pick up basic HTML & CSS as they go along – there are literally billions of examples (https://websitesetup.org/news/how-many-websites-are-there/). As a side note there are discussions about whether HTML & CSS is code or markup. There are plenty of frameworks that make using these simple to make a usable looking website. For example, Bootstrap (Bootstrap · The most popular HTML, CSS, and JS library in the world. (getbootstrap.com)) and Semantic UI (Semantic UI (semantic-ui.com)).
Also, while when they start their career they will need a colleague that understands SQL and databases, for now they won’t need to worry about that either. Frameworks exist to make that simple and pretty efficient. We use Entity Framework Core (Entity Framework - Wikipedia).
for (var i=1; i < 101; i++)
if (i % 15 == 0) console.log("FizzBuzz");
else if (i % 3 == 0) console.log("Fizz");
else if (i % 5 == 0) console.log("Buzz");
for (var i = 1; i < 101; i++)
if (i % 15 == 0) Console.WriteLine("FizzBuzz");
else if (i % 3 == 0) Console.WriteLine("Fizz");
else if (i % 5 == 0) Console.WriteLine("Buzz");
Essentially the difference is console.log vs Console.WriteLine. So, which to learn?
These are all known as curly-bracket languages (https://en.wikipedia.org/wiki/List_of_programming_languages_by_type#Curly-bracket_languages) . If they can read one of them you be able to understand many of the others.
What tools should I use? That’s pretty easy in my opinion – Visual Studio Code (or vscode to its friends) – is free and well supported (Visual Studio Code - Code Editing. Redefined). Other tools are available but this one is used for real, in professional circumstances. By default, it has a dark theme and what child doesn’t want that?
There is even a version of Visual Studio that is free (Visual Studio Community 2019 - Free IDE and Developer Tools (microsoft.com)) but I wouldn’t recommend that for a child starting out in development as it offers way more than a beginner needs.