Teaching an old dog new tricks: Dojo

Over the last two weeks, I've been waist deep in what has been, for me, a completely new client side development platform.  We have several projects underway at present that leverage Dojo as the framework for rich client GeoWeb applications and, simply put, we've got more Dojo work than our two resident experts can handle at present.  Time to roll up my sleeves and learn something new!

Media_httpbriannoylef_jfbwg

Since I'm a botanist by training, and not a classically trained programmer by any stretch, I don't typically look at a new technology and say "Gee Whiz, this looks an awful lot like <pick your poison> that I learned back in University".  I've got sort of a free form learning process that works for me, and usually get's me up and running and useful in a relatively short period of time...a matter of days if I have examples and a pattern rather than weeks.  And after doing this for 10 years or so, it seems that you still can teach an old dog new tricks.

Read the rest of this post »

Getting yer' Agile on at a discount: Upcoming course

Come on out and join us to drink the agile kool-aid, take your agile medicine, learn what agile can do for your team or organization, or have a skills refresher for experienced agile practitioners.

Media_httpbriannoylef_hlygt

Dave Bouwman and myself will be collaborating to give a one day Agile Project Management training seminar on Friday, June 26, 2009 near Denver, CO.  This course will cover both project management practices and development/engineering practices.  We'll begin with an introduction to agile practices and rapidly progress to specific methodology examples (Scrum), cover roles and responsibilities, project controls, and how to scale the agile process in your organization.  In addition, we'll introduce specific software development processes that mesh well with the agile process including automation for code documentation and unit testing, design patterns, refactoring tools, and automated builds and continuous integration.  Throughout the course we'll give you specific examples, the good, the bad, and the ugly, from our own experiences using the methodology in our shop.

Read the rest of this post »

Fun with Dojo filtering selects

While the Dojo JavaScript libraries are really an excellent resource for building rich internet applications (RIAs), sometimes Dojo just makes things harder than they have to be.  Last week I was working on public map viewer, based on our custom implementation of ESRI's JavaScript API starter kit,  for one of our clients.  The site is really pretty basic in terms of functionality with one of the tools allowing the user to configure and execute a multi-criteria search for information and have that information displayed on a map.  The user interface looks something like the following screen cap:

Media_httpbriannoylef_zdezh

In this user interface example, the combo boxes for counties and cities are Dojo FilteringSelect controls.  The FilteringSelect extends the typical html drop down so that you get an intellisense/autocomplete of sorts when the user starts typing in the combo box.  In addition, in the event that the user types a value rather than using the drop down list, the FilteringSelect will validate manual text entries to ensure they are in the select list.  All of this prevalidation is important because it allows us to reduce the potential for errors in searches by constraining the user's input to a list of valid values pulled from database lookup tables.  It's a pretty neat little control...until you have to clear it.

Read the rest of this post »

Calling all Silverlight and dojo gurus: Hiring again

That's right, DTSAgile is again looking to expand our team building next generation RIAs and GeoWeb applications in our Fort Collins, CO office.

Media_httpbriannoylef_bcafm

As we have a backlog of projects that use diverse technologies, we're looking for an excellent developer with one of the following skill sets.

SL, EF, ADO.NET Data Services

If you have bona fide project level experience with Silverlight 2, Entity Framework, and ADO.NET Data Services or NHibernate, DTSAgile wants to talk to you.  We are not looking for an entry level developer or someone who can learn on the job, we are seeking developers who have real world experience implementing this technology stack.  We're looking for someone who can make an immediate impact, show us how this stack should be implemented, and tell us how to avoid the pitfalls.

JavaScript, Dojo, CSS, etc.

Alternatively, if you have mastered the zen of dojo, JavaScript, CSS and all things client-side we'd also like to receive your resume and review your credentials.  Actual project experience implementing mapping technologies using ESRI's JavaScript API including the starter kit will be reviewed favorably. Again, we're not looking for entry level folks here...you'll be asked to come in and put fingers to the keyboard relatively quickly out of the gate and show us what you've got.

Other fun stuff you should grok

  • Agility. No, you don't have to do backflips or crazy stretches in an interview setting. As our name implies, we're a group of consultants pretty committed to Agile processes on our projects.  At minimum you should have some background knowledge regarding Agile and an interest in working on an Agile team
  • Favorite patterns. ASP.NET MVC is high on our list of happy shiny things that we like to work with.  Many of our projects are and will continue to be architected with ASP.NET MVC in the mix.  Real world project experience with it will be be reviewed favorably.
  • Unit testing.  We're big on tests...lot's of 'em.  Some of our projects are run in TDD fashion while others have a test-late lifecycle.  Regardless, we unit test everything that goes out the door thoroughly.  NUnit, MBUnit, TestDriven.net, mocking frameworks such as Rhino mocks, and IoC/DI principles should all be on your resume.
  • The Geo.  We primarily target mapping related projects so exposure to GIS, the GeoWeb, etc. in the form of the ESRI product stack, VE, Google Maps, Open Layers, Geoserver, Mapserver, PostGIS, etc. will be viewed favorably but is not required.
  • Information exchange and social networking.  We're software architects and developers, and we're also bloggers, presenters, and participants in growing social networks.  Run a blog? Participate in Twitter? Grasp the finer points of presentation zen and really good Powerpoint? Great, you'll fit in just fine.
Still interested?  Drop a line to myself or Dave and we'll have a gander at your qualifications and see if you might be a fit for our current needs.