USC Dornsife Spatial Sciences Institute

Blog

Spatial Application Development and Mobile GIS

Dr. Jennifer Swift, Andy Gup and Matt Sheehan discuss the Spatial Application Development and Mobile GIS track in the online Master of Science in Geographic Information Science & Technology (GIST) program at USC. The panel is joined by recent MS GIST graduate Chris Weidemann to share insight on what he learned during his time in the program and how his graduate experience helped pursue his career.

Hosted by Jennifer Swift, Ph.D., Associate Professor (Teaching) of Spatial Sciences and Program Director of the USC Spatial Sciences Institute Esri Development Center (EDC).

Presented by:

  • Andy Gup, Developer Evangelist, Esri
  • Matt Sheehan, Principal & Senior GIS Developer, webMapSolutions
  • Chris Weidemann, M.S. GIST 2013, Director of Technical Operations, HydroGeoLogic, Inc.

Transcript

Robyn McNab:

Thank you for joining us today for information session presented by the University of Southern California Dornsife College of Letters, Arts and Sciences and the Geographic Information Science & Technology program. Today’s topic is the spatial application development track. Before we get started, here’s a little of what you can expect today. You are in broadcast only mode which means you can hear us, but we cannot hear you. You may feel free to ask questions by typing them in the question and answer box. We will attempt to answer as many questions as possible at the end of the webinar. A copy of the webinar and a recording will be available shortly after the presentation. Our host today is Dr. Jennifer Swift, associate professor of spatial science. Thank you for joining us today Dr. Swift. I’ll turn the webinar over to you now.

Jennifer Swift:

Hi Robyn, thank you very much. I’m very pleased to be here and I’m very excited about introducing our guests. Today we will be hearing from Matt Sheehan, and Andy Gup and Chris Weidemann about their experiences in the industry, as well as on the learning side. Today, the agenda topics will touch on include flexible web development and mobile GIS application development. We’ll talk about some of the really exciting developer skill sets and demand, career opportunities in spatial application development fields, and the spatial application development track and the GIS curriculum. And lastly, we’ll hear from our participants about online student experiences. So, first I’d like to introduce Matt Sheehan, who’s our principle and senior GIS developer from Webmap Solutions, Inc. in Salt Lake City.

Matt Sheehan:

Hello everybody. I’m just gonna step through just some bulletpoints on web and mobile GIS application developments. I’ll begin with some backgrounds. You can tell from my accent that I wasn’t born in the U.S. I wasn’t born in Australia either. A lot of people confuse my accent with an Australian accent. I’m actually from England. Did a B.S. in physical geography at London University and then to the states and based in Utah. Did a [inaudible] GIS at the University of Utah back in the 90s.

I’m a principle and founder of Webmap Solutions, a GIS [inaudible] company. We’re a silver partner with [inaudible], we do a lot of work with GIS. We do an awful lot of open source work as well. But our focus really is on – a lot of it’s on emerging GIS. Though we’re cloud focused, we do a lot of mobile applications, offline. So, we’re looking at the next phase of GIS, if you like. Mining insurance, utilities are important clients to us.

I’ll just talk about this briefly is we often have clients come to us all from the GIS who spend time with clients planning and understanding the problem, that’s the key. Spend time with data. We’ve got people in house who do [inaudible] databases and work with the data. The next phase is we work with flat [inaudible] server and that’s often GIS and increasing [inaudible] line and then we move to application development.

So that’s a bit of background on us. [inaudible]. I’ve aged myself, but I go back to the 90s with web development. Actually, before I mention that, in today’s word JavaScript and [inaudible] and the other speakers after me will talk a little bit more about this, but they’re the big demand languages at the moment. There’s increasing demand with the native languages, particularly java for the [inaudible] platform, projected [inaudible] and IOS.

But if we go back to the late 90s, the internet was just appearing, map objects and arch INS were two of the [inaudible] products which came out. And open source things like map server and GEO server. A lot of development then was doing with Visual Basic, JavaScript and Java.

Moving into the 2000s, we moved into a time where we were trying to build on the web desktop applications so flex, flash and Silverlight became very popular. Ajax was something on the JavaScript side as well, but we lived sort of in a plug in world in the web development side of things. That pretty much, I’m not gonna say it came to an end, but it lost its popularity around about 2011. Part of that was because of the advances in browser technology. The introduction of HTML5. But a key driver there was really Apple’s decision not to support plugins, so you couldn’t run a flex application on an iPad for example. And at that time, Adobe who runs flash and flex, decided to open source it.

