Upload
talentbuddy
View
213
Download
0
Embed Size (px)
DESCRIPTION
A great developer is worth 10x times more than a mediocre one, so if you can convince your boss that learning Ember will make you a better developer, then it’s a no-brainer for her/him to finance your learning.
Citation preview
Dear Boss,
Companies like Square, Yahoo, Groupon are going out of their way to
deliver the best user experiences to their users. To do this, they are adopting modern technologies and development
patterns that allow them to build better products, faster.
If you want to stay competitive as a company, your team needs to be on
top of these new technologies and know how and when to use them.
By today’s standards, a great user experience can only be achieved by
meeting the following requirements:
1. A modern front-end
2. Fast product iterations
3. Developer joy
Let me share what I mean by that.
Page ! of !1 6
1. A modern front-end
A modern web app is very fast and feels almost like a native desktop /
mobile app. It can load data very quickly from remote APIs and
responds to user actions by refreshing only the relevant sections in the
page, rather than refreshing the entire web page.
To be able to deliver fast performance and rich interactions, your team
needs to leverage modern concepts like:
• client-side templates and data binding
• front-end routing
• data models connected to REST APIs
• web components
Most modern front-end frameworks implement these concepts using
their own specific conventions. Once the team masters these concepts, it
will be easy for them to pick up any new framework that they want.
Ember is one of the more popular frameworks and has been adopted by
a lot of influential companies lately. But Ember is not only a great
framework for large companies, it is also great for learning and
mastering front-end development. Here are a few reasons why:
• It has very strict opinions about how these concepts should work
together. Ember is built specifically for complex web
applications and your team can learn a lot from the design
decisions that are built into this framework and actually use
Page ! of !2 6
them in your own products.
• The makers of Ember run a consulting company and build
projects using Ember every day. This is very important, because
they feel every pain that developers feel when using the
framework and are very quick to integrate the best design
patterns into the framework. We have an opportunity here to
benefit from the knowledge that the Ember core team gains from
their consulting projects.
• Another aspect is the command line interface of Ember. It packs
state of the art tools that make development a joy:
• blueprints for common classes
• a very fast build process
• mock servers to simulate network requests while the front-
end is under development.
Again, there is a lot to learn from all these tools and you can use the
ones that you like.
By learning how Ember works, I am confident that your team can then
easily pick up new technologies.
For example the team can learn React Native, to build native mobile
apps using JavaScript.
They all use the same concepts and Ember teaches us some great design
patterns that can be used to build complex, maintainable apps.
Page ! of !3 6
2. Iterate your product really fast
A product will never be perfect on first release. You need to have the
ability to iterate really fast and adapt to customer needs. And this
really depends on how your team designs and writes the code.
Ember is known to help developers build and iterate complex projects
really fast and I think that your team can learn a lot from this
framework.
“Choosing an opinionated framework has really paid off, since we can
easily move developers between projects; they immediately know how to
start contributing and the proper patterns to follow. [...] I
underestimated the benefit of having a framework comprised of objects
with extremely clear roles” — Mike North, Principal UI Engineer & Engineering Lead at Yahoo
“For us, the biggest unexpected benefit has been leveraging Ember’s
framework conventions to just get work done.” — Allen Cheung, Engineering Manager at Square
3. Developer joy
“Our initial reason for moving to a new technology stack was rapid
iterations. But the one which we hadn’t considered was developer joy. [...]
Page ! of !4 6
Developer joy wasn’t the initial reason we set out to go with JavaScript
and node, but in retrospect I think it’s the most important. Our
developers are now extremely passionate and excited about what they are
working on. This is resulting in better products and experiences for our
customers.” — Jeff Harrell, the Director of Engineering, Business and Payments at
PayPal, talking about their migration from C++ and Java to Node.js.
It’s easy to understand that the happier the team is while coding, the
more motivated it is to do a great job. You need to always be thinking
about how to improve your development processes and make them more
enjoyable. This is also something that you can learn from Ember.
Considering the above points, I suggest that it would be beneficial for
any of your team members involved in front-end development to take a
course on Ember.js and I would like to kindly ask you to support them
financially.
I’m not saying that you need to migrate all your products to Ember
tomorrow, but you need to get a good handle of the best tools on the
market, so that you can:
• incorporate the lessons that they teach into your existing
products
• use them in your next projects
• rewrite critical parts of your products using the best tools for the
job
Page ! of !5 6
Thanks for your consideration, Andrei Soare, Co-founder Talentbuddy
Page ! of !6 6