Community Spotlight: Sally Hill @ Trail

Rylee Hurley
PostedJun 28, 2021
By Rylee Hurley
Sally Hill

What is your specialty/area of expertise?

Frontend development, especially ReactJS.

What inspired you to get into frontend development?

Well, when I was young I used to make these corny Nine Inch Nails themed myspace layouts. I would use Photoshop 7 to make images with photos of links and then image map links onto the page. It was pretty horrible and not accessible, but the pages did look dank, and I got exposure to HTML and CSS as a result. However, coding never seemed like a fun thing to study. Partially, that was from experience with a crusty old basic computer science curriculum in high school that wasn’t terribly fun or in date. Being one of the only girls in a class also sucks. In addition to whatever hesitancies there might have been around the learning environment and process, there’s also a massive divide between being able to write HTML in a notepad document and understanding how servers run code to serve websites. The concept of what code was, what read it and executed on it - that was always shrouded in mystery. Way later on I went to a tech-themed art residency in Florida after attending art school. Someone told me about a coding bootcamp happening in Costa Rica. Honestly, I just wanted an excuse to avoid life after school for another 6 months and an excuse to be somewhere hot. I don’t know if I even believed I could ever get a job in computer science. I thought I could learn enough code to be able to apply for “net art” grants, which were very much a thing at that time. Everyone was chucking iPads onto their sculptures or doing hokey things with Processing; tracking human movement to show projected sparkles so they could get specially allocated grant money. Once I did that bootcamp, I was into Python because I found it simple. I found the frontend DOM manipulation cycle overwhelming to design. However, as I took up odd jobs, people needed websites and not just scripts. When I got my first full-time job in tech, I kept getting put on Angular tickets. It was refreshing to feel like I could know as much in a certain domain as my superiors if I kept at it because Front End MVC pattern frameworks felt so new at the time. I loved that I could discover something for the team in that domain. The ambiguity and chaos of javascript patterns were a fun cloak to prototype and push code out quickly, for better or worse. Eventually, I considered coding patterns more just to avoid typing so much redundant code. I joined a team that was coding React and fell in love with the experience of working with it, though I still feel like it’s not optimal out of the box for render performance.

What is your team working on at Trail? 

Trail is an app for hospitality and leisure businesses that tracks the completion of daily tasks across sites. It allows teams to easily enter data, making it easier to comply with health audits. Right now we’re working on improving the experience of reviewing and parsing all this data in our app. It’s a fun time because we are really prioritizing performance when handling all this data of everything ever done by anyone ever in our app, so we are fostering a lot of space and process to plan and reflect and research on performance.

What do you love most about working on a productivity-focused product?

Well, I like that we’ve made a product that is designed well for the teams on the ground at sites. I’ve worked in places where the people who would be dominant in the real-life economic relationships we were facilitating, the ones buying the product, got all the attention when it came to design and implementation. I love that our product is actually nice for teams to use - it’s easy enough to use offline for periods and it’s cute. Getting that “on the ground” buy-in is critical for the implementation of this task management system to work.

Any specific languages or frameworks you prefer using? Why?

I love React and Redux, but it’s not really about React and Redux - I love that the combination facilitates selectors. The selector pattern is simply pure functions that you memoize and compose. Keeping data parsing logic up to date across software is so much easier with composable pure functions. All I want in my life is composable pure functions, shared across encapsulated modules.

Do you work remotely? If so, what tips do you have for remote work/life balance?

Yes, I do! I work remotely for a company in Britain. However, even when I lived in Britain myself I worked remotely. The adjustment was rough. I think accepting that the adjustment to remote work is rough is probably step #1 to adjusting. Be compassionate with yourself and pay attention to what’s working and not working for you, understanding that it’s hard to go from an environment where you see humans in person all day and have built-in state changes from home to work, to one where you’re isolated and can easily let your work and home bleed together in a bad way. Enforcing my own routine has helped a lot: morning yoga or meditation, making sure I eat lunch, having alarms set at the end of the day to force myself to stop working. I try to work in a different space from where I’m going to relax after work. Drinking on my couch watching Netflix is a convenient way to force a state change from work to personal time, but it sort of sucks in an accumulative way to do that every day, so I try to go for a walk or get involved in some sports after work. Get thee outside.

What technology and trends are you most excited about?

I used to feel more strongly about certain libraries being THE solution for whatever was at hand, but libraries change out so fast in JS land, suddenly switching owners or developing opinions about your build structure or compilation process. That desire to always be the shiniest library, even when it’s not needed and just breaks upgrading is frustrating. I think moves towards functional programming patterns in js excite me the most. In terms of actual libraries, react-virtuoso has been amazing for building out an enormous list with bidirectional infinite scroll lately. It’s just so easy with that library, it’s eliminated so many headaches and made a lot of nice-to-haves possible in a short span of time.

Do you have any advice for people looking to transition into frontend development?

Don’t psych yourself out before you start. It seems like a lot to learn code because it is, and that’s ok because you will keep learning over years and years at work. Your learnings will scaffold. The loudest, most confident people learning alongside you or mentoring you aren’t automatically right or smarter than you. Once you’ve learned some basics for building an app, the real fun begins. You get to start looking up different ways to structure projects, different ways to design the relationship between actions and content. You can ponder how to represent the differences between state generated from user interactions and state coming back from the server. The better you design your app, the less you trip over it later as well. Making a codebase that consistently works for you as you change it is an ongoing process. It sounds dull, but it’s really creative. 

Stay up to date with the Halihax newsletter

We'll let you know about upcoming events, speaking opportunities, or other important community news.

Stay up to date with the Halihax newsletter

We'll let you know about upcoming events, speaking opportunities, or other important community news.