Hi there,
I am a senior by now (pretty exactly 10 years on the job) and I have great respect for everyone desciding to change careers to become a software engineer. It has a very steap learning curve but after you get the hang of the basics it gets easier. I can only partly relate since I did not go the self taught way. I studied Informatics to learn the basics. Also because there were not many alternatives back then. But this is quite different now. There are many good sources to teach yourself and even get certificates that look well on your resume. I did not hear much good stuff about all the bootcamps though.
If I would have to start over again I don't think I would study. Lot of stuff they taught us I never used again. Even more important, going the self taught way gives you actually an advantage. You already learned how to learn effectively by yourself. I needed to learn that on the job. Tech is pretty fast paced. New languages, frameworks and libraries. The learning never stops.
So out of my experience some advice:
I agree with some of the comments here. Web3 is a hype at the moment. We need to wait and see what sticks. The blockchain definitly has potential but adjustments will be necessary. I like the basic idea but it is hardly more than a concept with many flaws. Especially with the "proof of work" being regulated or even banned in the future by the EU. So better stick to the basics first. Learn how to code and the fundamentals of software architecture. Most software engineering jobs are still web 2.0. If you are then still interested in web3, go for it. You can build on the fundamentals.
I can also assure you, like other comments, that math is not so important to be a good software engineer. It depends on the software you are developing. If you don't choose a field where you continously have to analyse signals, finance and insurance, networking or 3D, the math you learned in Highschool is more than enough. Creativity is much more important than math. Lots of problems you will need to solve require creativity.
Stick to small projects solving real world problems. Whatever repetitive tasks you do with your computer try to automate them with small scripts in e.g. Node.js, Python or GO. The Alphabet app for your son is a nice idea too. Try a cross platform framework to build it like ReactNative, Ionic or Flutter. With the first 2 you can stick to JavaScript. For Flutter you would need to learn Dart, but it is growing.
Some good places to learn the basics:
freecodecamp.org/ is great to teach you the basics with JS and Python. You can get certificates too and it has a great community behind it to help you when you face problems.
Github always has some great OpenSource repositories for your language of choice.
Many univerisities offer free fundamental courses to get you started. You can find them on coursera or other platforms.
Hi there,
I am a senior by now (pretty exactly 10 years on the job) and I have great respect for everyone desciding to change careers to become a software engineer. It has a very steap learning curve but after you get the hang of the basics it gets easier. I can only partly relate since I did not go the self taught way. I studied Informatics to learn the basics. Also because there were not many alternatives back then. But this is quite different now. There are many good sources to teach yourself and even get certificates that look well on your resume. I did not hear much good stuff about all the bootcamps though.
If I would have to start over again I don't think I would study. Lot of stuff they taught us I never used again. Even more important, going the self taught way gives you actually an advantage. You already learned how to learn effectively by yourself. I needed to learn that on the job. Tech is pretty fast paced. New languages, frameworks and libraries. The learning never stops.
So out of my experience some advice:
I agree with some of the comments here. Web3 is a hype at the moment. We need to wait and see what sticks. The blockchain definitly has potential but adjustments will be necessary. I like the basic idea but it is hardly more than a concept with many flaws. Especially with the "proof of work" being regulated or even banned in the future by the EU. So better stick to the basics first. Learn how to code and the fundamentals of software architecture. Most software engineering jobs are still web 2.0. If you are then still interested in web3, go for it. You can build on the fundamentals.
I can also assure you, like other comments, that math is not so important to be a good software engineer. It depends on the software you are developing. If you don't choose a field where you continously have to analyse signals, finance and insurance, networking or 3D, the math you learned in Highschool is more than enough. Creativity is much more important than math. Lots of problems you will need to solve require creativity.
Stick to small projects solving real world problems. Whatever repetitive tasks you do with your computer try to automate them with small scripts in e.g. Node.js, Python or GO. The Alphabet app for your son is a nice idea too. Try a cross platform framework to build it like ReactNative, Ionic or Flutter. With the first 2 you can stick to JavaScript. For Flutter you would need to learn Dart, but it is growing.
Some good places to learn the basics:
I hope I could help you a bit. Stay on course ;)