Many, many folks in the GIS community find themselves in the software development universe and for good reason. Software development makes for an 3 gis software career, blending problem solving and creativity, and most software development jobs pay fairly well with opportunities for entrepreneurial adventures. This is the path I took after finishing part of grad school and I have no regrets whatsoever. I loved programming and developing software tools with GIS components.
This is my first post in a series on Spatial Careers. The cool thing about software development is that after a few years in the work force no one will care about your major or where you earned your degree. Can you communicate effectively in both verbal and written forms? Are you able to establish and maintain productive working relationships with team members? Can you learn new technologies quickly? If the answer is yes to all those questions you’ll have a great career whether you have a Master’s degree in Computer Science from Stanford or an Associate’s degree in Geography from San Joaquin Delta College.
Here are a few thoughts on each of these pieces. To learn how to write solid code it would be a good idea to take a core sequence in Computer Science. Ideally you’d also take more advanced courses on data structures and algorithms. There are probably a few others I should mention but you can’t take everything.
Did not find what they wanted? Try here
For general problem solving, just take a wide variety of challenging courses. For me, that meant taking lots of statistics including Applied Regression Analysis in the Business School and grad-level Econometrics in the Econ Department. They will love you for it and it will be a good way for you to learn how to describe what you’re doing to people who may not be technical. Communicate via email with your Professors and TAs.
Think of each email as an important business memo. Start a blog and write about what you’re learning. This can be the most challenging piece of the puzzle. Programmers are an eccentric bunch but they’re typically very good people. They can be very quirky and are often introverted but, in my experience, programmers are usually down-to-earth, interested in a lot of different things, easy to get along with and fun to talk to. Mostly they want to have the autonomy to work on cool problems and solve them in clever ways.
Think of all the changes to the software industry in the last 5 years. So you can’t expect to learn what you need for your whole career in college. I have to know all the different ArcGIS APIs and Ruby on Rails, blah, blah. Back in the late 90s you had to know about n-tier architecture and . Now it’s a bunch of other silly acronyms and funny names. Fortunately, I don’t have to keep up with all this stuff now. It actually matters if you want to work with and be respected by technical people.
Anyway, this article won’t tell you which technologies are the right ones to learn. I’ll leave that for someone else who’s deep in the technical trenches. I’m more on the business side these days and only know enough technology to be dangerous. But, I think I can still provide some meaningful guidance on how to spend your time while in school in order to position yourself for a successful career campaign in the GIS software development world. Hopefully this post does just that. If you follow the guidelines above and can manage to land a job where you have the opportunity to work with experienced software developers who are willing to show you the ropes, I think you’ll be in great shape. I completely agree on everything the Justin has posted here.
One thing I’d like to mention is that whenever I talk to new hires, interns and other staff that come to me with advice on projects is to really think about the process more than which buttons, functions or commands to use. Also don’t worry about which language to learn first because conceptually they are all very similar and you’ll most likely end up using multiple languages at any given point in your career or even within a single project. Dear Justin, I’m an urban planner, finished two GIS courses and I enjoyed it! Your points 2,3 and 4 are the key challenges in my career right now. Logic and critical thinking, wrighting as a way of clearing my thoughts, multidisciplinary approach and connecting people is what I am trying to practice in this hard period I am going through right now.
Thank you for the comment, Tamara. Thank you so much for this post. I’ve had that same feeling when making something work with code. I particularly enjoyed this process when it involved computing some metric and creating a map of the data. Best wishes for success in your grad program and beyond!