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.
- May telecommute from anywhere in the US.
- Master’s degree in Computer Science, Engineering, Applied Sciences, Mathematics, Analytics, or a related field and 36 months of experience in the job offered or in a related occupation.
Requires 36 months of experience involving the following: - 1. Coding in at least one of the following industry-standard languages: C, C++, Java, or C#
- 2. Building large-scale infrastructure applications
- 3. Designing and completing medium to large software features independently without guidance
- 4. Owning a particular software component, feature, or system
- 5. Python, PHP, or Haskell
- 6. Relational databases and SQL
- 7. Software development tools: Code editors (VIM or Emacs), and revision control systems (Subversion, GIT, or Perforce)
- 8. Linux, UNIX, or other *nix-like OS as evidenced by file manipulation, advanced commands, and shell scripting
- 9. Core web technologies: HTML, CSS, or JavaScript
- 10. Building highly-scalable performant solutions
- 11. Data processing, programming languages, databases, networking, operating systems, computer graphics, or human-computer interaction
- 12. 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
- 13. Distributed Systems.
This job isn't fresh anymore!
Search Fresh JobsJob Profile
May telecommute from anywhere in the US
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
- Handle large scale data storage, synchronization and coordination of large server cluster
- Identify and drive changes as needed
- Identify and drive changes as needed for assigned codebase, product area and/or systems
- 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 Software Development Tools SQL Subversion UNIX VIM Web Web Technologies
Experience36 months
EducationAnalytics Applied Sciences Computer Science 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