Skip to content

Software Engineer – Machine Learning
Company | Meta |
---|
Location | Menlo Park, CA, USA |
---|
Salary | $184187 – $200200 |
---|
Type | Full-Time |
---|
Degrees | Master’s |
---|
Experience Level | Mid Level |
---|
Requirements
- Requires a Master’s degree in Computer Science, Computer Software, Computer Engineering, Computational Data Science, Applied Sciences, Mathematics, Physics, or related field.
- Completion of a university-level course, research project, internship, or thesis in the following:
- 1. Deep learning systems
- 2. Methods, mathematics and algorithms needed to do research and applications in machine learning
- 3. Machine learning, recommendation systems, computer vision, natural language processing, data mining, or distributed systems
- 4. Analytic algorithms (e.g. classification, clustering, ranking, prediction)
- 5. Developing and debugging in C, C++, Java, or Python
- 6. Interactive analysis (Jupyter and R) and visualization techniques for data analysis
- 7. Distributed file systems, NoSQL databases, and object storage systems including: HDFS, CephFS, HBASE, MongoDB, Cassandra, DynamoDB, S3, and Swift
- 8. Software development tools: Code editors (VIM or Emacs), and revision control systems (Subversion, GIT, or Perforce)
- 9. Linux, UNIX, or other *nix-like OS as evidenced by file manipulation, advanced commands, and shell scripting
- 10. Solution design (including architecture, framework APIs, cloud computing), and solution optimization and performance measurement on real-world tasks
- 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. Designing, implementing, and debugging real distributed systems
- 14. Compilers, networks, operating systems, and computer architecture.
Responsibilities
- Research, design, develop, and test operating systems-level software, compilers, and network distribution software for massive social data and prediction problems.
- Have industry experience working on a range of ranking, classification, recommendation, and optimization problems, e.g. payment fraud, click-through or conversion rate prediction, click-fraud detection, ads/feed/search ranking, text/sentiment classification, collaborative filtering/recommendation, or spam detection.
- Working on problems of moderate scope, develop highly scalable systems, algorithms and tools leveraging deep learning, data regression, and rules based models.
- Suggest, collect, analyze and synthesize requirements and bottleneck in technology, systems, and tools.
- Develop solutions that iterate orders of magnitude with a higher efficiency, efficiently leverage orders of magnitude and more data, and explore state-of-the-art deep learning techniques.
- Receiving general instruction from supervisor, code deliverables in tandem with the engineering team.
- Adapt standard machine learning methods to best exploit modern parallel environments (e.g. distributed clusters, multicore SMP, and GPU).
- Leverage build and compile tooling.
- Develop unit and regression tests.
- Submit candidate code changes to internal code review system.
- Regular review code submissions of other engineers.
- Communicate progress broadly via internal messaging systems.
Preferred Qualifications
No preferred qualifications provided.