So a lot of the web development world has really now moved more towards HTML5 and JavaScript. And that would be what I’ll be keeping a little bit more about as I move through these slides now. I won’t talk so much about [inaudible]. Andy, following me, is gonna talk a little bit more there and maybe Chris as well.

But if we think about web technology, we think about flexibility. What do I mean by flexibility? Web applications are relatively easy to build. JavaScript is – it’s not a big learning curve as some other programming languages. Web application themselves are pretty easy to maintain and distribute and put them on an apache web server and provide a URL and you’re good to go.

But very flexible, relatively easy to build. There’s a world in our development community that’s focused on JavaScript. There’s a lot of free tools and frameworks that are out there that can be used. Again, I know other speakers will talk more about these. The JavaScript API for RPIS is a very good example. It’s a very rich set of tools that are there. Web applications can be built sort of cross device cross platform. And there’s some real advanced functionality that can now be built into web application.

Some of that includes offline and 3D and anyone that has followed any of the recent [inaudible] conversation will be seeing that there’s a lot more talk about 3D and that’s 3D in a browser. So, there’s some really exciting and interesting things that are coming forward with web technologies. It’s [inaudible] very rapidly.

Talk about mobile. I mention cross-device and cross-platform, using approaches like responsive design and bootstrap, it’s now possible to build a single application which runs across devices. So, I can build a web application which looks on an iPhone, on a galaxy tablet, on a surface pro, windows surface pro or on a PCR laptop. So, it’s relatively easy for us now to build applications which run across all devices and all platforms. They run on iOS, they run on Android, they run on Windows.

So, some real advantages to building the mobile web applications. We sometimes get approached by clients who want us to build applications which are distributed in the various mobile stores, the Apple store or Google Play, where you can actually now generate a native like application which is written in JavaScript using PhoneGap or Cordova. And essentially what you’re building there is what’s called a hybrid application. So, you can build an application, a typical sort of arch GIS JavaScript application and you can actually convert that to something which will be hybrid application. Something that’s in store on the device and can be distributed on the various floors. So again, as a huge plus with developing applications using that type of technology.

Native versus web, I know that the native is an important part of the mobile world and the majority of applications that you’ll download from the various mobile stores were actually written in the native language. In the Android world that would be java. There’s always a conversation that we have with clients around why one would build a native application versus a web application.

There are very clear line – often there are very clearish lines on what defines an application that should be built in a native way or one that’s built in a web way. Those include if you’re working with live data sets, if very high performances is important to you. But you’ve gotta reach deeply into the device to reach some of the senses inside of it.

Those are all scenarios where a native application is probably better served than a web application. But again, web is advancing very rapidly, so there’s more and more things we can now do in a web world. But each use case is slightly different. So, any time we approach a particular application type, we have to think through these different needs.

I’ll finish quickly. I wanted to mention the sources. There was a very big summit in March, an Azure summit in Palm Springs, the developer’s summit. If anyone – if you’re interested in knowing more about what Azure has been doing and some of the new advances with arch GIS, it’s worth going to the Azure website and seeing some of the videos and reading on some of the talks that were presented at that, ‘cause there were some quite interesting things presented particularly this year. I think this year of all of the conferences I’ve been to in summit, this one probably stands out as one of the most important ones and there were a lot of conversations around native garment, a lot of conversations around web development and JavaScript. So, that’s a very good resource.

We can’t forget the open source world. I sort of started out developing GIS applications using open source technology, so things like GIO server we love. We also like [inaudible] and are familiar with the [inaudible] JavaScript [inaudible]. The last four years, it’s a conference, again I think that was in March of this year, an open source conference. Great resources. Some really, really good speakers there. One video that I think it’s worth mentioning this from last year’s [inaudible] do a Google search and it’s called how simplicity will save GIS and it’s a very well spent 50 minutes listening to the guy who actually wrote leaflet talk about how GIS is very complex and how you can break down complexity to chunk off the simple pieces to get things done. So, it’s something I dip into quite a lot and watch again because I always enjoy the video.

Just to finish up, we’re kind of living through a GIS revolution at the moment. GIS has always been technology, which is that with geographers and people who have a spatial awareness. So, we’ve always been our own little niche and we served a community which has an understanding of GIS. That’s changed. And it’s changed because it’s cloud and mobile. All of a sudden people have become aware of location and the importance of location, and people are asking questions about location, what’s around me, who’s around me.

So, we’re moving to a time of huge changes in GIS and they’re pretty exciting times, to be honest. And we’re not quite sure where we’re going to, but we do know that the technology is becoming much more important to private businesses and beyond just the local public sector. So, it’s really moving from the periphery to the core and so I think opportunities within GIS are ever expanding. I love GIS, so I encourage everyone to take courses in GIS and JavaScript, ‘cause it’s a wonderful technology and it’s only becoming ever more important. So, that’s me, thank you.

