Advanced Technology Senior Software Engineer
Company | Wells Fargo |
---|---|
Location | Des Moines, IA, USA, San Francisco, CA, USA, Westlake, TX, USA, Charlotte, NC, USA, Columbus, OH, USA, New York, NY, USA, Chandler, AZ, USA |
Salary | $96600 – $206100 |
Type | Full-Time |
Degrees | |
Experience Level | Senior |
Requirements
- 4+ years of Specialty Software Engineering experience, or equivalent demonstrated through one or a combination of the following: work experience, training, military experience, education
- 1 year experience in HPC & Parallel Computing: distributed computing frameworks, multi-threading, and vectorization techniques. Hands-on experience with GPU computing.
- 1 year experience optimizing ML workloads on NVIDIA, AMD, or custom AI Accelerators.
- 1 year experience in Machine Learning Optimization: Frameworks as PyTorch, TensorFlow, JAX. Model paralelization (pipe-line and tensor paralelism)
- 1 year Data Processing and I/O optimization experience : Large datasets processing with Parallel I/O. Optimization of memory and data storage.
- 1 year experience with Cluster HPC, HPC schedulers and familiarity with cloud-based HPC (AWS Parallel Cluster, Azure ML, Google Cloud TPUs).
Responsibilities
- Design, develop, and optimize HPC solutions for large-scale ML workloads.
- Optimize data pipelines for high-throughput model training (Dask, Ray, NVIDIA RAPIDS).
- Profile, optimize, and accelerate deep learning models on GPUs, TPUs, and multi-node clusters.
- Work on low-level performance tuning – vectorization, memory optimization.
- Develop and benchmark custom kernels for AI models using CUDA, ROCm, OpenACC, OpenMM.
- Implement distributed training strategies using MPI, DeepSpeed, PyTorch/XLA.
- Collaborate with ML researchers and engineers to deploy scalable ML models.
- Research and implement new HPC techniques.
- Evaluate and adopt new technologies like Distributed Ledger or Blockchain.
- Create new solutions to be deployed along existing enterprise software.
- Work as part of team that follows the agile methodology.
- Lead and mentor junior developers who are learning advanced technologies.
- Lead or participate in complex initiatives on selected domains.
- Assure quality, security and compliance for supported systems and applications.
- Serve as a technical resource in finding software solutions.
- Review and evaluate user needs and determine requirements.
- Provide technical support, advice, and consultation with the issues relating to supported applications.
- Create test data and conduct interfaces and unit tests.
- Design, code, test, debug and document programs using Agile development practices.
- Understand and participate to ensure compliance and risk management requirements for supported area are met and work with other stakeholders to implement key risk initiatives.
- Conduct research and resolve problems in relation to processes and recommend solutions and process improvements.
- Assist other individuals in advanced software development.
- Collaborate and consult with peers, colleagues and managers to resolve issues and achieve goals.
Preferred Qualifications
- 1+ years of experience in HPC, ML optimization or/and infrastructure.
- Hands-on experience in deploying ML workloads on large-scale HPC clusters.
- M.S./Ph.D. in Computer science or related field is a plus, Academic work (thresis, research articles, projects, etc.) in the areas of interest mentioned above count as work experience.