About the Company:
Stable Kernel is a technology services firm and custom software developer building scalable software solutions for cutting-edge, innovative enterprises to move their business forward. We are headquartered in Atlanta, GA.
Were a privately held, Great Place to Work Certified Company with a multi-award-winning culture and an impressive 10-plus-year trajectory of sustainable growth. At Stable Kernel, we support our employees in ways that help them do some of the best work of their lives.
About the Role:
As a Stable Kernel Senior Software Engineer, you play an essential role in setting our portfolio of world-class clients up for success through the development and delivery of their most innovative, transformational initiatives. You will collaborate daily with other engineers and product team members, make decisions that influence the path of a product roadmap, leverage software development best practices, and become a more well-rounded engineer as you learn new technologies. Your knowledgeable practice, reliability, and consultative nature make you an engineer that stakeholders and teammates trust.
Senior Software Engineers may be classified as individual contributors or people managers with individual contributor responsibilities.
Core Responsibilities Include:
- Technical Impact:
- Mentoring others in best practices.
- Ensuring a high standard of quality across the project.
- Identifying, diagnosing, and resolving complex bugs and issues.
- Designing and implementing solutions with an eye to the growth of the product and team, improving the speed of future work, and preserving optionality without unnecessary complications.
- Providing expert feedback that improves the overall delivery of work and defending the work against compromise and corner-cutting by having the final say in codebase additions.
- Designing test strategies and having involvement in automated testing, continuous integration, and deployment processes for projects
- Business Alignment:
- Understanding the client’s business and goals and using them to improve the definition of teams projects.
- Identifying opportunities to provide additional value for our clients by suggesting and delivering improvements based on observations.
- Contributing to the estimation of work for high-level planning and costing that clearly identifies gaps, risks, and assumptions.
- Interacting with Others:
- Coordinating with people outside your team, including product and design leadership.
- Influencing the roadmaps of other teams, especially to get work prioritized thats required for your own team.
- Advising people across the Director and VP-levels of the organization.
- Reporting status for the whole team with a general understanding of where each member’s work is.
- Autonomy & Ambiguity:
- Designing and supporting long-term roadmaps with limited direction and requiring no direction on project plans.
- Considering and planning around cross-team dependencies to most effectively break down work across the team.
- Working within ambiguity to define and break down challenging projects (e.g., projects that are hard to derive benefits from until the end of the project, projects that are very large, or projects that have a lot of uncertainty or require novel solutions).
- Problem-Solving:
- Making trade-offs between short-term and long-term solutions.
- Evaluating trade-offs others are making.
- Analyzing the effectiveness of decisions and demonstrating accountability for outcomes.
- Anticipating, recognizing, and mitigating risks to prevent potential roadblocks.
- Escalating issues and bringing recommended solutions to the table.
- Leadership:
- Setting a positive example by using our company values and imperatives as a north star.
- Providing regular constructive feedback.
- Resolving conflicts.
- Guiding less experienced colleagues through complex projects.
- Leading team learning sessions.
- Demonstrating strong project roadmapping skills, including planning, delegating, and monitoring progress.
- Making critical decisions and driving projects to successful completion.
- Taking ownership and contributing to process improvements that positively impact the work.
- Advocating for best practices across your project or client program.
- Mentoring junior and intermediate colleagues by helping them grow professionally.
Intimate, Working Familiarity With:
- Deep understanding of the Android SDK, Java, Kotlin, and relevant development tools.
- Expertise with Jetpack Compose and AndroidX libraries, Android open source, community libraries and frameworks, as well as Dependency Injection frameworks.
- Extensive experience with performance testing, profiling tools, and optimization techniques.
- Strong experience in stress testing applications, with a solid understanding of multithreading, concurrency, and managing memory in long-running apps.
- Proficiency in using version control tools such as Git.
- Experience with Continuous Integration/Continuous Deployment (CI/CD) processes.
- Extensive experience with performance testing, profiling tools, and optimization techniques.
General Requirements:
- 7-10 years of development experience with an emphasis on native Android development.
- Experience with common stack and cloud technologies. Google Cloud, AWS or Azure notably.
- Familiarity with databases (e.g. MySQL, MongoDB), web servers (e.g. Nginx), frameworks and libraries (e.g. Ktor, OkHttp, Square open source, Hilt, Koin) and UI/UX design.
- Knowledge of common communication protocols and tools used in mobile architectures like Protobuf or HTTP.
- Familiarity with common architecture patterns like MVVM or MVI.
- Familiarity with software practices like SOLID.
- Degree in Computer Science or relevant field or experience.
- An eye for visual design and utility.
Nice to Haves:
- Experience with native iOS development.
- Knowledge of multiple front-end languages and libraries (e.g. HTML/ CSS, JavaScript, XML, jQuery).
- Knowledge of multiple back-end languages (e.g. Java and Kotlin, Golang a plus) and JavaScript frameworks (e.g. Angular, React, and Vue).
- Command of *nix terminal for scripting, process automation, etc.
How to apply:
If you meet the requirements, please schedule an interview with Emilio Primucci or Natalia Diotti, using the Calendly or Cal.com link you received