Jennifer Swift:

Thank you very much, that was wonderful. I really liked the history and everything about all the work that you do, it’s excellent. So next we’ll hear from Andy Gup, developer evangelist at Esri. So, Andy.

Andy Gup:

Sure, can you hear me okay?

Jennifer Swift:

Yep.

Andy Gup:

Can you advance the slide one, there ya go. I am Andy, of course and I’m a senior developer on Esri’s developer evangelist team. And I focus on our APIs for web mobile and native Android. And our team works with customers worldwide, so we cover a nice range from government to commercial, as well as startups. We bring this knowledge back for the core development team in terms of how they craft the application program interfaces, the samples, the documentation and so much more.

I also wanted to mention that developers, the website, the developers that ArcGIS.com is the place to go for information on Esri software development and developers.arcgis.com/javascript is a great starting point. That website has samples, it has getting started documentation, it has the interface documentation. Just a great place to get started and it’s a nice segue to my first [inaudible].

In terms of skimming the surface of developers skillsets that are in demand and as I mentioned this isn’t just the United States, this is around the world in terms of the types of things that you may wanna focus on if you proceed with getting into a master’s program like the one you’re looking at. And I recommend gaining experience with the web development languages HTML, cascading style sheets version 3, which is also called CSS3, and like Matt mentioned also JavaScript. And those are all for web development and also when working with geographic databases, I bet Chris and Matt would also agree that Typon knowledge is an absolute must.

As Matt mentioned, [inaudible] programming knowledge for iPhone and Android is hot, but I do recommend if you’re new to software development that web development is the best place to get started. Web development, of course, is for building applications that run in the browser. And those applications can run either on laptops, desktops or mobile devices. And the power of JavaScript is that you can write one application and have it run on just about any operating system.

In comparison to that Python is what we call a server side scripting language in that it runs directly on the operating system on your laptop or your desktop or a server and it doesn’t need a browser. Browsers have limitations in order to keep the browsing environment secure. And Python is great because of that it can more easily accessing modifying files on your machine, [inaudible] more efficiently and directly the databases and much, much more.

And I also wanted to mention on the topic that we’re coming out with a lot of new high productivity applications and one of these new applications is called appstudio. And it lets you build an application once and then natively deploy applications that can go on the app store, can go on Google Play, can also be on the Windows Phones. So, that’s well worth checking out. And I’ve also put a ton of work into templates. Templates give you a huge leg up with, essentially, pre-built applications where you can tweak the look at feel on them and really save yourself a ton of time.

And in terms of building applications, I talk a lot to customers and students about understanding the differences between mobile applications and desktop applications. Apps that are specifically designed for mobile have unique needs that you aren’t necessarily gonna have those needs if you’re running an application on your laptop or your desktop. And I’m sure just about everyone on the call views desktop apps such as gaming apps or PowerPoint and Excel. And keeping those in mind, compare that to the types of apps that you use on your phone every day.

But when you’re using your laptop, you’re typically sitting stationary and you usually have a pretty good wifi or Ethernet connection. But we carry our phones and tablets everywhere right? So, that portability is convenient on mobile devices does come with a bit of a cost that you have to take into account as a developer. The screen size is totally different. There’s less memory. The internet isn’t as reliable. There’s battery power limitations. The list goes on and on and on.

There’s also differences in terms of how people use mobile applications and there are user interface considerations that you may not have thought of until you start building applications for mobile, such as larger buttons because you have to click on them with your finger not a high precision mouse pointer. Mobile friendly navigation elements on the page. Mobile friendly styling and so much, much more.

But then I also talked to customers and students a lot about what we call application life cycle. And when you’re developing applications for mobile, there’s a really important concept, you may not have heard of it but it’s worth looking into where you have to pay specific attention to the order in which things happen. And when you load web applications, for example, you may need to load dozens of files over the internet. Native applications are built specifically for mobile device operating systems.

They have advanced ways to handle things such as when you minimize an application, when you rotate a phone sideways to view something. When you switch screens on the same app. And if things don’t happen the right way in web, or native applications, the application may not start or simply just may fail. And all these actions that we referred to as the life cycle it’s a way in which applications are created, in which they live on the device and also the way in which they die or are just destroyed by your code or operating system.

The next item that I wanted to touch on briefly was strong debugging skills is your success as a developer truly depends on the ability to figure out what is wrong with an application and to debug problems. And it takes time and it takes patience and it often takes persistence and curiosity. It’s not always fun, but it can also be hard and frustrating. You may even get an error message that makes no sense or things fail silently, you don’t’ get any errors at all.

