It’s been quite a while now since I started interacting with GIS and specifically, GIS programming. This is a field where I have met friends, mentors, role models and other people doing amazing stuff for our world. As evident in the Geo-Interview series, professionals are changing the lives of many through sharing knowledge and empowering societies through exchange programs both at individual levels and at organization level. It is most likely that your organization,county government or even country is developing a GIS portal for use in different sectors that exist in the area or within the mandate. Information systems have come of age and automating information dissemination has been a focus by many groups over the years.
The emergence of initiatives such as Open Data and Open Standards, has helped us to share even more when it comes to the technology aspect of things. Having been on the look out for some of these fields, from the system development angle, I have interacted with many users globally. A good example is on the YouTube Channel that broadcasts GIS tutorials and introductory sessions for GIS programming. There is a wide gap on some of these sectors on matters involving programming and more-so to beginners. Spending my evenings checking user feedback and questions has helped me learn a lot in different areas related to GIS and also explored new frontiers as far as this is concerned. In this post, I compile a list of the major questions asked and their probable responses as far as I know;
How did you start on GIS programming?
My first interaction with GIS was way back in 2011, the year I got an admission to pursue a bachelors degree in Geomatics and Geospatial Information Systems at Dedan Kimathi University of Technology – Nyeri, Kenya. The first instances involved installation and configuration of GIS software, ArcGIS and MapWindow. Before joining campus, I had attended a diploma course on ICT at Institute of Advanced Technology(IAT). The passion for systems was well captured and it got me moving. Introductory courses on ArcGIS were interesting and gave us the motivation to venture more into the software. On part-time, some colleagues(A group of fellow enthusiasts) and I were working on something interesting, making our own mapping application using MapWindow and VB.NET. The motivation kept us on the move to learn more each day. We held meetups every week to share what each of the team member had gathered. Months after our first prototype, we presented to the department heads and some of the lecturers who gave us even more power and morale to be the champions in the field. By this time we were on track and headed for the big prize. In general, team work, motivation, passion, handwork and consistency made us realize the potential in us for GIS programming.
In your learning curve, what challenges have you met and how did you overcome them?
Mmmmh. Wow. This is always a big question for me. I can start by a quote by Abraham Lincoln, “If you want to have a great future, create it“. I started this endeavor with a goal in mind, knowing that this was the way and no matter what came on the way, I had to learn. The journey itself is rough; sleepless nights, loneliness, being a zombie-like creature, stress just to mention a few. The good thing with programming is that, a piece of code will stress you for a day, a week or even longer, but when it works, its too much fun. Having cracked new frontiers in your path feels so awesome. You will often fall in traps of laziness, feeling like you want to quit, be stressed but this can only be overcome by first, understanding why you started this endeavor and secondly, referring to the first point. I can share some hints on making something out of your hard work;
- Team work – Having a friend(s) with whom you practice programming together and set targets that both of you have to achieve. This is one trick that works magic!
- Consistency/Persistence – In any field, practice makes perfect. Consistency guarantees the perfection. Ensure everyday you have at least two hours of code and try to learn a new concept. This will help a lot
- Challenges – These can be at personal level, by setting time-lines and goals to be achieved. In this way you ensure you are up to the task. Challenges can also be hackathons or code camps. In this place, you meet all geeky guys, high-level, intermediate and beginner. Participate in a project with some guys and share knowledge.
- Research – Make the Internet your best friend. Join forums on-line, participate and learn. There are so many people out there, willing to help you. YES…YOU
Which languages should I start with?
In a nutshell, do more research on your objectives and evaluate each language to ensure you settle for one that suits your project best.