Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Dev of the Week: Ajitesh Kumar

DZone's Guide to

Dev of the Week: Ajitesh Kumar

· Java Zone
Free Resource

Just released, a free O’Reilly book on Reactive Microsystems: The Evolution of Microservices at Scale. Brought to you in partnership with Lightbend.

Every week here and in our newsletter, we feature a new developer/blogger from the DZone community to catch up and find out what he or she is working on now and what's coming next. This week we're talking to Ajitesh Kumar, Principal Architect with Evoke Technologies and avid contributor to our HTML5 Zone. Some of his most recent posts on DZone include:

1. What have you been working on lately?

Of late, I have been working on different aspects of data science with primary focus on gaining expertise with R programming language, different machine learning algorithms and, mathematics and statistics fundamentals. That said, I have also been continuing my research on different Javascript frameworks including AngularJS.

2You seem to identify mostly as an expert of AngularJS. What are some of the most enjoyable and least enjoyable things about coding for AngularJS? Where do you see AngularJS development going in 2015?

Some of the cool things that I liked about AngularJS are following:

- 3Ds which means Dependency Injection, Directives and Data-binding (two-way). When taking training sessions on AngularJS, these are the topics that were found to be appreciated most, by the attendees. Two-way data binding along with custom angular directives seemed magical for them as they saw cool things happening with very less code. For example, writing in a text field updates the text on UI with minimal coding. Also, directives along with templating makes things so very re-usable. It is like write once (directives with templates), run anywhere (in different ng apps).  

- Routing & Single Page App: Other cool concept in AngularJS is about creating single page apps. Based on routing concept, AngularJS makes it so very easy and quick to create single page apps.

- Unit testing: One of the most powerful feature I would consider for AngularJS is ability to unit test your Angular code.

Following are some of the areas where AngularJS could improve:

I do not dislike anything in particular with AngularJS. However, one thing that I have noticed with Angular beginners is the steep learning curve. UI developers, on an average, do not get it in the first shot. One other thing that I would have loved to see in AngularJS is advanced routing where one could load views within views without full page load. I eventually found this feature with AngularUI project (http://angular-ui.github.io/). Other thing I craved to find in AngularJS was support for UI widgets. However, I could understand that this might not have been the focus of NG developers. No worries on that. I could find the support from AngularUI. Also, there are projects such as KendoUI which has support for AngularJS.

Following is what I could imagine as some of the features coming in AngularJS in 2015 and later:

- Further support for Mobile development (Ionic framework, used for creating hybrid apps, has been using AngularJS extensively)

- Enhanced routing 

- Some support for UI widgets (Or else, AngularJS may end up becoming premium choice for eventing framework and, people would look elsewhere for UI widgets(such as KendoUI)

3. Are there any particular developer tools or resources you couldn't live without?

One tool that I have got hooked to lately is Sublime Text Editor. Of all the cool features that it support that enhances developers productivity, my favorite one is related with ability to write custom snippet. As a matter of fact, I would also recommend it to AngularJS developers who could download the Sublime package from https://github.com/angular-ui/AngularJS-sublime-package and enjoy the AngularJS programming with enhanced productivity. In general, I would like to recommend it to every web developer.

4Do you have a favorite open source project (or projects) that you've contributed to recently?

I generally keep a tab on open source projects by Google, Facebook, Twitter etc. However, that said, one of my favorite ones in recent times is project related with Angular UI (http://angular-ui.github.io/). One other project that I have been watching very closely is MeteroJS (http://github.com/meteor/meteor). Also, recently, I made one of my personal AngularJS projects open-source on github, namely QuizApp (http://eajitesh.github.io/QuizApp/).

5Do you follow any blogs or Twitter feeds that you would recommend to developers?

Generally, Youtube.com is my first place to start learning any topic. My favorite channel on YouTube is Google Tech sessions. Websites that I follow regularly are dzone.com, info.com etc. I also follow Google developers and testing blogs on regular basis.

6Did you have a coding first love -- a particular program, gadget, game, or language that set you on the path to life as a developer?

I started my career as a Java developer back in 1998. And, the cool thing about applet programming in Java, in those days, got me hooked to programming in general and Java in specific. In later years (and also as of today), PHP along with Java kept me going strong with programming. Recently, JavaScript frameworks such as AngularJS has been on my favorites list.

7Is there anything else you'd like to mention?

One of my favorite topics in recent times has been code quality. In this relation, I got hooked to tool such as Sonar and have been helping different teams with that. I have also been taking several training and mentoring sessions on topics related with code quality, Java, application security, JavaScript frameworks etc.

Thanks Ajitesh!

Strategies and techniques for building scalable and resilient microservices to refactor a monolithic application step-by-step, a free O'Reilly book. Brought to you in partnership with Lightbend.

Topics:

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}