Technical Support Engineer (GIS)
We’re looking for a customer-oriented Technical Support Engineer to join our team (US Eastern only)
Title: Technical Support Engineer
Salary range: $55,000-$75,000
Experience required: 0-3 years
Location: Remote/US Eastern
Last updated: July 8, 2026
It’s nice to meet you!
Hello there! We’re Geocodio, an intentionally small, all-remote, founders-led data-as-a-service company that makes it delightfully boring and straightforward for anyone to get geocoordinates, standardized addresses, and enrich their location data. Our customers tell us “it just works” and our NPS score of 88 tells us they’re pretty happy with it.
We’ve built a sustainable, profitable, happy little company over the past 12 years and we pride ourselves on punching far above our weight. Chances are, our data is under the hood of a product or service you use regularly. Our customers range from students working with geographic data for the first time to researchers studying cancer clusters to financial institutions making loans so people can buy their first house to websites that help people find their polling place on Election Day. The range of use cases is enormous and we find it endlessly fascinating.
We’re looking for a customer-oriented Technical Support Engineer to help customers use our API and to diagnose accuracy issues. Your day will be spent helping customers with technical requests and then working to triangulate, diagnose, and help solve parsing or data sourcing gaps. We welcome entry-level, early-career, and career-changing applicants for this role. You'll need relevant experience with APIs, geographic data, and customer support, though it can come from a job, a side project, or coursework.
Customer support is an important role at Geocodio. (So important that the founders did it themselves for the first 8 years of the company.) We think of each ticket as a sign of something we could do better, and we expect you to be communicative in solving the underlying reasons why a ticket occurred. Do we need a UX improvement? Clearer copy? Another data source? You’ll be an active part of not just resolving individual tickets but resolving the underlying cause to prevent tickets like them from occurring again in the future.
About the role
If you feel like you’ve had a good, satisfying workday when you’ve not only fixed an issue for a customer but fixed the underlying issue that would cause problems for other customers, too, then this might be the role for you.
You should have familiarity with APIs and understand why an integration might not be working. Did a customer forget to url encode a parameter? Is their API key missing a character? You’ll gently steer customers in the right direction. In your interviews, we expect you to be able to talk about a few projects—whether at work, in a class, or as part of a personal project—where you used APIs.
You should have prior familiarity with geographic data. In your interview, you’ll be able to tell us about a geographic project you’ve worked on. You should already know what shapefiles are and ideally have used QGIS or a similar tool before.
You should also have prior customer support experience. Whether it was working at your campus IT helpdesk or as a grocery store cashier, it’s important that you’ve been in a part or full-time customer-facing role before. In your interviews, you’ll be able to tell us about tough situations you faced and how you handled them.
You can get a taste for how we do our work and the kinds of things that interest us on our Code and Coordinates blog.
What your workday will look like
Your day will start out with checking Intercom to see what questions have come in from customers overnight and then looking at the address error reports queue. In between customer tickets and an occasional call, you’ll dig into the reasons why an accuracy issue may have occurred. You’ll then work with other engineering team members to figure out a solution, whether that’s better parsing or data sourcing. If it’s data sourcing, you’ll dig up the dataset yourself. You’ll then follow up with customers when their accuracy issue has been resolved.
You can also expect larger ongoing projects as relevant. We work in two-week cycles with a planning meeting at the start with frequent communication on Linear and Slack.
Some questions you might face
The below questions are real examples of questions you might get on a daily basis:
“I’m searching for the address 5600 Steeplechurch Wy, Millersville, MD 21108, but my results don’t seem very accurate. The response I’m receiving is for Steeplechurch Circle in Glen Burnie, MD which is about 10 miles south of the intended location. Any idea what’s going on here?”
Answer: 5600 Steeplechurch Way is part of a new development that only recently finished construction. It can take between 12-24 months for local data sources to update their information to reflect new constructions. Since the address does not exist in our database, we return the closest possible match we can identify, which is Steeplechurch Circle.
The initial fix here would be to manually add the address coordinates to our database, but that wouldn’t be a solution for the other addresses in the development. A broader fix would be to identify an updated data source in Anne Arundel County, MD that contains more accurate data for this development.
"Your API isn't working. I'm sending a POST request with my addresses but I keep getting a 400 Bad Request with something about an 'unexpected token.' My API key is fine — what am I doing wrong?"
Context: The request is well-authenticated, but the JSON body is malformed — e.g., a trailing comma after the last array item, or a missing closing bracket or brace.
Answer: A 400 error or "unexpected token" message almost always points at the request body — the server can't parse the JSON it received. The usual culprits are a trailing comma after the last element, a missing closing like } or ], mismatched quotes, or the body being sent as a raw string instead of valid JSON. The fastest way to confirm what’s wrong is to run the body through any JSON validator like JSONLint; it'll flag the exact line. Once the syntax is valid and Content-Type is set to application/json, the same request should go through without an issue.
"I geocoded an address and appended its Congressional district, but the district came back wrong — this address is definitely in the neighboring district, not the one your API returned. The coordinates look roughly right, so what's going on?"
Context: The address sits close to a district boundary, and its returned accuracy type is range interpolation rather than rooftop — the point was estimated along the street segment, not placed on the actual parcel.
Answer: When we don't have an exact rooftop or parcel point for an address, we sometimes return a “range_interpolation” response. This means the coordinates for the address aren’t directly on the rooftop, but located along the street in front of the parcel. That estimate is usually close to the actual address, but near a district boundary even "close" is enough to land the point on the wrong side.The district append reflects where the interpolated point fell, not where the building actually is. This can be two different districts.
To confirm, you'd pull the Congressional district boundary shapefile into QGIS. From there, you'll search for the actual rooftop coordinates of the address (if available) and the interpolated coordinates returned by the API. You’ll typically see the interpolated point sitting just across the boundary line from the rooftop. This is the root cause of the customer’s issue.
The immediate fix is to correct that one point — but the real fix is tracking down a better local data source (county parcel or rooftop address points for that area) so every address on that segment interpolates correctly, or resolves to rooftop outright. That's the difference between patching one ticket and fixing the source of the problem for everyone downstream.
If those sound like the kinds of questions you’d like to help customers resolve, please keep reading.
Here’s how a typical month might look
Technical customer support (50%). Your primary responsibility will be responding when customers have accuracy or technical integration questions. Most of this is via email (such as helping a customer debug an API integration), but sometimes it’ll require getting on a call with developers using our APIs. You’ll also help non-technical customers with spreadsheet upload issues.
Diagnosing accuracy issues (25%). You’ll own our intake process for accuracy reports and go through each one to diagnose the issue. Is it a parsing issue? A data source issue? You’ll investigate, manually update address information when necessary, then follow-up with the customer to let them know when a gap has been filled. You’ll also identify when there are broader issues that require new or updated data sources.
Sourcing data (20%). You’ll doggedly chase down data, whether through online digging or getting on the phone to doggedly chase down data. Do we need new state legislative district shape files from South Carolina because they’ve just redistricted? Has one of our county-level datasets gone stale and you need to flag that for their GIS team? You’ll find out and help to improve our database coverage and accuracy.
Community contributions (5%). We’ll expect you to contribute to our Code and Coordinates blog and give occasional meetup or conference talks, and you’ll have time during the workday to prepare those.
Who we’re looking for
As a small team, flexibility and self-accountability are key. People who like to wear many hats, can work well independently, and communicate well thrive here.
You work well independently. You'll have autonomy over how you do your work. Team members are available if you need to bounce ideas off someone, but there are no daily standups and no project manager tracking your progress.
You’ve worked in an async environment before. You know how to keep things moving when your manager's workday is over, you communicate with the team in writing so they have what they need when they come online, and you've developed your own systems for staying organized without someone reminding you what's next.
You communicate openly and frequently. You share updates as you go on Slack or Linear. If you need help, you ask. You’ll write about what you're working on, what you're stuck on, what you've decided and why, and what you think we're missing. We rely on the whole team for open, frequent communication, even when it’s hard or complicated. The team is small enough that everyone's thinking shapes the product, and we'd rather have a useful disagreement than a quiet agreement we later regret.
You welcome AI as a collaborator. We expect you to be fluent with AI and use it as a core part of your work. You’ll use Claude to draft clearer, more comprehensive replies, but you’ll always be writing the initial prompt and editing before sending. Humans are always in the process at Geocodio.
You’re customer-driven. This is core to who we are as a company, and solving problems for real people should be your primary source of job satisfaction.
You’re willing to go the extra mile to help customers and to build a better product for them.You’re curious and detail oriented. Working with address data requires an eye for detail. Small changes in formatting can have dramatic impacts. Coordinates sometimes appear to be in the right location, but might need minor adjustments to be more accurate. API calls receive an error because of a not-so-obvious typo. You should bring a natural curiosity and an interest in thorough research.
This role is not for you if:
❌ You’re looking for a pure ticket-taker role. You should be looking to take initiative, get to the core problem, and close the loop with the customer. Where relevant, you’ll come up with ways to pre-empt the problem and prevent that ticket from happening again from a different customer.
❌ You prefer an in-person work environment. We’re a friendly bunch but this is a remote-only, work-from-home role. Your social battery will need to be recharged outside of work, such as hobbies, volunteering, or friends and family nearby.
❌ You need a hands-on manager. People who work well independently but collaboratively do well at Geocodio. You’ll be expected to take initiative, learn new things, and find productive things to keep yourself busy if there’s a lull.
❌ You’re a late riser. Our team ranges from Oklahoma to Turkey. Therefore, due to timezones, you should expect to have 9am calls regularly.
Requirements
Prior customer support experience. Doesn’t have to be technical support per se — can be retail or other fields. Everything from campus IT help desk to IKEA customer support counts.
Excellent written and verbal communication skills. You know how to communicate complex, technical information in a concise way, but are also capable of providing a more thorough response when required. (You’ll use Claude to help you draft responses, so this isn’t all on you from scratch!)
You genuinely like people. You’re comfortable talking to customers directly and enjoy solving problems for people.
Some familiarity with APIs. You’ve used APIs enough to be able to spot common issues with an API request.
Some familiarity with QGIS or a similar tool. You should already know what shapefiles are.
Located in the US in Eastern time
Please note: timezone is important for collaboration purposes. You should be located in the US in Eastern time. This is a hard requirement. (We understand that you may be so excited about working with us that you're willing to start your work day at 6am every day, but we don't think that's sustainable long-term.)
We believe that diversity, equity, and inclusion are more important than ever. All applicants will receive equal consideration for employment without regard to race, religion, background, gender, gender identity or expression, sexual orientation, ethnic or national origin, disability, genetics, age, family or pregnancy status, or veteran status. We strongly encourage people from underrepresented or disadvantaged backgrounds to apply.
Why join our team
If you’ve read to this point, wonderful! We’re guessing that probably means you’re interested and think you might be a good fit, and hopefully this section seals the deal.
Yes, it’s remote! This is a 100% remote, never-going-back-to-office job. (We don’t even have an office.) With that said, your coworkers will be located across the US and Europe, so you should be prepared to occasionally have an early or late meeting depending on who you’re talking to.
Above-market rate compensation: It’s worth it to us to pay good money for amazing people, so your salary will be above market rate plus bonuses. We’ll use payscale.com’s median salary for an engineer of your experience in your location as a starting point and build your compensation package from there. You’ll also get bonuses based on company performance and tenure—so if we hit our goals, you’ll be rewarded accordingly. The base salary range for this position before bonus is $55,000-$75,000 depending on experience.
Great benefits: Just because we’re a small company doesn’t mean we skimp on benefits. You’ll get two weeks of paid vacation, Federal holidays, unlimited sick time, paid parental leave, retirement savings with company match, and health insurance. We want you to feel well taken care of so you can do your best work.
Small team that cares: We’re a small team and we only hire nice people. We feel passionately about treating our customers as we would want to be treated ourselves and having a work environment that is supportive and empowering. This is a company where you can take time out of your workday to go to a therapy appointment, share an idea that's outside of your job description, and have an honest conversation with leadership.
How to apply
Our goal is for the entire process to take less than two months. If you aren't selected to move forward, we'll do our best to let you know within three weeks so you aren't left hanging. We know it takes a lot of time to fill out job applications, and we respect your time.
How to strengthen your application
Before deciding to apply, we encourage you to try out our product and scroll through our blogs to understand what we do and how we do it. Here's how you can give yourself a leg up:
Create a free account here and play around with our API
Read our Code and Coordinates blog to get a sense for what our engineering team is excited about these days
Scroll through our Updates blog to see the kinds of features we're shipping lately
Application process
Submit this Google form, including a short introduction video. As there are so many issues with fake applications these days, this is to make sure you’re a real human.
Interview with the hiring manager
Team interviews
Final interview
Reference check
Please note
If you have questions, you’re welcome to send us an email. Please be aware that only applications submitted through this form will be considered. Emailed applications will not be considered—please, help us stay organized so we can get back to you.
For security and compliance reasons, we are required to run criminal background checks on all employees. If a criminal background check would surface something for you, that is not a disqualifier, and you have the opportunity to provide context in the application if desired.
Principals only. Recruiters, agencies, or freelancers not interested in a full-time position who reach out to us about this position or use the form below will have their email and company domain permanently blocked and marked as spam.
Related Resources
Contact Us
Have a question about this position? Please feel free to reach out. (Remember that only applications submitted through the form will be considered, and that recruiters will be blocked.)