To learn the fundamentals sure. But it completely depends on how you learn, your dedication. What's your end goal? When do you think you will have "learned" programming?
It's a constant learning experience and if you ever stop learning in this subject, i think you're doing something wrong.
What is the goal that you're trying to reach? General interest in programming? Implementing a specific solution at your non-programming job? Making inroads into a new career as a software engineer? Hobby?
Very good point here. While self teaching you need to set specific goals with a fast paced schedule, otherwise you can get stuck in trying to get way too deep staying there too long, to the degree that your technology becomes obsolete or that your skills are no longer needed.
The abundance of online resoures is a mixed blessing - there is so much interesting stuff out there that it's enough to spend your entire life exploring all of it without realising your primary goals.
Think about it like this - if you are a doctor, it's not enought to say you want to be "a better doctor", or "a better sportswoman". Such goals are meaningless, because each and every one of us wants to simply be better. Does becoming a better programmer mean you understand the given technology better, that you code faster in a language of your choice, colaborate with others more efficiently?
You are talking about your career here so I'd approach the problem from the standpoint of the value you bring to the market. On a meta-level your general goal should be acquisition of such a skillset that would be valued and allow you gradually achieve such a high position that would secure your income for the years to come.
Going to a school certainly helps you limit the scope, time and effort you have to put into the task as well as it gives you a diploma that always could be of use. (The market is still unsaturated with coders of any level, but if the demand for manpower dropped a diploma could be important while competing for employment). Schools are also good about teaching more general problems such as math, algorithms and computability theory, these however have imho little use in front-end development.
Try asking people around you what things they think you should learn to perform better in the specyfic set of tasks you are dealing with on daily basis and focus on them. Your employer will be happy to hear you want to improve your skills.
Apart from that try learning something really challenging, something you really don't like doing (assembly? scala?), or something fundamental like TCP/IP or SSH. Personally my weakest point is math, so for me discrete mathematics would be best.
TL:DR Be specyfic in your goals whether you decide to go to school or not.
I totally agree that learning "just coding" per se should not be a goal. It should also help to solve some of your real problems and automation is one of the topic that is very likely you need to solve. When you do something that you like and at the same time need it pays off twice. In fact I got most of my programming skills by implementing simple automation task that I needed. I highly recommend AutoHotkey ( https://www.autohotkey.com/ ) if you are interested in automation. It is programming language with great automation capabilities and wonderful helpful community (last one is very important if you are new to programming).
reply