We scooped up Daniel Baah back in 2014, as a recent college graduate. We’re lucky to have such an extraordinarily quick learner on our team who’s willing to jump into any tech stack and learn it from front to back. Don’t let his laid back demeanor fool you. And don’t step on his kicks.
What have you been up to at SpatialDev?
My first project at SpatialDev was to Angular-fy Financial Services for the Poor (FSP) maps. I used the Spatial Viewer base and added a bunch of features. Spatial Viewer (part of Spatial Server: see our Spatial Server news post) gives you the option to toggle things on the map, so we thought that was a good starting point for improving the FSP maps. I poured all the code from classic FSP maps into Angular, which was tedious, but a great opportunity to see how Angular compared with an older client side library (jQuery). I could see why we chose Angular for this and other upcoming projects.
Africa-Rising was another project I worked on awhile back. This project was built using jQuery, Dojo, and Microsoft ASP.NET Web API. I spent a lot of time piecing together multiple types of data served out by our API. It was a successful project; we had nothing but positive reviews from the client. This project put my problem-solving skills to the test; the biggest opportunity was jumping in to learn someone else’s code … that’s always challenging. It was also my first time using an ESRI map (ESRI stack). I learned a lot of new GIS functions like “Union”; a cool way to create a new geometry extent by combining multiple polygons into one. Ryan and I decided to start a “GIS function of the day” tracker on the whiteboard, and because “Union” was the first one, it will always have a special place in my heart.
The data reports part of the project was very complex. We created a data editor compiled of rows and columns that could be seamlessly exported to Microsoft Excel. Each data category had personalized functionality, making extensibility difficult. I also had the opportunity to use Google analytics.
Another fun project I worked on was the Mapfolio project for the Red Cross. Specifically, I worked on filtering spatial data by project and disaster type. I really enjoyed this project, mostly because of the significance of its objectives.
Describe the project you’ve worked on that you’re most proud of. What did you do that worked out particularly well?
I am most proud of the filtering piece within the Africa Rising project. This feature allows users to filter the farming sites by region, countries and districts, partners, and technology. It was an interesting way to present insightful results to the user by filtering multiple types of data.
What are you geeking out about these days?
The current project I’m working on pieces together multiple technologies for an end-to-end solution. It starts on the ground with people collecting survey information. This data funnels through our API and into a database we created, and then back into the UI. There are so many moving parts; it’s really intricate. I’ve also been geeking out about Google Material Design.
What do you like about Material Design?
It’s 2015 and I think it’s very important that we create websites on multiple platforms that operate in unison. Google has provided us with multiple Material Design libraries full of elements that every web application can use. We have implemented this on quite a few of our current projects.
Some of your projects have complicated data models, can you talk us through a particularly complicated database schema?
The relational database schema for the current project I’m working on is piecing together data coming from surveys that show ownership between a human and a piece of land. The challenge is handling dynamic surveys. Our target areas have their own way of handling land tenure. The challenge is to create a robust way to capture specific information from many types of surveys that will populate our database in a consistent manner.
What are some best practices when working with databases?
- Never delete anything!!!
- Keep track of every change made in a database (using change scripts)
- Back up frequently
- Have an automated way to build and nuke the database
- Create database functions that return insightful error messaging
As a fullstack developer, do you have a preference: back end/front end?
I do not have a preference. I like to dabble in both. Working only one side of a technology stack can get boring, so I like to switch it up.
What industry sites and blogs do you read regularly?
I read Wired magazine. I enjoy Mapbox’s blog; they always have interesting content. I am on ESPN all day, every day. Sometimes I catch myself surfing around on Tech Crunch and Ted Talks.
What are a few of your favorite development tools and why?
I love PG Admin (UI for managing Postgres databases). Webstorm is my go-to IDE (integrative development environment) for all the Angular stuff we are doing. I like using Photoshop for implementing UI. Slack is growing on me… it’s the cooler/ hip Skype. I recently became familiar with QGIS (open source software editing tool).
What skills and technologies are you the most interested in improving upon or learning?
I am very interested in learning GIS in general. I have very elementary knowledge on GIS as a whole. Manipulating maps is something that I hope to get better at. Doing cool GIS calculations is interesting to me, so I look forward to working with Phoebe and coming up with a plan to better my GIS skills.
What’s your favorite development language and why? What other features (if any) do you wish you could add to this language?
My current fave is Angular because of its data-binding simplicity. I would add better documentation and better error messages to it!!
What do you do outside of work?
I like to skateboard every now and then, but right now I’m kind of a poser because I just do the same tricks over and over again. I play a lot of basketball. I am proud to say that my men’s league team is in the process of defending our championship! I love LeBron James and have probably seen every single basket he’s made since he joined the NBA. I’m also a Seahawks fanatic. I like to go on spontaneous trips around the West Coast. Recently, I went to LA and witnessed UW beat USC and that was awesome!!! Around here, I try to make it out to Vashon Island as much as possible.