ML/DL Software Developer

Title: ML/DL Software Developer
Duration:  0-9 months
Location: Austin, TX 78753
Pay rate: $52/hr on W2
 
Description:    
Purpose: 
The ML/DL Software Developer will lead the implementation efforts for Dell EMC to create industry-leading, turnkey Machine Learning systems and solutions for the rapidly growing intelligent data analytics needs of the industry. The ML/DL Software Developer will help design and implement ML/DL systems for a wide variety of use cases and applications. Responsibility for this position includes leading the design and architecture of high-quality, complex systems software. Software Developer will work with Data Scientists and help in developing and implementing ML/DL algorithms and models for various use cases ML/DL Software Developers will reviews and analyze software specifications for ML systems, aid in the review and analysis of design, functional, technical and user documentation. This position is also expected to help in the development, testing and integration of software stack, consisting of new or existing software components from Dell Technologies and ecosystem partners, on top of the architected infrastructure. Testing responsibilities involves functional testing of the software as well as performance characterization to understand how the end-to-end system, including hardware, software and applications performs. This position will work with other Dell ML/DL, Big Data and HPC architects, engineers, developers, to ensure that new ML solutions are best-in-class matched to customer needs, cost-effective, supportable, and have potential for significant impact and revenue. 
 
Accountabilities:
Provides full design, planning, configuration, documentation, deployment and top-level support ownership of storage infrastructure technologies. Identifies design requirements and makes recommendations for capacity planning, performance optimization and future direction. Designs storage solutions per business requirements. This includes performing storage workload modeling for sizing, optimization and troubleshooting. Researches and compares system/OS features and works with vendors on system sizing for specific applications. Understands storage virtualization, data rationalization, workload automation, storage provisioning, Disaster Recovery and SAN Fabric management. Troubleshoots storage-related reliability, availability, and performance issues. Collaborates on and implements architecture recommendations to application integration, system administration, problem management, preventive maintenance, performance tuning. Identifies and eliminates performance bottlenecks and makes performance-related recommendations (hardware, software, configuration). Leads or participates in the software development lifecycle, which includes research, new development, modification, security, correction of errors, reuse, re-engineering and maintenance of software products. Manages or utilizes software that is built and implemented as a product, using best-in-class development process/lifecycle management (ex: Agile, Waterfall). Gathers business requirements and participates in product definition and feature prioritization, including customer usability studies. Performs competitive analysis for features at a product level scope.  Leads the testing and fixing of new or enhanced products. Creates technical documentation of software products/solutions. Assists with the development and review of end user and technical end user documentation. Drives idea generation for new software products, or for the next version of an existing product.  Protects Intellectual property by working appropriate legal elements (ex: procurement, patents, open source). Responsible for the delivery of products within budget, schedule and quality guidelines. Works with the team to develop, maintain, and communicate current development schedules, timelines and development status. Makes changes to system software to correct errors in the original implementation and creates extensions to existing programs to add new features or performance improvements. Designs and develops major functional or performance enhancements for existing products, or produces new software products or tools. Reviews requirements, specifications and designs to assure product quality; develops and implements plans and tests for product quality or performance assurance.   
 
Responsibilities:
Contributes to the design and architecture of high-quality, complex systems and software/storage environments 
Prepares, reviews and analyzes software/storage specifications for products and systems        
Contributes to the development, review, analysis and implementation of test strategies for complex software products and systems/for storage products and systems 
Contributes to the development, test and integration of code for new or existing software of significant complexity involving multiple teams 
Provides the review, analysis and closed-loop corrective action for issues contributing to software/storage defects and business process problems  
Designs and implements software lifecycle and quality assurance methods for projects and products 
Presents accurate project status to senior leadership, at both a summary and detailed level 
Prepares technical documents used internally and externally to provide both summary and detailed technical information other teams require to complete projects and tasks
 
Requirements:
 • BSc +7yrs experience (or Masters and 5+ years of experience) as a software engineer
 • in an applied machine learning role
 • 5+ years with programming languages such as C/C++ and Python
 • 2+ years of experience with and open-source technologies (Apache, Hadoop)
 • Experience in software development involving modern DevOps technology and methodologies 
 • Understanding of fundamental technical concepts in ML and DL

 Desired Skills and Qualifications:
 • Prior experience with machine learning algorithms and frameworks such as Caffe and TensorFlow
 • Prior experience with Hadoop, Spark, Intel BigDL is a plus.
 • Distributed systems, parallel programming and HPC systems experience (Hardware/Software/Network)
 • Experience with Puppet or other configuration management and automation tools
 

Want to apply later?

Type your email address below to receive a reminder

ErrorRequired field

Apply to Job

ErrorRequired field
ErrorRequired field
ErrorRequired field
Error
Error
insert_drive_file
insert_drive_file