I'm Andrey, a frontend developer from Moscow.
Excited to announce that Deveo.com have welcomed me to join their team.
I've always preferred product companies over consultancies because fostering own product with love and care appeals to me way more than working in someone else's products and switching them regularly. Deveo is even more exciting: it's a web service built by developers for developers!
How it all started for me
I made my first steps in web development about eight years ago. I'd been studying Arabic in the Moscow state university of foreign affairs, and while my classmates were reading Mid-Eastern newspapers and discussing modern history, I'd been hacking together a torrent tracker for my neighborhood LAN. I guess my brain's just too technical for politics!
So I proceeded to a degree in computer science and at the same time proceeded to work as a system administrator and webmaster. I built a few sites with a CMS and realized that coding gave me more joy than administering websites, so I focused on developing CMS themes, which kicked off my frontend career path.
HTML/CSS development included a lot of visual design, but my true passion was coding, so I got more and more involved with JS, jQuery and jQuery UI Widget Factory — a way of organizing code which later turned out to be surprisingly similar to Ember components. Then I switched to developing frontends in various Rails projects. Leaving the CMS land was a happy step to make.
Focusing on EmberJS
In Russia, there's a widespread opinion that a developer must be versatile and not a prisoner of a single technology. I followed this idea passionately and in every subsequent project, I used new libraries and frameworks.
I've fiddled with all major frameworks of the time (except Meteor: I rejected it due to its monolithic/monopolist infrastructure) and had read in detail about most lesser known frameworks. I developed commercial projects with Backbone, Knockout and Angular and was going to use more.
At first switching frameworks was quite exciting, I learned a lot and built my developer profile. But eventually an uncomfortable feeling grew in me: I started realizing that every time I quit a project I left its codebase in a neglected condition. Not being very experienced in any of the frameworks I used, I made newbie mistakes and experiments, and my former employees must've had a hard time finding developers to pay my technical debt.
So I abandoned the idea of developer versatility and instead decided to focus on a certain technology. My goal was to become a true professional who knows his tools in great depth, who can be proud of his work and produces quality result — both from end user and codebase perspectives. My priorities shifted to long-term projects.
I did a comprehensive comparison of all available frameworks. I devised a number of criteria and gave each of them a certain weight. When I finished the comparison, EmberJS won with a huge advantage.
I started using EmberJS professionally at the time it dropped metamorph tags, around version 1.8. Even though it was hard to adopt Ember at that time due to lack of a clear learning path and frequent breaking changes, my life drastically changed for the better: I started enjoying work as never before, and at the same time I could deliver more and faster and with better quality.
Being part of an open source community
I'm not gonna go into detail why I prefer Ember: there are many articles on this matter on the web explaining Ember benefits over React, Angular and the "make your own framework" approach.
What I do want to emphasize is the Ember community. It's large, active and friendly. What really amazes me is how everyone is on the same page most of the time, thanks to Ember attracting developers who share a common way of thinking.
The ecosystem is fantastic as well: there are tons of add-ons and they are all built to work together. Ember lets you focus on your product's business logic and features, rather than technical boilerplate.
In the Ember community, it's so easy and rewarding to give back, make your own contribution. I've built a few add-ons and there's no better feeling in the world than seeing them being starred and used in apps.
Here in Russia, Ember is the least popular of major frameworks, so I focused on popularizing it by participating in meetups, podcasts and drinkups. The most common reaction to Ember is that people just won't believe it has so many advantages and so few disadvantages.
One thing that Deveo has hooked me on is that the team demands that I regularly contribute to their (our!) technical blog and open source profile. That's probably the most enjoyable of responsibilities, don't you think? ^_^