Nextdoor is a platform that connects neighborhoods to foster community and belonging. As a Software Engineer, you will design and develop mobile applications, focusing on enhancing user engagement and performance while collaborating with cross-functional teams.
Responsibilities:
- Work across all phases of the software development life cycle within a project to design, code, test and document complex software requirements for mobile applications
- Design, develop, and maintain features for the company’s mobile application, with a focus on consumer products under FeedUX
- Implement new feed functionalities and enhance existing components to improve performance, usability, and engagement
- Develop and improve networking, analytics, experiments, modular app structure, and testing infrastructure while adhering to software engineering best practices
- Write queries to analyze performance of features and refactor code to improve scalability
- Write technical design documents to align on approaches for large scoped projects
- Collaborate with cross-functional partners, including product managers, designers, QA, Go-To-Market, and backend engineers, to translate requirements into technical specifications and deliver high-quality mobile software
Requirements:
- Master's degree or foreign equivalent in Computer Science, Engineering, or closely related technical discipline
- Three (3) years of experience as a Software Engineer, or closely related position
- Alternatively, will accept Bachelor's degree in or foreign equivalent in Computer Science, Engineering, or closely related technical discipline and five (5) years of progressive, post-bachelor's experience as a Software Engineer, or closely related position
- Any suitable combination of education, experience, and training is acceptable
- Must have demonstrated experience in the following: Utilizing software development processes across the full software development lifecycle, including requirements gathering, documentation, design, development, code review, testing, deployment, and production support
- Utilizing Kotlin, Jetpack Compose, and XML-based layouts to build user interfaces
- Utilizing RESTful APIs and GraphQL to integrate mobile applications with backend services
- Utilizing object-oriented programming languages, including Java and Python, to develop and maintain source code and resolve software defects
- Optimizing mobile application performance, memory usage, and responsiveness to improve infrastructure efficiency and user experience
- Utilizing source control and collaboration tools, including Git, GitLab, and GitHub, to manage codebases and maintain configuration and documentation files
- Collaborating with cross-functional teams, including product managers, designers, quality assurance engineers, marketing teams, and backend engineers to deliver mobile applications
- Creating technical models, diagrams, and flowcharts to support software design and implementation