In short: Arduino…;-)
How did you start programming?
My advice to anyone who wants to learn to program is to first start with ANSI C. And then do not want to create special things right away but just standard ‘ console ‘ applications, so purely text-based.After about two months of studying at C you should know enough about the basics of programming.
I always say that there are four pillars where programming is based, namely instructions, conditions, repetitions and structure.Structure is the most complex because it is not only about data but also about the structure of your code, your hardware, the network and many more structures. So you will have to spend a lot of time so it is useful to learn to use the other three pillars first. And the C language is most suitable for that.
What should you learn then?Especially algorithms! Think of the methods to sort and filter data, but also just perform mathematical formulas. Something simple as the ABC Formula programming in C is a nice start.But also calculate how much a loan costs with a certain interest rate is a good exercise. For instance, there are many exercises that are based on the first three pillars and which is useful if you are ultimately going to give attention to structure as well.
Incidentally, there is another fifth pillar, namely parallel code.Think of multitasking and multiprocessing. This is actually a special technique within programming which is more and more attentive nowadays.
But once you know C and are pretty well controlled, how do you proceed?The choice is mainly to learn an object-oriented language because there is a complex structure in it. You will then get classes, objects, interfaces and a lot of other things to process in your code. But here too you have a lot of choices.
Java, C++, or C# would be the most popular choices.These languages are very similar to C in terms of syntax so you learn pretty quickly. Rust and Go also have a similar syntax. Python somewhat less but is a good language to learn as an alternative in addition to one of the mentioned languages. And now you have to learn to program with one of these languages. Or multiple languages…
Yes, in the backend of a website you will start programming again but usually these are not very complex projects.It is almost only structure and little code. As a programmer you need a better challenge.
And that’s there!If you control C you can buy an Arduino sign.For no more than a hundred euros you already have a complete starter kit and if you go for the most inexpensive plates like the DigiSpark you can already advance for 5 to 10 euros. You connect this via USB to your computer and via the Arduino IDE you write C code that is executed on the sign. A few buttons, LED lights and maybe even a servo and then your own robot programming! And then you have something that everyone can see.
The advantage of the Arduino is that you also learn about the hardware you are programming.The realization that you are not working with zeros and ones but with power bumps that seem to go out all the way over all sorts of pins and wires. But also the challenge of having limited resources (little RAM, no hard drive, low clock speed) anyway to make something that works well.
The question is not entirely clear to me.But if you’re looking for a career path, then here are some ideas.
All good programmers do projects in their spare time, and combine those with their professional careers.So if your programming doesn’t like it, don’t start.
A good hobby project starts as follows:
Find an application in your immediate environment.Something you would like to automate, or calculate its fine.
- For example, you can create a program to download sports results from websites.
- Or a program to make an inventory of all the junk in your attic.
- Or a program to calculate something for a game you often play.
e.g. what is the best way to win in 4-in-a-row.
Always try to get to a result as soon as possible, and then refine it.Avoid projects that are never getting off because they are too ambitious, because you only get a rock feeling afterwards. (Yet it is often inevitable).
Therefore, beacon always finish the scope of your project, and do not lose yourself in details.
There are too many who, at the slightest idea, are thinking about a slogan or the price at which they are going to sell the final product, even before a letter is programmed. Worse, some call it a “business plan”.But the reality is that a good business plan departs from an already made prototype. Each project starts with a “proof of concept” or prototype.
But most importantly, make something you can use yourself.Because how good your idea or elaboration is, most projects have no commercial value. So make sure you have something to do at least.
And then there is the labor market…
TOP programmers can all have multiple programming languages. It doesn’t matter so much in which language you start.The more languages you control the easier it gets to do one. If you start here early enough, you will already master some programming languages by the time you graduate.
Many employers expect a specific combination of a whole range of skills: programming languages, tools, frameworks, methodologies and preferably with 3 years of professional experience.(And you really can’t faken it). That makes it difficult to find a first job. (1 year professional experience = 1 year Academic experience * 3.)
To find a first job, a diploma will do wonders. The employer engages you because you are young (cheap, flexible, adaptable,…) and because he invests in the future of his business and because there is a shortage in the labour market.In return, you build experience.
Do not forget that you have been employed to be kneaded into a specific profile.However, if one continues to kneading too long, your career will be compromised. Maybe you don’t mind, but don’t be too short-sighted. Therefore, apply every year somewhere, and ask for feedback afterwards. This way you know which skills are important. And that’s how you know where to work.
If you are lucky you can learn something during your working hours and extend that skillset.If not, do something after your working hours (see beginning of this text). Inform your employer about that ambition to learn. (Your employer may think you’re happy with a routine project, while you’re waiting for a challenge.)
And then you may still be looking for the extra challenge…
You change job, or…
Because it does not bother you any more, you start from a sense of charity to work on open-source projects, and then a whole new world opens.A world of knowledge sharing, so you learn super fast, and know what the latest innovations are, even before they come on the market.
Suddenly, it also appears on StackOverflow, that you are at the top 1% of the stack overflow members.All signals that confirm that you are GOOD, and MORE can.
You feel that your employer does not give you any opportunities.And then it suddenly appears that there are too few companies working at this level. You want to continue learning on-the-job, but no company can give you those challenges yet. 鈫?You become a consultant and combine multiple jobs with multiple companies.
And then I hear from consultants (who have been in the profession for many years, have worked for multinationals, have moved abroad) that they do not want to write a letter code anymore.
They write a book on concepts, Methodologies,…