But being able to sit back and break down problems into logical pieces is a skill that takes time to learn and I recommend to my students that – and we’re getting started learning that they should just take a perfectly good working example and just start breaking it. Change a line of code that’s a meaningless character and run the application. Like all things, debugging skills get better with practice and they certainly become easier with time.

And the last topic that I wanted to touch on and this comes up a lot in conversation and it’s a topic of discussion on all JavaScript form and there’s these things called web development frameworks and they’re getting a lot of attention. And in the last five years there’s been an explosion of what we call these frameworks. And just to name a few, what I’m talking about, for those of you that may have already started doing development or looking into software development I’m talking about Bootstrap, jQuery, Angular JS and the list just goes on and on and on.

And the point that I wanted to get across is these frameworks gives you building blocks on which to build applications. It’s almost like getting pre-built pieces of framing to create a house and you have to do is stand these pieces up in the right place, build them together, maybe put some paint on ‘em and boom you have a house.

So depending on what you need to build these JavaScript and web development frameworks save a huge amount of time and effort so that you aren’t inventing the wheel in many cases. And the last thing I wanted to make is that I always get at is how do you take the best framework? My recommendation is fairly consistent and it’s do basic research on your own and build very simple prototypes against the frameworks that you think will provide you with the most benefits.

If you ask around you’ll get many, many different opinions, but I always stress to students, it’s more projects, it’s your unique requirements and the decision really comes down to you to make an informed decision based on knowledge that you’ve gained. Even if a friend of yours says hey this bootstrap or this jQuery framework was fantastic, it was great for me, it may not be the best framework for you or for your project. So, I recommend tinkering with all of this technology and just getting your hands dirty and rolling up your sleeves and giving it a try and that’s simply the best way to learn. And I hope you find this information useful and I’ll pass it back and over to Chris.

Chris Weidemann:

Thank you Andy. Go ahead Jennifer.

Jennifer Swift:

Yeah, I just wanna introduce Chris, ‘cause he was a graduate, an alumni of the GIS program and he had some experiences with all of the programming classes. And also in his work he has some extensive experience that he can share with us today. So, okay, here’s Chris.

Chris Weidmann:

Thank you Dr. Swift. And thank you to Matt and Andy. It wasn’t too long ago, I was thinking back and I think it’s been about four years now where I was sitting as an attendee on one of these calls listening in. So, I know how much influence these had on me from the attendees to Andy and Matt, thank you for your time. Next slide please.

So, I have been asked to talk to you a little bit today about my time at USC, some of the projects I worked on, how they are relevant to the real world and the long-term impacts of some of the research I did. So, to talk a little bit about the life inside of the USC GIST program, I kind of want to start off by telling you how I got there and much like many of the attendees, I spent some time really researching and trying to figure out what was the best program for me.

And early on I had decided that three things that were really important to me was smaller class sizes, one on one opportunities with professors and also an opportunity to meet in person with peers and professors. And I found that that was actually really hard to find. There are a few other programs that compete with USC as far as their technical tracks, but I didn’t feel comfortable applying to any of the others, just because I didn’t feel like I was gonna get what I was looking to get out of a specific program.

And when I finally did apply and was accepted, I was very happy to see that I in fact did get all of that that I was requesting the smaller class sizes, the opportunities to be professors and really that opportunity to be mentored and to work directly with the professors in the industry.

So the applying process is pretty straight forward and once I finally was admitted, one of the things that I really appreciated is they took the time to really understand my previous experience, my work experience which to kind of give you a brief introduction, I was in IT for about 7 or 8 years before coming into this program and I had spent roughly a year of that, 7 or 8 focusing specifically on GIS. And I was pretty much self-taught up until that point. I had taken a few small classes from a local community college to try to understand things a little more technically, but I was pretty much self-taught before I applied. And they took their time to really figure out what I was looking to get out of the program and eventually we put together a curriculum that I think fit my needs very well as a student.

Once I took all those classes, I actually really enjoyed all of them. Three specifically that Dr. Swift is presenting here today were some of my favorites. On top of that, there’s also a few others that I thought were of interest and I thought people that are looking for a technical background would also enjoy specifically 585, which is the geospatial technology program management and project management, I’m sorry. It goes in line with a lot of the things that are taught in the development classes. You learn a lot about project management in general and you see how the development cycle can be applied to GIS in a project management setting, which becomes very helpful down the road.

