Spatial Career Guide – 5 Key Skills for Future GIS Software Developers
March 29, 2012
Many, many folks in the GIS community find themselves in the software development universe and for good reason. Software development makes for an interesting 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. Way back in the day I helped develop a map interface and GIS functionality (using VB and MapInfo’s MapX component) for a cool supply chain network design application called LogicNet. My code stood the test of time for a few years after I left but it’s long since been rewritten and dramatically improved upon. The product lives on and is now sold (for way too much money) by IBM’s supply chain application group.
This is my first post in a series on Spatial Careers. If you’re currently a student in a geography department and you want to become a GIS software developer then this post is for you. First of all you might be thinking – gee, maybe I should become a computer science major instead, right? Well, if you’re a freshman and not too far down any particular path it’s not a bad option to go with a more recognizably technical degree and it will help you get a leg up for that first job. But, I would encourage you to stay in the geography department while loading up on courses from computer science and other hard-core departments like physics, math and/or whatever interests you most. No other department will teach you to think spatially and I think that’s probably the toughest skill to learn on the job.
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. The only things that will matter will be:
- Can you write solid code?
- Are you good at solving challenging problems – technical and otherwise?
- 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.
(1) To learn how to write solid code it would be a good idea to take a core sequence in Computer Science. Some combination of applied programming (with a popular language like C# or Java) and computer science theory would be good. 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. In addition, you would do well to engage in some self-study to learn how to write solid industrial strength code. Read Code Complete: A Practical Handbook of Software Construction or something similar and The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition). Grab any O’Reilly book on a technology of interest. Think of a simple project and then do it – it doesn’t have to be perfect but see it from start to finish. If you need an idea I’ll be glad to put you to work. Also, learn how to test your own work – this is important! Quality Assurance is not an after-thought; it’s a critical part of software development and everyone is responsible. Don’t be one of those programmers who writes quick and sloppy code and blames QA when bugs slip through the cracks.
(2) 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. There were outstanding classes in the Geography Department – my favorite was Advanced Geographic Data Analysis – but sometimes it’s good to explore other fields. Take courses that interest you and will provide you with a different perspective. Don’t worry so much about how they will look on a transcript or whether or not they fulfill a graduation requirement. I know it’s difficult to finish in 4 years (or 2 for a Master’s) and you want to be efficient but it’s too important for you to learn cool stuff while you have access to such a nice variety of brilliant minds and the time to explore. [If you don’t have time/money, get a job and go through school at a slower pace. In many ways, I prefer this approach.]
(3) Write a lot. Write to your parents and grandparents (more than just text messages or tweets), if you’re lucky enough to still have them in your life. 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. Send emails to interesting people and ask them questions about their work or for a brief phone call to discuss something that interests you. Learn how to convince people to listen to your ideas with your writing. Trust me – it will help no matter what you do or where you go. Also, take opportunities to give presentations. Volunteer to be the spokesperson for your class project or offer to give a guest lecture in a class. Attend a conference and present a paper. Learn how to deliver a presentation with PowerPoint. Everyone does it in business, academics, you name it. In person, via WebEx, over the phone. All the time. Learn to play the game. If you want your brilliant ideas to be heard you have to be able to communicate.
(4) Get along with people. 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. So give them space but ask them about what they’re doing and how they’re doing it. You’ll probably learn some good stuff. Unfortunately, you also will need to get along with other people who present more of a challenge, especially if you work for a large company. Accounting, legal, marketing, even IT – all can be a pain when they’re distracting you with corporate politics or asserting their authority while you’re just trying to write code. Just do your best. Connect with someone in Sales so you can maybe meet a real customer and figure out why it’s important to do a good job. Don’t feel like you have to be everyone’s friend. Sometimes it’s well worth it to make a stand and not sacrifice your integrity just to be seen as a team player. There are true assholes in the world. Life is too short to pretend you like them. When in doubt, candor is the most effective style but most people have thin skin so try to be respectful and kind. Maybe the best way to prepare is to take a leadership role of some kind in a college club or organization on campus. Good luck with this – I’m not the best one to give advice here.
(5) Think of all the changes to the software industry in the last 5 years. Apple’s iPhone was not yet available for purchase 5 years ago. No one had heard of an iPad. Now everyone has an iPhone, iPad or Android device and developers who can create apps for iOS or Android are in high demand. So you can’t expect to learn what you need for your whole career in college. You’ll be learning new technology every year and probably making major changes to your development environment every 3-6 years. Accept that you can’t write in the same syntax and/or within the same IDE for your whole career; instead, jump at the chance to build a prototype with new technology.
I know that you’re thinking – wait, dude, 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 .NET and ODBC and the different ocx controls for mapping/GIS. 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. I know, I know. It actually matters if you want to work with and be respected by technical people. I’m just trying to point out that it’s always changing and you’ll never know everything. Plus, college is a lousy place to learn this stuff. Only a small fraction of computer science professors stay up on the latest technologies – they can’t bother to play around with HTML5 or mock up an Android app. They’re too busy writing books and articles and preparing lectures. Same goes for GIS professors. This will vary from campus to campus but, generally speaking, if you want to be on the bleeding edge of software development you’ll need to read books and blogs and build prototypes on your own time. You won’t learn these skills in any required courses. Same goes for GIS development tools. You’ll be stuck making ArcGIS plug-ins and using all the other ESRI development tools because nearly every University has a site license and since the U. spent a fair bit of cash on that site license they’re not going to buy alternatives for the GIS lab. There’s nothing wrong with ESRI technology – they are clearly the leader – but it would be nice to experiment with a variety of other geospatial technologies. Younger students are lucky because open source didn’t really exist in the same way when I was in college or grad school. Now it’s an all-you-can-eat bonanza out there. Dig in.
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.
63 Comments
[…] GIS software developer […]
Great Post Justin! 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.
Thanks Andrew! Great point – the conceptual process is worth the long-term investment of time, the buttons/commands will eventually go out of style.
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.
Hope for the best!
Tamara
Thank you for the comment, Tamara. Wishing you the best! -Justin
Justin,
Thank you so much for this post. Possibly one of the best I’ve read – well written and straight and to the point, which can be rare these days. I am a Geography Grad student at SFSU and currently enrolled in a Python/JavaScript class and while I do not have that much programming experience and it can take me hours to work through a problem, it is one of the most rewarding feeling I’ve received when the code works. I believe this class will be one of the most important of my Grad School Career.
By happenstance, my friend also sent me this yesterday regarding a talk on education:
http://www.youtube.com/watch?v=zDZFcDGpL4U&feature=relmfu
Why does it matter? Because it is a mind-blowing inspirational video about education and the person who sent it to me just so happens to be…a programmer. 🙂
Thanks again, Justin. Your experience and communicative value show through on this post – very helpful.
Thanks for this comment, Adam! 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. Try automated mapping by writing to SVG from Python (or something comparable). Seeing a map come to life by stringing together some syntax is one of my favorite activities – simple and pure geography.
And thanks for sharing this video – very interesting. Best wishes for success in your grad program and beyond!
Cheers, Justin
[…] my last post I proposed 5 skills to develop during college that should help you become a successful GIS Software Developer as part of my series of blog posts on Spatial Careers. In this post I’m writing about the […]
Dear Justin,
Thank you for the post, it is great. I’m a master’s student studying GIS. I’m very interested in software development and have developed variety skills in GIS software development. I’m going to graduate and currently seeking a job in GIS software development. But the reality is that there are very few job positions for GIS developers (at least here in Finald where I’m studying). It is also possible for me to find a non-GIS developer position which is relative easy to find, but I like GIS and I think it has a promising future. What do you think about my situation? Can you give some suggestions? Many thanks.
Mingfeng, if you can find a software developer position, even if it’s not GIS, I would take it and learn as much as you can about software development for 1-2 years. On the side, keep up your knowledge of GIS-related technologies and keep your eyes open for a GIS-related developer position. Best of luck!
Thank you for your advice. I will try to find a job first.
[…] is my third post in the Spatial Career series. I’ve covered GIS Software Developer and Geospatial Analyst and in this post I will provide guidance to the aspiring cartographer and/or […]
[…] Career series. In previous posts I’ve written about how to prepare for a career as a GIS Software Developer, as a Geospatial Analyst, and as a Cartography/Visualization Specialist. In this post I will […]
[…] Career series. In previous posts I’ve written about how to prepare for a career as a GIS Software Developer, as a Geospatial Analyst, as a Cartography/Visualization Specialist, and as a Geographic […]
[…] was mentioned on Twitter because my post on GIS Software Developer career preparation as part of the Spatial Career series is now required reading for a graduate level GIS class at the […]
Justin,
I really enjoyed reading your article. It talked to me on so many levels.
I stumbled into GIS in 2000 and have come to a crossroads: Do I return to school and work toward a MSGIS degree? Or, taking some specialized classes that do not necessarally(sp) fit into any one degree.
Your article has give me a lot to think about.
Thanks,
PamS
PamS – Thanks for reading and thank you for the feedback! I’m so glad that my article was helpful! I’d love to try to help with your decision. Can you provide some additional context? Best, Justin
Hi Justin,
Great blog. I was about to enroll in a GIS Masters but am having doubts, and am opting to do it in Computer Science instead. It seems to me that the field is uncertain and struggling to ‘define’ itself after the very quick developments that has been going on purely by software developers with no spatial background in web mapping, as well as the increased number of people who have ‘GIS’ as a skill and expertise on their resume but are from different backgrounds.
What worries me is that my University’s Geospatial program has been eaten and been reduced from ‘Master of Geospatial Information Science’ to a sequence one can take within the ‘Master of Information Technology’, placed along subjects such as business information systems, interaction design & project management. This is a shame for me because I wanted to get involved in the ‘science’ aspect of it, understanding the real meaning of the data, as you stated in your defense that ‘spatial is special’.
Many of the original subjects have been removed (such as spatial analysis!!!) and the major has become a more generic IT education. It seems to me that the faculty think ‘spatial analysis’ will be done by professionals as a secondary skill (such as resource management, planners etc), while the applications will be developed and databases maintained by software developers & dbas. This, in turn, seems to phase out the position of both the ‘GIS Tech.’ and the ‘GIS Analyst’, which seem to be the most common types of jobs for those with pure GIS degrees, in one fell swoop. Do you think GIS belongs in a ‘Master of Information Technology’ in this way? What are your perceptions of this titling which seems to be uncommon?
Cheers!
Hi M. Thanks for the feedback and this question. It’s difficult to provide guidance without additional context. Do you have a bachelor’s degree in geography? Any work experience? Are you most interested in becoming a GIS software developer? Or would you be more interested in another path? Please add a bit of information so I have a better idea as to where you’ve been and where you want to go. Generally speaking, I’m not a big fan of the Master’s of Information Technology and would be more likely to endorse an advanced degree in computer science, statistics or geography. Also, I wouldn’t necessarily advocate grad school – it’s not the best path for everyone. Thanks! -J.
Hello Justin, I just read all of your Spatial Career Guide blogs and they were a wealth of knowledge! Thanks for this. I am about to begin school (I was military for four years) and I have two questions:
1. Is it never too late to look into pursuing GIS as a career? I imagine I wouldn’t be done and ready to start looking into jobs for at least six years while I focus on getting my degree(s). Do you feel GIS will still be relevant by then?
2. As I previously mentioned, I was military for four years as a Meteorologist. I do not wish to pursue Meteorology, but I wish to stay in the Earth Science area, and really enjoy Geography. Will my satellite imagery analysis experience give me a leg up on the competition?
Thanks,
Cason
Cason – glad to hear that the spatial career series has helped you! Thanks for sharing your questions.
(1) It’s never to late to pursue a career as a geographer and, yes, I think geospatial analytics will still be a good field in 6 years. But, you might want to read this post about GIS if you haven’t already: http://www.justinholman.com/2012/03/20/spatial-is-indeed-special/
The key is to focus on one of the spatial paths rather than relying on knowledge of a particular GIS software package.
(2) Your military experience and your meteorology background will BOTH be quite helpful. As I’m sure you know there are terrific careers available to geography/GIS types in the National Geospatial Intelligence Agency (NGA) and in other DoD agencies. And your experience with remote sensing should indeed give you a leg up. That said, I don’t really know too much about the future of NGA, DoD or other government agencies so you’ll have to do your own homework on that front. If you would prefer to avoid DoD related work then it sounds like you might enjoy the Physical Geography side of things. Plenty of opportunities in environmental consulting, environmental/earth science, etc. Be sure to take classes in Climatology, Geomorphology and Biogeography. If you find a particular topic of interest in one of those classes, follow your passion and see where it will go. I suspect that there will be plenty of demand for good physical geographers with solid training in spatial methods, remote sensing and GIS-related techniques.
Hope that helps. Let me know if you have further questions about careers in physical geography. I don’t know as much about possible options but I can ask around and/or may be able to put you in touch with some good folks in the field.
Best wishes!
Justin
Hello Sir,
Its a great post for a fresher like me.I m also new to this GIS field and m finding it quite interesting.I have done MCA also and want to go into gis s/w development. But the reality is that there are very few job positions for GIS developers.Right now m working as a GIS executive(not GIS development).Now I want to switch from this job as career growth in this sector is very slow especially in india,but I like GIS and I think it has a promising future. How to explore this area so that I can excel in this field?What do you think about my situation? Can you give some suggestions? Many thanks.
Kam – did you read all 6 of the “Spatial Career Guide” posts? If not, please read all of them and tell me which one seems best suited to you. This post is geared toward undergrads just getting ready to hit the job market but it also lays out 6 separate career paths that you might consider:
http://www.justinholman.com/2012/03/28/spatial-career-guide-for-undergrads-currently-studying-gis/
I have no idea what the job market in India looks like. What I do know is that hear a lot of complaints here from people struggling to find GIS jobs while the market continues to provide outstanding opportunities for well-prepared candidates. If you are an excellent software developer with advanced spatial/GIS skills your talents will be in demand. Do you write nearly bug-free code? Do you work well with software development team members? Do you have excellent communication skills? If so, you may have to be patient, but you will eventually find interesting, lucrative work.
Best wishes, Justin
Absolutely, I agree with most of the things that are mentioned here.
Sir,
Thank you ! your article is really helpful. I’m doing masters in Remote sensing and GIS and my keen interest is only in programming. I ve learnt c, c++ and continuing with java and python. Less time and more to learn and so many other things are going on in mind like u mentioned.. i ve to know arcGIS thoroughly etc… i know i will end up with basic knowledge of all these languages…but master of none…..so what exactly a software company expects from a GIS fresher?
I think learning lots of languages is probably a good way to go in grad school. Master of none is probably okay at this stage – once you get your first job you will be in position to become a master of at least one, and probably more than one. Your best bet while still in the Master’s program is to find a real project and some way to contribute. You can do this through an internship or by joining a research project or by just doing your own project…maybe for credit via independent study (or for a capstone or thesis project) if you have good rapport with a professor in your program. Good luck!
Dear Justin,
I have searched far and wide for your e-mail address; however, it appears to be buried deep within the mysterious caverns of the internet – so, this will have to suffice (and I hope you feels the question is relevant to your post).
In August, I will be attending NCSU’s GIS Graduate Certificate program, with the intention of transferring into the Masters of Professional Science in Geospatial Information Sciences and Technologies. I already hold a Dual Bachelor of Arts in East Asian Studies and Comparative Religious Studies (and speak Chinese). Further, I have taught for three (3) years. In short, I adore the field and sincerely think GIS-oriented data representation is the coolest ‘thing’ since sliced bread.
That said, there is so much hum and glum on the internet about the demise of the field. Am I setting myself up for failure – in terms of the financial investment – by attending this program?
Thank you for your time.
Sincerely,
Thomas
Hi Thomas – You have a very interesting background. In order to answer your question I need to have a better idea as to what you’d like to do with your career. Do you want to become a GIS software developer or did you have something else in mind? I think it might be very cool to combine your background in East Asian Studies with GIScience. What do you want to be able to do after grad school? Thanks, Justin
Dear Justin,
I have a variety of ideas for the application of my education; however, I am most interested in international development-oriented work, more specifically the geographic representation of patterns in human behavior either historically or ‘now'(with a mind toward growth-based demand forecasting – not to give away my ideas) – the “Human Geography” bit. In that regard, I am seeking training in Marine, Earth, and Atmospheric GIS as well as Forestry and Environmental GIS (the application and software development aspect of both are most appealing).
In some regard, I am entering the field because I think it is ‘interesting’, so to speak, and because I believe the field provides a unique insight into data. Further, the opportunities – when available – all seem really interesting.
My thought is this: the demand for GIS analysis seems to be growing in a relatively untraceable way as the growth appears to be more universal and interdisciplinary, i.e. a career opportunity may have GIS at its core but not be marketed as such (?). I think many of the people discussing the dearth of opportunities may be the less creative with respect to the dissemination of their resumes (?) – who knows.
Sincerely,
Thomas
p.s. It is awesome that you are so diligent with your responses to your fan base (I have witnessed it throughout your site).
Thomas,
You definitely sound like a geographer and I mean that in a good way. My advice would be to look into more traditional geography programs rather than only considering programs focusing on a technical GIS curriculum. Based on what you told me I would immediately recommend taking a close look at Clark University because they have strong offerings in everything you’ve mentioned so far and I think they might appreciate your background and interests more than most programs. Here’s a link to explore a bit: http://www.clarku.edu/departments/geography/maprograms/gisde.cfm
There are loads of other programs out there that could also be a good fit. You might read about the faculty at Clark and then trace their background to find out where they studied and who else studied with them. This will give you ideas fairly quickly about who you might like to learn from and where they teach.
Remember, there’s a lot more to becoming a geographer than learning GIS skills. Your background has given you a good sense as to the possibilities and opportunities that geography offers but I would urge you to study geography more comprehensively rather than focusing only on GIS technologies. I worry that NCSU may not offer sufficient resources in this regard since they don’t appear to have any trained geographers in their program and, instead, have cobbled together a faculty from a wide variety of tangentially related departments. Don’t get me wrong – I’m sure they have a great deal to offer and know plenty about geospatial technology. But, that’s not the same thing and I think you’d get more of what you’re looking for at a program like Clark or one of the other more traditional geography departments.
One last comment. You mentioned some pessimism about employment prospects for GIS professionals. Many of these people with a negative outlook have good reason to be worried. Those who are trained in all aspects of ArcGIS but not much else are in big trouble and they will need to retool for the future. If, instead, you become a well-trained geographer, are able to think spatially, analyze and visualize so called “Big Data”, and communicate your ideas effectively you will find yourself with plenty of fulfilling and potentially lucrative opportunities.
I hope that helps. Best of luck!
Justin
Dear Justin,
Thank you for your quick reply. I wanted to update you with where I am headed with respect to my own training (as it may be helpful to others). Too, I believe my chosen route is one you tangentially encouraged in another post.
Having received a Bachelor’s of Arts in East Asian Studies and Comparative Religion, I did not want to do the whole thing, again – i.e. go back to school for another field and only walk away with another Bachelor’s to show for it. There was something appealing about a Master’s degree, particularly in my desired field: Geospatial Information Science.
After a few months of thought (and two weeks before my classes began), I decided to change – to transfer – to another program and school, entirely. Long story short: after a few discussions with my friends in programming-oriented fields and family with long-term programming experience (twenty-five years), I decided to pursue my Associates of Applied Science in Computer Programming through a local community college. The natural question is, “Why?”
Many of the things I am interested in with respect to GIS are all programming driven, e.g. application and tool development within the field. I believe (emphasis) I have some new ideas about where to take the field and where to apply it; however, I want to develop the software that does it. Developing geospatial information science is the long-term goal; however, I have realized I need some other competencies in order to be a part of that process, namely programming.
Spatial and geographical training is the five year plan – but, I have realized I want some other bits and pieces along the way that will allow me to attain that goal (and hopefully allow me to apply for some interesting and competitive positions as I work toward the goal).
Justin, a sincere thank you for your thoughts. They have been indispensable.
Sincerely,
Thomas
Thomas, I think the decision to study programming is a good one. And, learning at a community college is typically a much more economical choice. I think it makes good sense. If possible I would urge you to find some way to apply what you’re learning as an intern, volunteer, paid employee, anything so long as it addresses a real problem. Not only will this accelerate your learning, it will give you a taste of the career you’re pursuing and the ability to modify plans early in the process as you better understand the landscape. Delighted to hear that my comments were of some assistance.
Best of luck! -Justin
Thank you for posting such an interesting article for those of us who wish to grow in GIS.
I am a career transition adult learner who has a BS in Organizational Leadership, AS Architectiure, Environmental Technology GIS certificate.
I currently work as a GIS Analyst and have 2.5 years GIS work experience in fast paced production mapping environment in oil and gas.
I also have worked in fast paced data validation/data compilation in emergency 911 street addressing.
My passion is emergency management, but I enjoy oil and gas work.
I would like to pursue a graduate program but since I have no programming background. Feel that IT should be the path to follow.
Hi Rudy,
Thanks for the comment! Sounds like you’re doing well and making great career progress. I’m not sure if you had a question for me but let me know if I can be of any assistance. Best of luck! -JH
Hello Justin,
Great article. I am a GIS major (graduating next year) at the University of Maryland and I am loving my choice of career. I am interested in getting into the GIS software development, but I am not really sure I can get into this field. Our department has put more emphasis in GIS programming (python) and I have taken a javascript, css, html class in the computer science department. So my question is, how can I be competitive and be eligible to apply for these jobs? Unfortunately, I cannot afford to get a master’s degree, but I was thinking about getting an associates in computer science, if that would help. What do you think?
Hi Elvis,
Thanks for the note! Glad to hear you’re happy with your GIS path thus far.
I think my advice would be to self study Python to become as proficient as possible and build some cool applications on your own. Post your apps on a blog to demonstrate your skills and market yourself. You could even offer your services on a freelance basis via elance or equivalent. But, be on the lookout for a good job. You need a mentor to teach you how to write truly industrial strength code and you need to be part of a good team to learn quality software development processes. Going solo is great but very difficult if you lack experience.
After gaining some work experience you might consider grad school. And, along the way, I wouldn’t hesitate to take courses at community college or elsewhere if you can fit them in. But, I would not recommend an associates degree as, in my opinion, adding that to your resume will make you look like someone who belongs in a lower level technical position where the work will be neither interesting nor lucrative.
Best wishes!
Justin
Justin,
Thank you so much for your incredible site. I am delighted to see my alma mater UCSB ranked so highly here! I earned my bachelor’s a few years ago and was also awarded the high honor of distinction as a geography major. Now (after an honest to God epiphany) I am considering returning for graduate work.
In this article you say:
“Software development makes for an interesting 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 am very interested in the path you took. What factors pulled you in the entrepreneurial direction? What were your biggest obstacles? How did LogicNet form? Would you mind sharing the full story?
I am deeply interested in economic geography but I genuinely love all elements of geography including physical geography, digital visualisation, remote sensing, migration, biogeography, ancient civilizations and climate change. Should I keep my focus laser sharp during the admissions process or is it prudent to express my varied interests?
Thanks,
Emma
Hi Emma,
Thanks so much for the friendly note and congrats on having attended one of the best geography programs in the universe!
First, in regards to positioning during the admissions process, I think yes to both. I would go ahead and express varied interests across the discipline but then do your best to articulate a laser focus on a research topic that you are anxious to explore.
Second, I would love to elaborate on the move into software and how it played out but that would take time – it is a long story. I will give the idea some thought. If you have any more specific questions in the meantime I’d be glad to try to answer. Thanks again!
Best wishes,
Justin
Thank you so much Justin! I have bookmarked your site and will return often.
Cheers,
Emma
Hi Justin,
I am from UK and have been silently following your blog for a while now but finally decided to share my own academic experience and in the process seek some guidance on my future plans.
I gained my bachelors degree in civil Engineering about 20 years ago and had somehow also learnt C++ and visual basic programming which I used for building some simple programs and games and small scale databse customization tasks. In year 2005, I had my first exposure to GIS during a departmental training and I immediately realized it was the ultimate profession I wanted. In the next four years, I undertook various introductory courses in GIS and remote sensing and finally decided to pursue higher studies in GIS. Being an in-service professional, I searched for an online option and finally registered with University of Leeds for the online MSc GIS program, which they offer in collaboration with University of Southampton and PennState. I took up the GIS developer stream in my advance year studies and the coursework involved subjects like Web GIS, advanced GIS programming with Python and Geocomputation.
Now comes the tricky part of the story. I have completed the coursework and now ready to start my dissertation work. I have certain ideas in mobile, web and cloud based GIS applications, but the problem is I have been unable to find out any staff in the university who could supervise for these ideas. The coordinators want me to select a topic which follows a more generalized theme and may deprive me of an opportunity to fully exploit the developer skills attained in the process. I have already put my newly learned skills to use by developing and successfully deploying server based GIS applications for my department on the local intranet.
With the above in mind, do you feel it will be a good idea to take an exit from the university with a postgraduate diploma and leave my dissertation. This will allow me to further refine my GIS developer knowledge through its practical application in the field and I can afterwards join back some other graduate school which has good opportunities for research till PhD especially in web and mobile GIS domains. Alternately, I may continue my studies and complete my dissertation on one of the topics proposed by the department.
Your valuable opinion will be a great help for me.
Best regards,
Allan.
Wow, Allan. This is a big decision. I would be reluctant to pull out of the PhD program at this point. If you want a PhD you should finish now if at all possible. Or maybe take a leave of absence for a year and work on your technical developer skill set. If you leave now I would only do so if you’re okay with never finishing the PhD…because it will be really hard to start again. I don’t know you personally of course but, generally speaking, I would say most people would regret later in life not finishing now. I would take a year off (if possible), then look for a topic that meets your skill development interests while pursuing a more fundamental geography topic your advisors will approve. Best of luck! I was in very similar shoes several years ago and I’m quite happy I stuck it out. Best, Justin
Thanks for great response Justin, I probably needed to be more clear. Infact, I have not yet entered the PhD program. In UK, one has to first complete the MSc before entering the PhD and I am presently stuck at masters stage. Secondly, since it is an online masters degree, I am not sure if I can do any meaningful research at my own, considering limitations at the faculty end. So will it not be wise to leave this MSc at this stage (I will still earn a postgraduate diploma) and then enter some other program in US and Canada which affords the option to transfer to PhD after one year at masters stage.
Regards, and looking forward to your reply,
Allan
Ahh. I see. Well, that is indeed a big difference. Yes, if your objective is to pursue a PhD then you need to be in a traditional (not online) program. I don’t know much about UK programs but Leeds is well known because of the pioneering geocomputation work of Stan Openshaw – could you move there and pursue the PhD without having to start all over at a new University? Best, Justin
Thank Justin Holman , for those useful 5 key.
Hi Justin,
I see that people have continued to comment on this article even into late 2014, as I am doing! I find the information still relevant. I was hoping to ask for your advice even now.
In 2009 I completed a master’s degree in environmental planning and focused much on GIS as well as energy efficiency and renewable energy during those 2 years. Before that, I had been working in the field of energy and environment since 2000. After the master’s, I was torn between working in the GIS domain or working in the renewable energy domain. GIS work (let alone urban / environmental planning work at the time) was hard to come by so I focused on working in renewable energy for several years analyzing data to better manage, repair, and improve the performance of thousands of renewable energy systems across the state / country. For various reasons, this kind of work does not have as many resources devoted to it compared to other efforts (e.g. sales, marketing) in the industry I was in. So having learned a ton and having built departments from the ground up, I reached a point where I had done as much as I could, learned as much as I could and yet there was not much opportunity to improve things or to grow, even though it will be needed (eventually). The only difference every day was that the quantity of repetitious tasks needing to be done steadily increased in quantity. All along, I had been streamlining work and automating tasks on the computer, creating standard procedures and teaching them to field technicians, etc, in order to keep at bay the growing workload that accompanies an explosion in sales. I enjoyed creating solutions, problem solving, automating tasks, and teaching others. Much of this involved learning all the data and software systems and then creating new, improved, and streamlined systems based on what I learned. It resulted in me being able to do more but it also meant more work was piled on me. I actively sought opportunities doing work that involved creating solutions, improving processes etc. but got very few. After I trained others who seemed to be paid less than I how to use the systems I’d streamlined / created, I was laid off.
All of this, plus the phenomenon that GIS seems more of a tool than a career these days, has led to me to believe it could be wise to focus on software development focused on GIS/visualization in the energy / environmental domain.
Fortunately, I tend to get a lot of creative ideas for businesses and also have a degree in entrepreneurship. I also recently finished a bootcamp to learn web and mobile app development + starting a mobile app business. However, I need to continue learning this stuff and to greatly increase my income. I was wondering if you have suggestions as to how I can use what I’ve done to 1) become a software developer focused on GIS preferably in the energy / environmental domain (to take advantage of my background) and 2) how to get mentor(s)?
I am open to other career path suggestions as well given my background. For a little while, I tried to get into purely data visualization but it seems there are more jobs for developers rather than data visualization people right now. I would most appreciate your thoughts!
Sincerely,
C
Hi C. Wow. Lots to digest here. And yet, difficult to provide guidance without knowing even more. I think as a first step I would suggest setting up a simple blog/web page and begin building a portfolio to market yourself. If you can build a simple mobile app, using your newly acquired skills from the boot camp, for others to download that would be a powerful way to attract attention from potential employers. Beyond that I think we would need to take this offline to an email dialog. Feel free to use my Contact form to send a private message and I’ll do my best to help. Best wishes, Justin
Thank you Justin! Yes I am in fact working on the things you mention – making a portfolio and working on an app. However I do have some questions beyond this and will contact you separately. Best, C
[…] I’m going to list some resources. For some detailed geo-career advice, I’d recommend Justin Holmans blog with tons of great […]
Howdy Justin,
Found your blog while researching GIS for my son – thank you making your insight available. I think that most geologists, however, would disagree on your statement that “no other department will teach you to think spatially”. It’s difficult to be a geologist if you can’t think in 3-D.
Thanks again
Richard
Hi Richard,
Thanks for leaving a comment. You’re correct, of course, geologists must think spatially as well. I’m biased but, in my limited experience, the spatial thinking done by geologists tends to lack an appreciation for variation in spatial scale. Geologists also tend to make crappy maps; perhaps this interferes with a proper appreciation of their spatial cognition. I wonder how many geologists I just enraged? Oh well. 🙂
Cheers, Justin
Hi Justin,
Thanks for the article. I have few questions regarding career prospects in GIS field.
I did my bachelors in computer science & working in IT industry for the past 3.7 years.
I am planning to pursue Masters now (Fall – 2015). I have come across Masters in GIS will have a great career prospectus.
If so, Being a CS graduate in Bachelors, Will I eligible to pursue Masters in GIS.
If so, What would be the career & Job prospectus.
I’m very glad if you could provide me the requisite info.
I will be waiting for your reply.
Thanks & Regards,
Anvesh
Hi Anvesh, I think a CS grad with tech industry experience would be a welcome applicant. I recommend a few standard geography classes along the way for breadth in terms of spatial perspective. It’s difficult to forecast career prospects as too much depends on individual ambition, tenacity and skill set. I think it will provide excellent training to position you for a robust career campaign; the rest is up to you. Cheers, Justin
Hi Justin,
Thank for the informative article. I have 5 years of experience working in GIS software. development. I am neither a computer science nor GIS undergrad. I wish to hone my skills in this area of GIS software development. I feel solid knowledge of computer science can have significant impact in my GIS career. Do you recommend taking up a masters in spatial informatics/GIS or computer science for better prospects in future?
Hi Nagini,
Why not get the best of both worlds by pursuing a graduate degree in computer science at a University where you can also study GIS? No need to completely forego one for the other.
Best wishes,
Justin
this is very nice career guidance way for the right career guidance you can also check the same in the website.
Hi justin I have more than 3 years of experience in coding should I learn Kotlin which is very new in the market what will be the future scope after kotlin did you have any idea on this topic.
Hi Anjali,
I hear good things about Kotlin so, with 3 years of experience, it can’t hurt to put another syntax on your list. Don’t really know enough to comment on the future of Kotlin within spatial or elsewhere. I’ll have to read more.
Best wishes,
Justin
Hi Justin , I have 5 years of experience in coding will learning Kotlin help me getting better opportunities in future ??
Thanks in advance.
I don’t know. I’ve heard of Kotlin and it could be revolutionary and lucrative. Then again, it might only fill a small niche or fade away completely. I don’t have a crystal ball for this sort of stuff. It probably never hurts to learn a new syntax but be sure you know one or more broadly marketable programming languages. If you already know, for example, Python, Java and C++ then learning Kotlin could be a good use of time. But, if you’re only familiar with one of those three then I think I would add another and hold off on Kotlin. Rewards for early adopters can be big. But they can also be zero. Hope this helps. Best wishes, Justin
Hi Justin,
Thank you for this great post, this is just what I was looking for. I was hoping if you could answer some of the questions I have. I am an 4th year environmental study undergrad student focusing on environmental management in Canada. I will be doing a postgraduate GIS certificate that covers all aspects of the geospatial field from spatial analysis to programming to database management to web gis. I want to begin as a gis analyst and transition that into a gis developer as i feel that working as an analyst, solving problems and discovering the fustrations that other users of the technology deal with will help shape my career as a gis developer. Is this a good idea? Also how is the current GIS career market and what can i do to better prepare myself for when i am ready to enter the field. I am currently learning on my own using the ESRI e-learning courses as well as learning programing on the side.
Thanks for taking the time to respond.
Hi Vraj,
Best thing you can do to prepare for the job market is to learn as many programming skills as possible. Start learning Python if you haven’t already. Learn about R. Build an application to show potential employers what you can do. Don’t over-invest in ESRI technologies.
Best wishes,
Justin
Hi Justin,
Thanks for the advice. I wanted to know if I will be at a disadvantage since I see employers looking for Computer Science, Computer Engineering or Software Engineering degrees mostly when I see GIS developer positions. Will I be at a disadvantage? Also I am learning programming on the side right now and would like to know about the kind of applications i should be focusing on?
Thanks
Hi Vraj,
If you have the skills it won’t really matter what’s printed on the diploma (by the way, if you don’t have the skills it won’t matter much either). For projects, try to find someone who wants/needs a spatial app and offer to do it for free as a learning exercise. Could be a prototype, doesn’t have to be commercial grade. Learning to develop for a “client” and an “end-user” is a critical part of success in the software business.
Best wishes,
Justin