Android Developer with Kotlin Experience
stable|kernel is a developer-led company, focused on making good developers great.
CEO Joe Conway is the author of the iOS Programming: The Big Nerd Ranch Guide and spent his career training thousands of developers across the world - including at Facebook and Apple. This training continues today at S|K HQ in a number of ways.
First, one of our four core values is 'Learn & Share.' We believe the best way to learn is to forge the path ahead, and then teach others through blog posts, lunch and learns and off-the-cuff chats in our collaborative (and majestic) office space. Developers are also able to attend a conference once per year, all expenses on us. We also believe that being a polyglot makes a developer better in every language, and our team will help you learn new languages and frameworks while contributing to the applications we build.
Our company builds applications for other companies - ranging from large enterprises to startups. A key component that sets a stable|kernel developer apart is that they are actively involved in the impact a product has and the best way to deliver that impact. They are not just implementors, but collectively function as product managers.
We take an active role in evaluating our client's problems and opportunities, planning and presenting a solution, and then implementing and delivering it. This allows developers to constantly challenge themselves with new problems and technologies. These projects might contain multiple components - from a simple application to a system consisting of HTTP APIs, databases, mobile and web applications. Our projects are most often brand new applications and systems we architect, which allows us to use the latest and greatest in languages, frameworks, and operating systems. Oh, and we really value automated testing.
A developer at stable|kernel works on a 2-8 person team dedicated to a single project. A team consists of other developers, UX/UI designers, and project managers. A typical project takes anywhere from three months to a year. All work is done in our office in Atlanta, GA (which again, is majestic). Because we believe teams work best when they are constantly collaborating, we do not have remote employees - but we do have a flexible work from home policy.
When not working on client projects, we maintain a number of open source (e.g., https://aqueduct.io) and closed source libraries and tools. Developers are able to strike a balance between delivering applications and working on interesting libraries that enable our entire team to operate more effectively.
Interested? Here's what we are looking for:
You should have a solid understanding of the Java language, the JVM platform and a working understanding of Kotlin. This includes things like being able to create and properly leverage extension functions, higher order functions, as well as the differences between Kotlin and Java idioms. It should be trivial for you to rewrite a Java class into Kotlin.
You should have a strong foundational understanding of the Android framework. The lifecycle hierarchy, relationships between Activities and Fragments, and Lifecycle Aware Components are all ideas you should be fluent in. Other libraries such as Dagger 2, Data Binding, Retrofit, and RxJava are required tools that we use every day. Additionally, a solid understanding of how HTTP APIs (REST) work is preferred.
You should be able to communicate the tradeoffs of architectural and design choices without involving ego. We require that all code we write is reviewed by another team member (through pull requests), so it is important to be able to both contribute to that process as well as learn from it.
We use GitHub, JIRA, Confluence, Slack, BuddyBuild, and TravisCI on a daily basis. You don't necessarily have to know how to use those tools (we'll teach you), but having experience in them is helpful.
The hiring process is transparent. We'll start by doing a 15-minute phone interview to go over some basics, understanding your experience to date, and what interests you about stable|kernel. From there, we'll move on to a one-hour coding exercise (either in person or via Google Hangouts). This exercise takes a small project and adds some simple features that demonstrate your experience. Then, you'll meet a few members of the team to get to know each other before we make an offer.
- Meaningful and reinforced company values and goals
- Competitive salary with performance-based bonus opportunities
- Health, vision and dental plans at 100% personal coverage, supplemented family coverage
- 401k with generous company matching
- New MacBook Pro
- Flexible work environment
- Epic company outings
- Paid family leave
- One all-expense paid professional conference each year
- All-expense paid conference speaking opportunities
- Mentor/mentee opportunities
- Continuous personal & professional development
- Premium BeltLine location
- Pet-friendly work environment
- Free parking
- Fully-stocked kitchen with drinks, snacks and breakfast