FTE Oakland, CA
Opensource search, firm based in Oakland, looking to hire a full stack engineer to assist with scaling and modernizing their architecture.
Key role where your work with have a direct impact on the org, great work/life balance organization that is passionate about search and scalable systems.
Responsibilities:
- Improve the quality of a large web software application
- Support the move to a microservice architecture by designing and writing new services that can gradually replace portions of the legacy codebase
- Support existing features while improving the quality of the current codebase
- Increase the number, quality, and reach of unit and integration tests
- Investigate and address production issues
- Work closely with software architects and database/operations engineers on system infrastructure and design
- Foster engineering best practices and technical excellence through mentoring of engineers and working closely together on projects (e.g. pair programming, code review)
- Provide technology analysis, proof of concepts, pilots, evaluations, and recommendations across the various heterogeneous technology stacks (LAMP, Java, Ruby on Rails, Go, Node.js, iOS, Android) and programming languages used
- Implement highly scalable, elegantly simple, secure, maintainable, and modular commercial grade new software for the core technology stack
- Accelerate the reduction of technical debt across our production software systems
- Evangelize and implement engineering and testing best practices across the company (code reviews, SCM conventions, tools, etc)
- Contribute to efforts to investigate, document, drive, and define goals, non-goals, formulate designs, plans, and implementation strategies for our transition to a microservices architecture
- Innovate, drive, and define high impact technology research and projects
Required Skills:
- 8+ years experience writing robust web/SaaS applications in one or more high-level programming languages such as Golang, Node.js, Java, Python, and Perl
- 6+ years experience in object oriented programming with expert knowledge of distributed systems, concurrency, REST web services, SQL and no-SQL databases, and internet scalability
- Extensive experience with web application frameworks and software development best practices (e.g. test-driven development, ORM, object-oriented design, code profiling, debugging)
- Experience with container and clustering technologies like Docker, Kubernetes, Tectonic, etc in a micro-services environment
- Background in cloud technologies and frameworks such as Amazon Web Services, Google Cloud, and OpenStack a plus
- Demonstrated success working as a technical lead on one or more significant projects
- Experience using software version control systems, especially Git and GitHub
- Success in mentoring and supporting other engineers
- Ability to work with complicated legacy code
- Experience working with Linux and SQL databases
- Ability to communicate effectively with both technical and non-technical colleagues
- Experience or interest in working within an Agile model (particularly Scrum)
- A high level knowledge and experience of industry trends and technology advancements relating to distributed systems, cloud, platform as a service, software as a service
- Experience in participating in open source standards and contributing to open source is highly desirable