And then also 587, which is spatial data acquisition was a great class that I wasn’t really anticipating to be one of my favorites, but it gave me the opportunity to work really closely with peers and the professors and it really formed relationships with other members of the program early on in my career, which lasted through to now even.

So, a little bit about the visualizing of social media. This is – when you take the classes initially, you are encouraged to pick a topic of interest, something that interests you and then apply the topics that you learn in a class or in the specific classes, apply those to that data set which is of interest to you. And so for me, the interesting point was geo-social data

So, from one of the very first classes I had decided that I was going to kind of focus my attention on geosocial. And so that actually started out with 586, which is the Python programming class. And in that class, I built a pretty basic plugin which allowed for the importing of Twitter data directly from the Twitter API into ArcMap, parsing all that information, analyzing it and then eventually displaying it in the few different ways.

And that was a great class, I learned a lot in that class. In one of the final projects for that class is to present a paper on the project you created. And one of the outcomes that I wasn’t necessarily expecting from that specific project was that it was well received by the professor and a few others that read it and eventually I was encouraged to submit that as a journal article. And I was walked through that process by the professor that was teaching that specific class. And actually with the help of a few others.

And I was very excited to see that with their help, that journal article was published in 2014 in the International Journal of Geoinfomatics, which really, I never expected that I would have a published journal article, especially only partially through my master’s program at USC.

591, which is also the web GIS class, I took that geosocial data and evolved that a little bit more and built a web framework for doing much of the same work that was being done inside of ArcMap. So, consuming social media data and analyzing it and then eventually displaying it. The big twist I had with 591 is I started to develop this framework that I eventually used for my thesis, which was investigating privacy concerns and geosocial [inaudible]__.

And then in class 592, which was the mobile class, I did diverge a little bit from the geosocial stuff and built a field collection application using the native Android API. And that was actually something that helped me professionally ‘cause I would still continue to work throughout this entire process. And so I looked for a problem that I had for work that I could solve through mobile development. And we have always had a hard time with field collection. And so I built an app that our teams actually still use today.

And so that kind of moves me into is this all relevant in real world, and obviously it is. If I can build something in this mobile class that is still being used today, I would say that makes it really relevant. And as you’ve noticed from Andy and Matt, the topics of Python and JavaScript continue to brought up as fundamental needs for any geospatial developer these days. And I was really excited to see as we got into those classes that these frameworks that Andy were speaking about are part of the curriculum and you’re encouraged to look into those types of things.

And then long-term impacts of my research, it’s been surprising to me to see that even two years later I’m still getting requests for feedback or people are contacting me to contribute to future research and I’ve even had employment offers because of the research that I did at USC. So, I expected that I would go through the master’s program, receive my certificate and then that would be the end of it. But two years later, and I’m still continuing to reap the benefits of the investment I made in the time and education at USC. And I guess that is my story, so I’ll turn the time back over to you Dr. Swift.

Jennifer Swift:

Thank you so much, that was great. And also you should mention that you were invited to work on a book chapter, right?

Chris Weidmann:

I was, yeah.

Jennifer Swift:

Yeah, that we’re currently revising right now. So, it keeps going on and on. It’s a great project.

Chris Weidmann:

Yeah, I’m really excited about that and like I said I can’t believe it just keeps coming. And that’s a year and a half, two years after I finished the program and professors are still contacting me for things like that. So, it’s been a great blessing in my life.

Jennifer Swift:

Yeah, and I should say that there was a lot of competition the year that you went up for the Esri developer center award and you won that award. And also the Robert Raskin mashup right?

Chris Weidmann:

Yeah, the mashup [inaudible], that was great. The only reason any of those even happened was because of the faculty at USC. They were all very supportive of all of those efforts and really helped me through them because I had never done them before. I had never submitted for something like that, but they helped me through that process and make sure that I was doing what I needed to do to possibly win and luckily I did, so thank you.

Jennifer Swift:

Thanks. Okay, next I’m going to talk briefly about your track and we can open up after this to questions about the track that we have at USC and GIS programming and customization, web and mobile GIS. These are the courses that we offer. First, I’d like to say that we assume since our program is so interdisciplinary in nature that students taking any of these classes have no prior programming experience. So, what we do is we believe that you learning to program is really gonna improve your understanding of your own use of GIS, as well as how you can interact with other people reusing GIS and other programmers who create the same kind of tools that you’re gonna learn to create.

So, we wanna help you become comfortable with some coding and how you can document what you build and your tools so you can share them with a crowd and that’s basically the goal of this track. So, in the programming and customization class, is the course about desktop programming skills and essentially we use the Esri suite. And we teach the Python programming language and again assuming that you’re coming into it without knowing at the beginning. And you’ll use it to develop customized GIS applications in your field of interest. And we also teach some of the tools such as developing add-ins and extensions and all of that is covered.

