Internal Application: Front-End Engineer
Engineering | San Mateo, CA | Full Time
On average, U.S. students are with substitute teachers for 5% of the typical school year. That means our students have substitute teachers for more than six months of their K-12 school career. The problem? We're suffering from a national shortage of substitute teachers.
Swing Education is focused on tackling the substitute teacher shortage. We make it easy for great schools and quality subs to find each other. We help schools access more subs and offload tedious work (recruiting, screening, payroll, etc.) and we help subs find jobs, gain experience and build their professional network.
Swing is a revenue generating, Series A, YC company (through ImagineK12).
The good news - our user`s love our product, but there's definitely a lot of work to be done. In addition to adding key functionality that differentiates us, we will be building a mobile app from scratch. We're looking for our first front-end engineer who is excited to tackle some of our meaty UI/UX and dynamic environment challenges.
Near-term, the work will focus on translating our current mockups to code. Longer term we're looking for someone who can strategically think through design challenges, both from a conceptual and execution/performance standpoint. Our product has a very diverse set of users (with a wide range of tech savviness), and operates in real-time (updates can happen every second).
- Web front-end (consumer and enterprise side): working primarily in ClojureScript with Flexbox based layouts
- Engineering responsibilities will include working with Product to digest and translate specs/mockups into implementation plan (including reusable components and performance testing), and working with Engineering and Product to implement front end components
- Features will include: capacity planning (i.e., reserving sub's schedule in advance), school and sub feedback, school onboarding workflow
- Mobile front-end (consumer side): especially iOS, but eventually we'll be looking for Android help as well. That includes:
- Translating our current iOS mockups (built in Invision) into clean, easy to maintain and reusable iOS components (using React Native)
- Working with the Product team to translate current web functionality / screens into mobile
- Evaluate and test all components, including for performance pitfalls and improvement
- Bigger picture revamp of front-end components
- Working with Product and Engineering to revisit current front end components and identifying opportunities to enhance and streamline (to improve both usability and performance of front-end components)
- Front-end strategy, including automated testing, cross-platform compatibility (e.g., keeping web and mobile platforms consistent)
We write and run Clojure everywhere. Clojure is a pragmatic, functional Lisp that is designed to
Our data is stored in Datomic, which allows us to treat our current database state as a value and greatly simplifies testing and development and is also capable of calling into Clojure functions we define.
Because of our transactional marketplace, we try to ensure that users always have the current state of the world in real-time, and use sente to help manage real-time communication.
- BA/BS in Computer Science or related technical field or equivalent practical experience
- 3-5 + years of relevant professional experience
- Able to work independently and take initiative, as well as work collaboratively and contribute to an agile team environment
- Proficient knowledge of Clojure - knowledge or experience in functional languages is a plus
- Excellent analytical and troubleshooting skills
- Excellent written and verbal communication skills
- Strong work ethic and entrepreneurial spirit
- Design Thinking
- Hypothesis driven development
- Agile principles