Staff Software Engineer
Company | Samsung |
---|---|
Location | New York, NY, USA, Mountain View, CA, USA |
Salary | $200000 – $235000 |
Type | Full-Time |
Degrees | Bachelor’s, Master’s, PhD |
Experience Level | Senior, Expert or higher |
Requirements
- Typically requires at least 8 years of related experience and a Bachelor’s degree; or 6 years and a Master’s degree; or a PhD with 3 years.
- 3 years of experience in programming with Erlang
- Experience in designing and building highly scalable, high throughput distributed systems
- A solid foundation in systems programming, computer science and software engineering
- Can do attitude, take ownership and responsibility of the task and drive things to completion with minimum support
- Collaborative spirit with a willingness to mentor others
- Curious mind that enjoys building things and appreciating the craftsmanship in software
- Hands-on experience working in a multithreaded environment
Responsibilities
- Create enterprise level distributed server infrastructure for mission-critical operations
- Research and develop algorithms for distributed consensus, replication, consistency, availability and scalability
- Makes difficult design trade-offs and decisions about features, schedule, quality and cost
- Seeks the optimal technology solutions to problems from internal and external options, and applies appropriate methodology to identify issues/concerns
- Primary accountability for major elements of a project, determines all tasks that are required, and is responsible for project outcome
- Designs, develops and/or directs research and tests to validate effect and consequences of designs, process or product enhancements across projects and/or products
- Proactively determines measures and standards of success for project, product, and process quality within project teams
- Participate and follow all team processes and technical standards
- Some travel may be required (up to 10%)
Preferred Qualifications
- Familiar and experienced following Agile methodologies such as Scrum
- Functional programming experience
- Experience mentoring and guiding junior developers
- Previous experience as a lead
- Experience with Code Version tools like Git and collaboration tools like JIRA