Tuesday, 2 August 2016

Does outsourcing software development really affect the world of programming? How?


Not a typical entry for this blog. This time, instead of talking about some particular JavaScript techniques or news, I would like to attempt to answer a very important question that many developers must have on their minds from time to time.


Nowadays, the developer market is extremely diverse and globalized. An average custome, interested in having their project coded, can choose from a great range of developers in terms of price, ability, language skill etc. It raises many important questions. Is it always better to hire a more expensive developer? Are cheaper developers from low cost countries always worse in terms of quality? Is there some sort of sweet spot where you get the most quality for a certain level of price per hour?

JavaScript and outsourcing software development

Perphaps JavaScript developers and front end developers in general are the most affected by this globalization of software development services? Because the barrier to entry just to get enough skill to do some basic tasks is really low. Sure, to become a true JavaScritp ninja, one needs to train a lot. But to some basic tasks, all it takes is a bit of HTML, CSS and JQuery. And, mind you, there are plenty of such developers when it comes to outsoucing software development to the cheapest subcontractors. But clients can hardly tell the difference between those pros and those poorly skilled developers. They can always explain the difference in place by the fact that in some countries (such as India or Pakistan) living costs are much smaller than in, say, the U.S. or Germany.

Clients are usually the least knowledgeable when it comes to the nitty gritty of software development. To help them find a software developer or company that actually provides valuable offshore software development services, some basic guidelines should be followed.

Working solo vs working in a software company 

Things change dramatically when you, as a developer, are working for a software house. In that case, you clients are rarely looking at specific developers and their prices only. They also take into consideration the opinions about your software company, its image as well as location (the closer the better). You no longer need to worry about outsourcing software development. Employer actually prefer more experienced and skilled developer even if they really are more expensive as well (just as much as twice the cost of a developer with 1-2 years of experience). Why is that? Most likely simply because their is so much difference between how much a senior and junior software developer can do.

One important and related subject that is rarely brought upon is the fact that it is difficult for universities to quickly mass produce JavaScript developers. This is a subject that is changing simply too quickly! Practically ever week new frameworks and interesting techniques are brought to daylight. The communities of JavaScript-related projects such as AngularJS, ReactJS or Node.js are very energetic are the open source drive paves the way for a great lot of modules, extensions, libraries etc. It would be really difficult to agree upon a Curiculum for JavaScript. Should it be Angular or React? Should it include just front end, or also back-end JavaScript techniques. Just Ajax and some REST or all the way to Node? There are many such questions a lot of them are quickly and inevitable becoming very politcal. This is why self-taught senior developers are so valuable and soguht after.

There is also one more thing, Should a JavaScript based project fail, one usually follows is the need to hire a very experience JavaScript consultant to clean it up. And that means nothing more nothing less but a big paycheck coming up.

What do you think? Do you believe that offshore software developent is threatening your career as a JavaScript or front end developer? Or perhaps you're the one who benefits from it? Share your thoughts in the comment section below. Very much appreciated!

Wednesday, 20 July 2016

All the latest stuff from ECMAScript 2015

The last year's new 6th version of the ECMAScript standard (which in case you don't know provides the basis for the JavaScript language) introduce many new features that more experienced developers are talking about.

Some of the most notorious features of ECMAScript 2015 (ES6) include:
  • the new "let' keyword to refer to a variable, which differs from the "var" keyword when it comes to scope,
  • the constant (const), which allows you to declare read-only reference to a value,
  • arrow functions, which are aimed at making your code more concise,
  • new methods for handling strings,
  • so called template literals to facilitate the creation of strings and performing string interpolation,
  • new static methods for the Array object.
And a lot more.

Now you can brush up on all of the new changes in ECMAScript 2015 in a short time with this collection of videos from different courses.

What makes ECMAScript 2015 so important?


If you're only starting your journey with JavaScript, ECMA is something you may know very little about. But as a matter of fact, it's the very basis of the language you're learning. ECMS is the standard of a scripting language and JavaScript is the implementation of the standard. Consequently, every time the ECMAScript is updated, JavaScript developers are in for many surprises.

Learning a lot about ECMA when you're at the beginning of your JavaScript journey will truly set you apart. Believe me or not, but there are many quite experienced (and skilled!) JavaScript that know next to nothing about ECMA! Now, with this handly list of videos, you will not be like them.


Wednesday, 13 July 2016

What is proof of concept in software development?

Proof of concept is a term that is often used especially by startup people and refers to methods to assess the viability of one's idea.

For example, you can come up with an idea to create an app for cyclists. But are you sure that cyclists want it? Are you positive that they are willing to pay for it in a way you specified? You don't. Therefore, you ask your target audience, you create MVP (Minimum Viable Product, a minimum version of your future full product) and test it.

OK. What is the difference between proof of concept and proof of concept in software development?

Proof of concept in software development also refers to tests. But this time it's more about finding out whether the idea is viable technically, not in a business context. You may know that your idea makes sense business-wise. But can it be achieved in an optimal way. Can you developers build it an acceptable price and in an acceptable time. That's what proof of concept in software development is all about. You can find a more detailed article on this topic proof of concept in software development,

Speaking of proof of concept in software development and JavaScript, have you already checked this test web browser from Microsoft - the JavaScript Browser.

Tuesday, 12 July 2016

New back-end for React apps

Interesting new offering for React.js developers out there.

Nova is introducing itself as a "new kind of back-end for React apps". It aims at removing the necessity of recreating repeatable functionalities such as comments, user accounts or forms every time you work on a react.js app.

There are a lot of great apps. They may have different topics, but if you look at them closely, you will notice that they are as a matter of facts the same thing as far as technicalities go.

That's what Nova creators noticed and that's why they created the new offering. It runs on top of Meteor and MongoDB.

What does it have exactly and how it works? You can learn all that here.