Software Engineer, Systems
Menlo Park, CA | Remote, US
- Research, design, develop, build and test operating systems-level software, compilers, and network distribution software for large distributed components that run applications.
- Build new features and improve existing products.
- Work on problems of diverse scope and design core, backend software components.
- Handle large scale data storage, synchronization and coordination of large server cluster, and provide a runtime environment for front end code.
- Receiving little instruction on day-to-day work, code using primarily C/C++, Java, PHP and Hack.
- Interface with other teams to incorporate their innovations and vice versa.
- Conduct design and code reviews.
- Analyze and improve efficiency, scalability, and stability of various system resources.
- Complete medium to large features (each with many tasks) independently without guidance.
- Identify and drive changes as needed for assigned codebase, product area and/or systems.
- Telecommute from anywhere in the U.S. permitted.
- Requires a Master’s degree in Computer Science, Computer Software, Computer Engineering, Applied Sciences, Mathematics, Physics, or related field and three years of work experience in the job offered or in a computer-related occupation. Requires three years of experience in:
- 1. Coding in one of the following industry-standard languages: C, C++, Java, or C#
- 2. Python, PHP, or Haskell
- 3. Relational databases and SQL
- 4. Software development tools: Code editors (VIM or Emacs), and revision control systems (Subversion, GIT, or Perforce)
- 5. Linux, UNIX, or other *nix-like OS as evidenced by file manipulation, advanced commands, and shell scripting
- 6. Core web technologies: HTML, CSS, or JavaScript
- 7. Build highly-scalable performant solutions
- 8. Data processing, programming languages, databases, networking, operating systems, computer graphics, or human-computer interaction
- 9. Applying algorithms and core computer science concepts to real world systems as evidenced by recognizing and matching patterns from different areas of computer science in production systems
- 10. Distributed systems.
This job isn't fresh anymore!
Search Fresh JobsJob Profile
Telecommute from anywhere in the U.S. permitted
Benefits/PerksBenefits Bonus Equity Long term conditions Mental health conditions Pregnancy-related support Religious beliefs
Tasks- Analyze and improve efficiency, scalability, and stability of various system resources
- Build new features and improve existing products
- Conduct design and code reviews
- Design core, backend software components
- Identify and drive changes as needed
- Improve existing products
- Interface with other teams to incorporate their innovations and vice versa
- Research, design, develop, build and test operating systems-level software
- Work on problems of diverse scope
Algorithms C C++ Code editors Coding Computer graphics Computer Science CSS Databases Data processing Design Distributed Systems Emacs Engineering Git Hack Haskell HTML Human-Computer Interaction Java Javascript Linux Networking Operating Systems Perforce PHP Programming Programming languages Python Recruiting Relational databases Research Revision control systems Shell scripting Software Development SQL Subversion UNIX VIM Web Web Technologies
Experience3 years
EducationApplied Sciences Computer Engineering Computer Science Computer Software Engineering Master’s Degree in Computer Science Mathematics Physics Related Field
TimezonesAmerica/Anchorage America/Chicago America/Denver America/Los_Angeles America/New_York Pacific/Honolulu UTC-10 UTC-5 UTC-6 UTC-7 UTC-8 UTC-9