So, next I’d like to talk a little bit about our 591 Web GIS. This focuses on programming and learning how to do creative, innovative, web based mapping applications. For instance, even if it’s just to facilitate sharing and dissemination of your work in your field, we have, in many cases, the theses students decide they have a special topic, like a spatial analysis topic and then they decide, I also wanna disseminate this. I wanna create a web application. And we can also do that, or you can focus your entire thesis on the programming side.

So in the web GIS class, we’ll start with the scripting language, HTML and JavaScript. We also include jQuery and CSS. So, that’s at the beginning, and those are really essential for being able to go onto the next, which is embedding web apps in browser web pages. And in that, we cover both an introduction to Google maps, and then the arc geoserver JavaScript API. And we do that locally. We provide every student in the class with their own virtual machine with an RTS server machine to begin with. And that’s the comfortable zone. Getting you comfortable with using it and building some JavaScript applications.

And then after that, I’ll introduce you to how that works and spins up in Amazon EC2, because there’s all kinds of advantages, of course, in the cloud and that’s where things are headed. So, again you’ll learn to develop these applications and these are popular in open source proprietary platforms and APIs. We want you to learn the fundamentals of web GIS system architecture and advanced program topics, mashups, geospatial web services and give you some experience with web II technologies.

In 592, which is the mobile GIS, we cover fundamental programming concepts for mobile GIS development. A lot of what Andy and Matt and Chris were talking about. We do this using not textbooks but most recent online programming resources, including public discussion forums, the SDKs, which are software development kit tutorials, cloud based services, like parse.com or cargodb.com.

And this is such a rapidly changing world, we really needed to teach you where to find all of this information and find your programming and learn your programming techniques. Where are the libraries for the SDKs and how to stay up to date, not just now but as you progress in your career. So, in this class, everyone shares their projects, post to message boards. We do that in all the courses. There’s lots of discussion boards and interactions, especially in the programming classes it’s fun to see oh my classmate got that done, I can do it too and to help each other when need be. And especially it helps share when you find something really new and interesting that you’re working on.

So that’s the application development track in a nutshell. So, next I’ll had it back to Robyn or we’ll go on with this one, the spatial application development world. So, I guess what I’d like to do is ask Chris and Matt and Andy what do you think and you guys can just jump in – what are the job opportunities for someone with graduate work, course work in spatial application development? Like with things that we’ve been talking about here.

Andy Gup:

This is Chris, I mean I can try to answer that one. I mean I’m sure Andy and Matt have more experience than I do. We hire one or two analysts a year. Typically we’re looking for more of a hybrid role that’s both GIs and web developer. And I know that Andy and Matt hire more on the strictly developer side. But for someone that is constantly looking for that hybrid role, any type of technical experience, any type of course work that shows that someone wants to be technical or at least is interested in slaying that dragon per se, is very valuable to me as a hiring manager.

I am very aware that the industry is made up of mostly scientists and mostly developers. Not as many engineers as there are scientists. And that’s okay, that’s fine, that’s what our industry is. But you’ll find that many geoscientists eventually evolve into being an engineer. So, I’m looking for someone that is at least interested in that and that can fill some of that middle area, that jack of all trades that we tend to look for.

I know that we won’t always have applicants that come in with exactly what we’re looking for, but if they are at least somewhat technical and I can see that in their graduate program they were introduced to some of these concepts, I know it’s something that I can teach them in the future.

Jennifer Swift:

And Matt and then Andy too.

Matt Sheehan:

Yeah, I think I step through is sort of a typical engagement with a customer. I mentioned the fact that we’re always trying to understand the program and then you start with data. Really, the way that we organized our companies around those different keys that I spoke about, so no GIS applications is [inaudible] without good data. Once we’ve understood the problem, our first place to start is to look at the data. And we have people in house who are data experts. They understand how to build schemes, they understand data models. They understand what it means to clean things up, to make things more efficient. So the first group I would say data experts, people that understand the data.

The second group are really the platformer server experts. People who maybe can write Python, people who can understand – come on in the old days, it was understand not GIS server configure it and extend it. Today it’s more about the ArcGIS platform if we’re talking in Esri world. Do you understand the platform and can help implement ArcGIS online, can set up templates and do any number of different things on the platform side of things where the data’s stored and where the services are. And then web developers and a lot of our guys are web developers, so they build JavaScript applications. We do do some native work as well.

