We have been pinged a lot lately about GIS applications — particularly at integrating GIS-based technologies (e.g. ArcGIS Server) into an application.
The strange thing is that the requests have all been for “GIS Developers” to the exclusion of non-GIS developers. To be frank, we’d rather have a hot developer that hasn’t done GIS than a pure GIS developer. The past GIS development that I have seen others do has been related to pretty advanced GIS — workflows, feature extractions, deep analysis, etc. Valuable capabilities for sure, but these are pretty domain-specific and niche needs. Application development is far broader than a specialized polygon analysis and it shows. Every time we hand a GIS-centric developer a problem we get a GIS-centric answer. It isn’t the GIS expert’s fault — it is what they know.
Perhaps our exposure is a bit different from others, but we have found that we get far better results in taking a good coder and having them learn GIS than taking a GIS-centric coder and teaching them to be better coders.
The apps that require heavy GIS are certainly out there, but the majority of today’s apps are pretty basic — it’s the coding capabilities that matter more.
Take the building of a situational awareness applications. These are the absolute toughest ones. Many simply do not understand GIS and its intricacies. User’s are intelligent people, they just don’t want to have to know all the minutiae of the GIS technology behind what they want — they want answers to their questions and in their context. When you talk projections, spheroids, datum, attributes, and other GIS terms they just glaze over — much as a GIS developer will glaze over when they hear about “senior leadership’s needs” and “decision support”.
An excellent team will use GIS to meet the business need — they will hide the complexity and make the solution almost magic. The folks relying on the GIS in the background want to know that they can trust what they are seeing, but they don’t want to know all the magic that went on behind the scenes. The key here is understanding what information is needed. In the case of a Situational Awareness tool, what information do they need and what format should it be in so they can best understand it.
So our advice to a few people of late is go out and get some solid coders — you can fill in the GIS, or even “mapping” gaps as we go along.
Focus on the user experience and you’ll go a long way. Focus on the business need, the business user, and expose as little complexity as you can.