Really agree with you. Usually I tried to do some side projects/weekend projects if I want to try out something new. For example, when I learned PHP, I build a website with it. Later when I learned AngularJS, I build another website with it(https://pxlet.com). Now I am interested in VueJS, maybe I will start to build a new one with it. This really helps you understand something in deep.
Learn and act. Doing something real with what you learnt and you will grow while you are building it. Also keep refreshing yourself with the new technologies and trends.
You can follow http://www.pxlet.com if you don't want to get lost in all the different sources and it comes with bunch of other features. I check this one everyday now.
Hmm, another big challenge for continuous delivery is actually human factor. You need to have people who can work in continuous delivery mode. This factor is more critical than that of traditional software development based on my experience.
Excellent. So we can submit links there as well? Actually here is another one which collects HN data but presented in another manner(It uses AngularJS for quick modelling). http://www.pxlet.com/
Sorry, you misunderstood my point. My implication is that we should spent the money on the right people. For example, if we have budget of $10000, we can spend them hiring one/two good developers instead of hiring 4/5 below average developers.
The problem is that you will fall behind if you cannot transform your research into real products. Just like the smart planet idea, this idea is very brilliant and it was proposed around a decade ago, however the business around is a failure because of execution failure. Nowadays we are seeing other companies working on smart planet while IBM is changing to cognitive. What can we expect from cognitive?
Some personal thought, execution is key for business success now.
Those irons are only a small portion of IBM revenue now due to cloud. But they haven't put the correct resource on cloud and software. It was working in the past even though its software is very difficult to use. But now it's the other way around.
As lots of people know that IBM gets 21 consecutive revenue decline and it's forced to cut down cost. But cutting down cost doesn't mean you should shift your development work to under qualified developers or programmers. This will further affect IBM's software quality and hurt its revenue. Why not putting the money hiring less but good developers. If you are a developer, you would find what that feels like to work with under qualified developers.
To be honest, have you heard about any impressive software product or solution from IBM in recent years? I would blame this to a short-visioned management team. Maybe its management team is thinking they could hire more below averaged developers with the same money of hiring one good developer in hoping that quantity can cover quality. In fact that's totally wrong in technology field.
Moreover, those talented technical people are escaping because they are not getting what they deserved. The management team is investing far less in technical talents than in so-called business. The end result is that the product quality will become worse and worse and customers would finally give them up.
While other companies are attracting talented IT people by all means, IBM is lost and it's driving them away.
Get experience by doing some side projects you are interested in and work on some real stuff. Learn while solving problems will be the fastest. Of course this relies on that you already have some knowledge on coding and have a relative good grasp of different aspects of software development.
Also, read tech news to get the latest technology trend and what's hot in the area*Can read from http://www.pxlet.com). At this age, gain experience and build a strong foundation is the most important thing.
Then involve in open source projects by starting to read their source code and use them and submit patches and then you can get sense on how frameworks are developed and maintained.
Once you get the experience, it should be easy for you to get an ideal job. Don't rush before you get ready.
Personally I think most of time is spent on either design or debug. The actually coding period would be short if you have a clear design. And you would spend much of time on debugging some really rare but strange issue. If you are in the correct direction, the issue would be found quickly, otherwise it may take hours if not days to dig out the issue.
Another point is that it also depends on the familiarity of the technology/language you are using.
Well, for myself recently I have used AngularJS to implement a simple news aggregator(http://www.pxlet.com). and deployed it within one day(Well to be honest, it's around couple of days because need to spend time finding the news sources). I find AngularJS is quite appealing to develop single page app. It handles the view and JS data model quite well.