From GIS Developer to Software Engineer

Mingzhe Li
Code道
Published in
5 min readJun 2, 2022

Time flies, especially when we start working from home because of the pandemic beginning in 2020. Coincidentally, I started my career as a graduate cadet in Spatial Vision in Jan 2020. now I think it’s a good time to write something about my career journey from a GIS Developer to a Software Engineer in the last 2.5 years. I hope this blog can help someone looking for more career options.

Why did I adjust my career path?

In my first graduate year, I did entry-level GIS development and consultant work in Enterprise spatial solutions; this was an exciting graduate program. I stayed in the same team and worked as a GIS developer. After learning a lot of new knowledge and skills from different enterprise-level spatial projects, I started to think more about my career path planning. There are a few reasons to push me to make some changes:

  1. The first reason is some technical challenges to delay and slow my processes. Due to my lack of experience working in software development, even though I spent a lot of time, there were more struggling moments that took me a long time, especially when I tried to debug some complex issues in my daily work. I realised that I need to put myself in a professional environment to learn how to do development from the beginning. I should become a software engineer before becoming a spatial software engineer.
  2. The second reason is about the industry trend. The development and tech upgrades in graphic processing, machine learning, and AI make online spatial processing and visualisation possible. There is a vast market growing in online mapping, and we can do more on browsers, for example, ArcGIS Online and GeoCortex are more used now in governments and industry. The game of GIS is changing now.

Based on these reasons, learning how to develop as a professional software engineer seems essential in my career path. I realise there has been some precedent before switching between teams in Spatial Vision, and the Lapis team in our company is hiring developers. That’s how I started the transition. After a few weeks of processing, I started my journey as a junior software engineer in Lapis.

What challenges did I have?

Challenges come immediately. The hardest part for me was developing features using Angular. Angular is a framework based on typescript, and typescript is the superclass of Javascript. The learning curve is steep for me, who was working on Python and ArcGIS products. Adjusting to a new team is another challenge. Although I’m still working in the same company, the workspace culture, admin processing, and daily routine are different from my previous position.

Moreover, I also need to convince myself after moving from a professional to a junior-level position. When you see the colleagues who joined the company about the same time are promoted to senior positions, you might ask yourself if it’s worth sacrificing the progress you already had. Pressures from these different aspects came; a few weeks of tough times after the transition almost made me doubt my decision.

What support did I receive?

I think I am the lucky one. I couldn’t go over all the problems and challenges I had during the transition without all the support I had from Spatial Vision and my teammates.

Supports from the management team:

The movement inside a company is not the most interest beneficial decision for the management team since they need to put more cost on training and the predictable productivity reduction. However, my general manager Graeme supported me a lot after I raised my hand. Graeme and other management members planned the transition with me. They suggested I work on a web development related project before moving to Lapis, which made me more familiar with the tools like Git and Angular that I will use every day after the transition.

After moving to Lapis, team leaders like Imran, Kelly, Hiroki, and Parham treated me very well. They understood my background and gave me enough onboarding time to adjust myself and learn from working. Besides the regular onboarding, Hiroki also helped me create a PD (Professional Development) Trello board to guide me and track my learning progress.

Support from teammates:

Senior developers like Ti and Parham gave me many supports. They shared their experiences with me from my first day working- how to set up IDE, configure the development environment, and even explain the basic concepts of JavaScript patiently when I feel any confusion. I personally like the Pair coding part, pair coding is the working pattern that let junior developers work as pilots while senior developers work on the tasks, I get many skills that learned during pair coding and can be applied when I work individually.

Overall the quick response when I need help, well-split tasks that I can handle more and more gradually, and my lovely coworkers are key impacts that make me face all the challenges.

The journey so far…

When I write down this blog, for no reason, I start thinking about a web map I created with the previous team. If I work on it now, I can improve it and make it more user-friendly with the knowledge I gained from my current position, which means I’m making progress now. Although the journey is long and there are tons of things to learn from now, I’m happy with my decision. What did I learn from my journey?

  1. The first and most important is to keep learning. Luck is what happens when preparation meets opportunity. Well, being prepared doesn’t mean you need to know anything, but keep learning, take the chance and try your best when you have it;
  2. Don’t be afraid to ask when you need support. Asking others avoid me trapped myself and digging into some black holes, especially when there are talented guys around you that you can ask easily.
  3. Keep positive when you face some challenges. I know it’s easy to tell others to keep positive, and it’s hard to keep ourselves positive. We cannot control many things, but keeping positive is something we can.
  4. AI will take all our jobs in one day. 🤖

--

--

Mingzhe Li
Code道
Writer for

Interested in spatial IT, time series and ML