Look at him: a hopeful middle-age back-end developer who thinks that to learn front-end technologies is a good idea nowadays. After some years working in back-end tasks on portals like OpenCms, Vignette or Liferay, he is going to go into the light, coming out of the dungeons....
...Now, he is going to do cool stuff: things moving around the screen, putting colors here and there and things that can be easily shown to his mother, for example.
- Look at, mom! Do you want I change that color? Do you want I move that image?
It is far better than to tell her:
- Look at, mom! Do you want I integrate that portal with that web service?
- Never mind...
Poor guy. He does not know where he is going into...
The journey begins
He swallowed saliva and began: there is a lot of documentation to read, a lot of tutorials to follow, a lot of test to do... Let's go!
The aforementioned recommended course about Angular 2 was too though to take, considering his background, so he first started learning the modern ECMAScript (ECMAScript 5 & 2015 with all those new features it brings: modules, classes, arrow and spread operators ...; Typescript, Node.js, npm, Promises, Observables and webpack), then he continued learning what is Typescript and the next thing he did was to take a look to the official Angular 2 documentation. His experience tells him that usually is very good to use the official documentation about a technology to properly learn how to use it to grasp the concepts under it, the purpose.
Eventually, the self-training period ended and the project started. Fortunately, there was an experienced full-stack developer in the team who took the responsibility of developing the architecture of the project. And that was very helpful because that gave him a kind of templates where to start from. As you can guess, the level of the project was higher that the tutorials'. With real projects, real problems emerge. And those are not pet-size like in the trainings, but monster-size. Nevertheless, the team was finding ways to defeat them day by day. And, along the way, he was learning how to do it in this new field. (The next course he is going to consider to take is the CSS introduction given by the W3C.)
A kind of retrospective
- Very understandable documentation was found. The links have been shared along the post.
- Supportive team: to face such a big amount of new technologies with no experience at all in the team would have been a nightmare. Having someone that brings light to the dark points reduces the stress.
Things that can be improved:
- Initial evaluation: perhaps it would have been helpful to tailor a training plan in the proper order to make an efficient use of time.
- A mentor: 10 minutes of expert advice can worth more than 2 hours of self-training. When you are approaching a problem from the wrong side because you lack some essential concepts, you might spend quite time figuring out what is wrong. An expert eye can spot the mistake promptly (typically they are the usual problems novice developers face when they are learning a new technology) and make possible to invest that time efficiently.
Does it worth?
It is early to be really confident about the question but the feelings are good enough to go on learning it and is easy to understand why Angular is the popular framework it is.
Once the skeleton of the application is done is quite easy to add a new component to it. Angular 2 seems to be an improvement over 1.x version with simpler stuff. And you can take advantage of some available starter packs to save the firsts steps setting up a new project that is going to use Angular 2 as a front-end framework and webpack as the module bundler, for example:
- the simpler: AngularClass simple starter pack
- the full-equipe: AngularClass full-equipe starter pack
Improvements not only come from Angular but from the ecosystem of tools that surrounds it. They make possible to fulfill develop-test cycles in a few seconds. And that makes the life of a developer really better, helping to have shorter delivery times for a feature.
The journey continues...