This Cyber Monday Tuts+ courses will be reduced to just $3 (usually $15). Don't miss out.
It's truly a unique and interesting experience to watch someone transcend from one community to another with little to no issues. In this case, we're talking about Elijah Manor who successfully worked to build his reputation in the open source community while still maintaining his strong presence in the Microsoft world. He has the best of both communities at his disposal, now able to leverage his cross-platform expertise into a new life-changing role with Pluralsight.
We managed to snag some of Elijah's time amidst the many projects he has going on to learn about his new direction and how Microsoft has impacted his development views.
Q You left a pretty comfy role at appendTo. What are some of the challenges you're finding now as a freelancer?
I used to tell myself I'd never start my own business, but it came to a point where going out on my own just made sense.
The time I worked at appendTo was great. I learned a lot and was privileged to work with a great and talented group of developers. While I was there, I participated in several consulting projects, architectural reviews, worked closely with Microsoft on some interesting projects, and led several front-end web development training classes.
I left appendTo to try to focus my time primarily on the training, since that is what I've become passionate about over the years. I enjoy blogging, teaching, writing, and speaking and I wanted to try to find a way that I could do those full time. I used to tell myself I'd never start my own business, but it came to a point where going out on my own just made sense.
Some of the main challenges I've faced thus far are trying to figure out how to start a business, how I go about paying business taxes, getting personal health insurance and dental coverage, and things like that. I've always relied on an existing company to provide or do many of those things for me. This is a brand new world that I'm slowly trying to figure out. Thankfully, I have a great financial counselor, lawyer, and CPA to help me navigate these uncharted waters.
Q Focusing almost exclusively on Pluralsight is a gutsy move, especially since its author income model seems to be a long-tail revenue play. How do you envision turning your courses into a sustainable revenue stream and how long will that take?
I have a wonderful wife and three lovely children and it's a huge priority for me to make sure I can provide for them, so before leaving appendTo I wanted to make sure we could handle this transition. It is true that Pluralsight pays royalties to their authors for how much of their courses' have been viewed, however, they also pay the author a completion fee at the point when their course is published.
I've agreed to do at least 6 courses for Pluralsight which should get me close to the end of the year. After I finish the 6 courses my hope is that there will be a steady stream of royalties, but there is a risk on exactly how that will turn out. I will then reevaluate where I need to focus. I would like to continue making courses for Pluralsight, although I will most definitely need to slow down the pace some. I'd like to eventually start focusing on making my own content for on-site and remote trainings, but I'm not quite sure how that will play out. If I'm not making traction with any of these ventures, then I may start doing hourly work with a consulting company to help provide some consistency and stability.
I wasn't sure how the series would go over when I first thought of the idea. I liked the idea and this is my type of whimsical humor. Up until recently many of my blog posts and talks haven't shown my personality and I wanted to try and switch things up a bit.
The blog series was really an attempt for me to make a new talk at a steady pace. Usually when I make a new talk I invest a lot of time working many nights right up until I present the session for the first time. Instead, I wanted to have a blog series that I could continue steadily and then string them together to make a new talk. The nice thing about this approach when speaking is that I can also add, remove, or swap items from the blog series depending on my audience and the amount of time I have to present.
Generally, I have gotten positive feedback on this particular series in that it was clever, easy to search for on the Internet, and that there was a lot of helpful information. I've also received some negative feedback in that I was stretching the analogy a little too far, but that is totally understandable and I can see that viewpoint. My main goal was to create a semi-interesting storyline that might be memorable, fun, and informative at the same time.
If you look closely, you'll also see an interesting trend among front-end web developers to move away from jQuery altogether and to instead start using modern browser APIs.
Over time I've continued to narrow my focus to what interests me at the time. I mainly picked up jQuery because I started to learn ASP.NET MVC before its official 1.0 release. I would read Phil Haack's blog and notice that he used jQuery to help with his Views. It was then that I started to learn about the ins and outs of the library and is when I began to engage with the community.
Once I started working at appendTo, I was placed on several projects that challenged us on how to structure and architect large applications. jQuery was still a large part of our project, but in order for us to address the needs of the project, we needed other constructs and patterns to assist us as well. At first we came up with our own organizational techniques, but when we eventually moved towards making jQuery UI Widgets and then picking up Backbone.js and RequireJS to aid our development.
If you look closely, you'll also see an interesting trend among front-end web developers to move away from jQuery altogether and to instead start using modern browser APIs. Although this is doable with modern browsers, I don't see the vast amount of developers going this route, at least not anytime soon. However, what I am seeing is a lot of developers moving to adopt AngularJS, which natively doesn't depend on jQuery, or other MV* frameworks. If this trend continues, then I do see the overall usage of jQuery decreasing over time, but it is hard to gauge how quickly and over what duration.
With that said, I still think jQuery is important and that developers should know how to use the library and to understand what is really going on, which is why I've worked on two jQuery specific courses for Pluralsight entitled Fixing Common jQuery Bugs and soon to be published "jQuery Tips and Tricks" co-authored with Dan Wahlin, which will be listed on my Pluralsight profile once it's live.
I briefly touched on this, but I do encourage you to pick up other tools for your toolbelt. For example, pick any of the MV* frameworks and invest some time learning one of them, whether it be Backbone.js, AngularJS, Ember.js, etc...
Q You're a bit of a cross-over star in that you've bridged between your Microsoft .NET background into the OSS-based web development community. How has your experience with the Microsoft stack affected your development when shifting to OSS tools?
Well, I'm just this guy who likes to learn and to share that with others. I started using ASP.NET WebForms many years ago when I worked at Acxiom in Arkansas and then I eventually moved to Nashville, TN to continue to work with .NET technologies. As I mentioned previously, jQuery only came to my attention when I started to use ASP.NET MVC. At that point, I was slowly introduced to the broader non-Microsoft community. In some ways it was a shock, but in other ways it was not. I was used to pretty good documentation by Microsoft and that their tools and libraries just worked well together. However, documentation can be lacking in many OSS projects and it can sometimes be hit or miss whether an OSS project will "play nicely" with another project. These are over generalizations and there are numerous exceptions to both of these statements. What I'm actually seeing is that both worlds are starting to meet in the middle, which is great for all!
Q In some circles, building off a Microsoft stack is looked down on, which I think is a load of crap. If you could chat with a non-MS web developer, what would you tell them about your experiences with the MS stack compared to OSS stacks?
The thing that I like about the MS stack is how much effort Microsoft puts into making them work well together. There are exceptions of course, but it's in their best interest that they work together and you can tell a lot of effort has been invested in that. What has most encouraged me about Microsoft in the last five years is the amount of focus they have put into OSS and how transparent they have been on many projects and tools. In addition, many of the new services and frameworks they are making provide extension and integration points, allowing developers to tie into well known non-Microsoft technologies such as Git and Node.js for example.
Q You've recently become an "IE userAgent" which is similar to many MVP-style programs. Can you tell us what this about?
The IE userAgent program is a new program that was started several months ago. The agents are a group of developers who love web standards and are passionate about web technologies. You will probably see us around in various developer communities across the web trying to promote cross-browser coding best practices and encourage and assist developers as they run into issues or roadblocks.
Much of the negativity towards IE is usually targeted towards oldIE (IE6/7/8). IE9, IE10, and especially IE11 have really done a much better job on focusing on web standards and in many cases, as long as you follow many of the best practices, IE9/10/11 will just work. There are gaps in functionality as you can see from Can I Use, but for many of those you can utilize Modernizr and use a Polyfill or Shim to bridge that gap.
I would say that IE userAgents aren't sold out for IE. Many of us actively use other browsers as well. We, as a group, want to see IE continue to move forward, we want to see websites work everywhere, and we want to make it easier for developers to do their job. Modern.ie is a great initiative, that the IE userAgents stands behind, and provides tools for developers to make it easier to test and debug their applications in oldIE as well as provide a nice tool to analyze your site for common coding problems.
Q The "IE userAgent" program is obviously focused on Internet Explorer. How has this affected your usage with competing browsers like Chrome or Firefox?
As a developer, I enjoy the Chrome DevTools a lot.
Being an IE userAgent has encouraged me to use IE10 more than I did otherwise, which is great, because I've been able to provide feedback to Microsoft about the things I like and also areas where I would like to see improvement.
You might find this strange, but I personally use Google Chrome as my primary browser. At the same time, I want Internet Explorer to succeed and I think it's important that developers don't code themselves to only one browser or rendering engine.
As a developer, I enjoy the Chrome DevTools a lot. They move very quickly and I use the Canary build because I want the latest stuff now. With that said, I've been very impressed to see all the great work that Microsoft has put into the recently announced IE11 Developer Tools) and I look forward to watching those tools get even better. It's in my best interest to have multiple browsers on my machine and to be able to use them to their fullest as I develop applications and teach others how to do so as well.
Q Where do you feel Microsoft is really doing well and what are the things you feel they could improve on?
I have really enjoyed the transparency of the Visual Studio and ASP.NET teams in how they progress and communicate, not only in the public, but also among the Microsoft MVP and ASPInsider programs. Over the last several years I have participated in those programs, they have been very open about our feedback, have included us in their direction, and have enabled us to feel as we are guiding the future of those tools and libraries.
However, with regards to Internet Explorer, I would say that transparency is also an area where Microsoft could improve. IE has thankfully changed a lot in terms of adopting web standards, having a renewed focus on performance, and pushing the web forward. The area that seems opaque is what features might come out in the next release of Internet Explorer and when those features might be released. This is easier to track with other browsers since they have weekly, daily, and nightly builds accessible to developers. Developers expect a new release of Internet Explorer at best only once a year. Those are some of the frustrations that I see in the developer community. I understand that Microsoft's model is different from their competitors and I imagine that comes into play with many of these decisions. I don't know the answer to this riddle, but the great and encouraging news is that with the introduction of the IE userAgent program, I have seen topics like these being seriously discussed and I have seen progress being made.
Q I've always wondered this. You tweet at all hours of the day, so obviously you're buffering tweets (or you're a vampire). How do you decide what you want to send to your followers and what are the tools you're using to manage this?
There have been several times where I've said that I would stop tech tweeting for one reason or another, but in the end I keep coming back.
Yeah, I am not physically tweeting all the time. If that were the case, then I wouldn't be able to get anything done. I first started tweeting tech related articles because I was already scouring the web for new tech news and thought I'd start sharing those on twitter. I did most of my research in the early morning and then I'd tweet them all out, but soon found that was annoying some of my followers. So then I wrote a desktop program to schedule my tweets so that I could make the information more digestible. Since then, I've used other online systems to schedule my tweets and I currently use Buffer which works really well for my needs.
When I first started sharing tech tweets the quality wasn't as high as they are now, but unfortunately, I didn't realize that at the time. I was pushing out numerous "Top 10 jQuery Plugins" types of posts, that tended to be popular, but really didn't have much substance to them. In addition, the more I've learned about front-end web technology, I've been able to better identify what is valuable and high quality.
There have been several times where I've said that I would stop tech tweeting for one reason or another, but in the end I keep coming back. It really has become a part of who I am and what I do. I enjoy knowing the latest and greatest tools, tips, and technologies in our field and I also enjoy sharing those with developers that are interested. So, tech tweets are a natural extension of what I am already doing and is a way I can be involved with our community. There are many other avenues to get this information. A great list of resources of how you can keep up to date with various front-end technologies can be found at the Front-End Rescue.
So now that we know that you're actually human and not a non-stop tweeting robot, we want to thank you for sharing this great info and wish you great success with your new endeavor!