Full Stack Engineer
Mayvenn is looking for full stack developers to join the existing, albeit small, engineering team. The majority of our microservices are in Clojure, but we do have some existing code in Rails. With that, we’ve had a heavy focus on data immutability while enjoying functional programming.
We're generalists that work on all the technology that powers Mayvenn. There are currently more microservices than engineers, so we're careful how we handle the complexity:
We pair program. So two engineers work together with a MacBook Pro, dual displays and keyboards. Communication is key to working efficiently and effectively. Code context is important to remain productive.
We blackbox test. We write tests with every feature or bug. Our preferred testing style is black-box, to ensure correct behavior while allowing free reign on refactoring without changing tests.
We're polyglots. Although most of our code is in Clojure, the we aren't afraid of using other programming languages where they fit. Our deployments are done in Ruby. We have a consul service registration app that's in Go. Our team has plenty of previous experience in a wide variety of programming languages.
We're striving for continuous improvement . Besides pairing and testing, we have open source every Friday afternoon. There's bi-weekly retrospectives to identify and resolve any problems we have (or celebrate wins). Our engineers also selectively curate interesting technical reading for those interested.
- Work on a wide variety of projects ranging from front end CSS to shipping notifications on the back end (mostly in Clojure).
- Learn and teach your fellow engineers new technologies and architectures.
- Work on projects that support customers, stylist, and other teams in Mayvenn.
- Collaborate with other parts of the business to ensure we're working on high value features.
- Pair program most of the time.
It turns out that making simple products isn't easy -- that's why we need you. Please reach out if you're interested in working with us or are want to get to know us better.
We're looking for engineers that are curious. You should be willing to learn and teach new things. This means coming in knowing Clojure is not a requirement since that can be taught (but it definitely doesn't hurt if you know it). Instead, familiarity with the underlying concepts of the technologies that we use on a day-to-day and being open to learn new concepts is what we look for.
- Experience with full-stack development for web apps.
- Value testability of the software you write.
- An interest in functional programming and immutability.
- Have a collaborative demeanor with your other engineers and teams at Mayvenn.
- Experience with Clojure, ClojureScript.
- Experience using Kafka, ElasticSearch, Consul, Dynamodb, Docker, and/or ReactJS.
- Writing flexible tests for all parts of the stack that capture behavior while allowing refactors.
- DevOps experience with running distributed systems and applications on AWS.
- A preference for declarative and clear implementations over relying on convention or magic.
- A personal interest to move beyond Rails
Some of what Mayvenn offers:
- Competitive pay and benefits (health insurance, commuter benefits, 401K + match, etc.).
- The current team, although small, has a wide variety of backgrounds that can help train in any areas you may not be as strong in; meanwhile, we’re excited to learn from your expertise.
- Alternative architectural decisions for more understandable distributed systems. Some examples: event sourcing instead of a single state column, a heartbeater instead of cron, and for our front end application, a single events channel instead of scattered callbacks.
- A wide variety of unsolved issues within our current stack from smoother deployments to data pipelines.
- A culture of evaluating and embracing new technologies. For example, we embrace Consul to transparently handle service discovery with health checks instead of ZooKeeper.
- Giving back to the open source community every Friday afternoon.
Why choose to work for us?
- Spend your day with respectful peers that value your contribution
- Gain early influence over the platform we’ll build together