|
|
|
|
|
by la_fayette
1673 days ago
|
|
The question is rather what one needs to know, to be a good software engineer? Formally, I guess if you learn Logic in your philosophy courses you know everything you need to do programming. Moreover if you know about Plato's Forms you basically know the basics about object oriented programming... Software design on the other hand is something you can only learn by experience anyway... I had an software architecture course at university, which made only sense to me a couple of years later... |
|
As a JavaScript developer, which I am, you need to be really good at keeping up with trends. That's really it.
For most of this line of work your value is the ability to use a tool rather than engineer anything. About the time you attain mastery the industry will move on to another tool. Mastery of any skill takes about 6-10 years of frequent dedicated practice. The hot tool of the moment takes about 2 years to reach critical popularity, 6 years at critical mass, and then 2-4 years of eclipse by something else. If you aren't moving on to the next new thing your career mobility will erode until there is none.
Consider it from the employer's point of view. A good senior is worth about 4-8 junior developers. At first blush it would make more sense to hire that senior developer. Developers come and go though, and most JavaScript developers are extremely junior. Employers never invest in training except as a last resort to prevent internal obsolescence, and it costs a boat load of money to find excellent developers. So, just invest in junior developers as a limited value exchangeable commodity.