Software Engineer - Mid Level
Role details
Job location
Tech stack
Job description
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 classification and optimization problems, eg 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 (eg distributed clusters, multicore SMP, and GPU).
Requirements
Required:
Master's degree (or foreign equivalent) in Computer Science, Computer Software, Computer Engineering, Applied Sciences, Mathematics, Physics, or related field
Completion of one graduate-level coursework, research project or internship must include experience in the following:
Machine learning, recommendation systems, computer vision, natural language processing, data mining, or distributed systems
Translating insights into business recommendations
Hadoop/HBase/Pig or MapReduce/Sawzall/Bigtable/Spark
Developing and debugging in C/C+ and Java
Scripting languages such as Perl, Python, PHP, or Shell scripts
Relational databases and SQL
Software development tools: Code editors (VIM or Emacs), and revision control systems (Subversion, GIT, or Perforce)
Linux, UNIX, or other
ix-like OS as evidenced by file manipulation, advanced commands, and Shell scripting
Data processing, programming languages, databases, networking, operating systems, computer graphics, or human-computer interaction
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