So, I’ve really got sort of three groups there, the data guys, the server people and then the web developers. They’re all important as one another. We probably have more web developers than any other groups. I think what’s common between all three of those groups is they all think spatially. So, we always look for people that have the background or understand special concepts. So, that’s key for all of those different groups.

Jennifer Swift:

Thanks, that was great. Andy?

Andy Gup:

Sure. Esri is hiring and if you go to www.esri.com/careers. And there’s all different types of software development where that’s where development position. I think the advantage with someone with a graduate degree in spatial application development is bringing a more holistic view, and I’ll explain what I mean by that in just a second, a more holistic view to doing geospatial development where some of us are traditionally trained in computer science like myself.

The holistic view is being able to understand ArcGIS server, being able to understand ArcGIS desktop and being able to understand geospatial data and being able to combine all three of those with spatial application development knowledge is basically a homerun for many of our software development position where just someone who’s coming from a pure development background and they don’t necessarily understand spatial development work, they’re going to have to learn many special concepts where someone like you would just go to the front of the line, you already have that knowledge and you’ve combined it with skills in terms of building GIS applications specifically. So, that would be my answer.

Jennifer Swift:

Okay great, thank you. Do we have some ideas or would you guys like to discuss the emerging trends that we’re watching now in mobile, web and desktop? I mean I see RTS online, RTS.com and the organization is really emerging. And we’re using those and integrating with those in that platform too in the classes. Other emerging trends?

Matt Sheehan:

I can give [inaudible].

Andy Gup:

Sure, I can –

Matt Sheehan:

– I wrote some things down here. I think the concept of a platform is not familiar to people and it’s something which now is key to the future of GIS, the ArcGIS platform. There are other geospatial platforms that are emerging. Understand what a platform is and what the ArcGIS platform, for example, what does that represent is important and that’s a trend. And I think a lot of people are not fully understanding exactly what that means.

In terms of other pieces, I want to mention widgets. We live in more of a widget based world and we actually love a web [inaudible] solutions of widgets, so we can build on that view or anyone that’s familiar with a web app builder where ArcGIS is just recently been released may know this, anyone that’s looked to the flex view of ArcGIS might know this. But the concept of a widget is you might have a web application and you have these small tools, these isolated pieces of code that you can actually drop in to that web application to provide focused functionality.

Examples of that might be an editing widget, a drawing widget, an overview map widget. So you can drop any number of widgets in and it provides a very focused functionality for different groups. So, again if you’re thinking about the big organization, there are different users within that organization that need to have access to GIS. Using widgets in a web application doesn’t necessarily need to be a web application, just imagine a web application. You can actually build applications which at the same day though they have different widgets providing focused functionality through different groups. So maintenance workers will have their application with the editing tools and whatever else they need. Managers might have a different set of widgets to analyzing the business, reviewing the business in different ways. So, widgets are kind of an important concept.

And then native versus web. There’s always conversations around what is native, what’s web and maybe we can a closer, but we’re definitely defining lines, but that’s an ever evolving world. And then of course the [inaudible] APIs and again I mentioned that Esri job is taking the 3D jobs coming out. Andy and I are both working on offline so you can actually take a web application, take your iPad with a web application and take it offline so you don’t need an internet connection. They could all now be done within the web world. So, there’s just a few trends that come to my mind.

Jennifer Swift:

I’d like to ask a question. What is one thing a student can do to put on their resume that would really make them standout from other candidates? And let’s say – and they’ve gone down this track? Is there any one thing or a few things? Is it the geospatial skill set? Like the spatial thinking?

Chris Weidmann:

I can try to answer that one. Andy you wanna go ahead? All right, I’ll do it and you can follow up.

Andy Gup:

There’s a slight delay there.

Chris Weidmann:

Okay, so one of the things I really look for and as Andy mentioned earlier is the inclusion of both Python and JavaScript. If there is a formal understanding of both of those languages, I think they have a good chance of doing a large majority of the work that we would expect here and I would expect that many organizations offer or are looking for, especially from strictly a GIS developer or analyst.

The other thing that’s actually a standout to me is working with any of the actual server implementations, the ArcGIS server or SDE, which is the database on the back end. So if any of that can be incorporated into a resume, those are somewhat unique, show a very technical or can be a technically deep dive into GIS and GIS technology. Those stand out to me personally. Andy, did you have anything you could add?

Andy Gup:

Sure, I had a few things. Some of the items that we look for on a resume is practical experience related to your software development, not just experience that you got in class. So, we would look for things like do you have a GitHub account and how many projects have you done on there? Have you participated in any open source projects? And have you built any projects of your own that basically shows knowledge above and beyond what was just presented in the classwork and I think we definitely weigh on that.

And also something to keep in mind too, every team at Esri and probably everywhere else as well asks interview questions related to programming and you can definitely be expected to do some wipe-boarding and doing the in-person interviewing in terms of explaining different software development concepts and the point I wanted to make is it’s always great and extra bonus points to refer to additional work that you did that’s above and beyond the coursework. I just wanted to make sure I got that added in there.

Matt Sheehan:

And I’ve got one to add to that. With Java – we needed a JavaScript developer a few months ago and we wanted some practical skills. We wanted the person we hired to actually enter our organization quickly and be brought up quickly. So, the approach we took was to actually send them out. We send them out a Mapviewer, which is build on the ArcGIS API, we send them the source code. And we ask them to build on the front of that a login to ArcGIS online. And we pointed at the samples pages and just looked at the Esri samples pages for the JavaScript API we’ll see lots and lots and lots of lovely [inaudible] deck. And we pointed the applicant at that code source and said you’re giving it this source of code to a reviewer, we now need to modify that to put a login on the front of it. It wasn’t a particularly complex task, but we had probably 15 responses to that.

We had some people come back to us and said well, we’re not gonna build this for you because you’re not paying us, which is interesting to an application. But the people that did provide us with adequate responses were the ones that we hired and there were some amazingly good implementations that we saw from mostly from inexperienced developers, but that proved to us that not only do they have the interest to work for us, they at least had those basic skills we were looking for to be useful to us quite quickly.

Jennifer Swift:

Great, thank you. Are we out of time or could we have a few more questions answered?

Robyn McNab:

I have one more question that came up Jennifer if we could answer that one. The question is can you make some comments on the numerous commercial extensions available to ArcGIS?

Jennifer Swift:

I think that would be an Andy question. When I use the word extensions, for instance in the programming at the desktop class the student could learn how to build an extensions through the geoprocessing tools that’s already within ArcMap. That’s something different than the question, I think, was of the numerous extensions that are available for purchase, I think. Andy?

Andy Gup:

Yeah, I’m not sure what’s meant by extensions either. From a developer standpoint specifically, there’s a lot of API and software development kits. We call those SDKs. And those are – I know we use the word commercial in the sentence, but those are available to all of our customers. And I feel like I’m off track, but that’s the best I can say about that. And we have many different APIs and SDKs and the reason why is we have many customers with many different requirements and we try to do our best and meet with many of those requirements as we can. And that’s typically why you’re gonna see an extension that you may be referring to or API, SDKs and many different flavors.

Jennifer Swift:

Oh no that’s great and I’d like to ask one more really quick question, really quick answer. Do you guys have a favorite best phone or a tablet that you like to use for mobile, Apple or Android?

Andy Gup:

I use Nexus primarily for software development because Nexus gives you access to all operating system updates where some of the other manufacturers like Samsung don’t give you access to all the operating system updates, and that’s really important for us to make sure we’re working against the latest and greatest.

Chris Weidmann:

Yeah, Nexus here as well.

Matt Sheehan:

And Nexus here as well, but I would love a surface pro for Windows.

Jennifer Swift:

And that’s actually the one that we use in the mobile class right now, happens to be. And then we’re also, in the mobile class, going to be testing out app studio too this summer. I just wanted to add that. Okay, thank you very much for a wonderful webinar. Thank you very, very much for your time Matt, Andy and Chris, we really appreciate it.

Matt Sheehan:

Thank you.

Robyn McNab:

Thank you all for joining us today, we appreciate your time –

Andy Gup:

Thank you.

Robyn McNab:

– in being here. If anyone has any additional questions, please feel free to call me or to call Theodore. We would be delighted to answer additional questions or have them answered for you. Have a wonderful day everyone.


About USC’s Online GIS Graduate Programs

The University of Southern California offers a comprehensive selection of online GIS programs, including GIST master’s degrees and graduate certificates. This gives our students the ultimate flexibility in tailoring their education for their career goals. Click on the programs below to learn about our leading geographic information science education.

Online GIS Master’s Degrees

Online GIS Graduate Certificates


Request Brochure

Fill out the information below to learn more about the University of Southern California’s online GIS Graduate Programs and download a free brochure. If you have any additional questions, please call 877-650-9054 to speak to an enrollment advisor.

* All Fields are Required. Your Privacy is Protected.

The University of Southern California respects your right to privacy. By submitting this form, you consent to receive emails and calls from a representative of the University of Southern California, which may include the use of automated technology. Consent is needed to contact you, but is not a requirement to register or enroll.

  Are you enrolling from outside the U.S.? Click Here.