You are viewing a preview of this job. Log in or register to view more details about this job.

Software Algorithm Engineer

Software Algorithm Engineer
Responsibilities:​​
Algorithm Design and Development​
Research, design, and implement efficient algorithms to address complex business challenges (e.g., recommendation systems, image processing, natural language processing, big data analytics).
Optimize existing algorithms to enhance system efficiency, accuracy, and scalability.

Model Building and Deployment​
Develop machine learning/deep learning models, participating in the end-to-end process of data preprocessing, feature engineering, model training, and validation.
Deploy algorithmic models into production environments, ensuring seamless integration with software systems.

Technical Research and Innovation​
Stay updated on cutting-edge algorithmic technologies in academia and industry (e.g., AI, distributed computing, graph computing) and drive their practical application.
Write technical documentation, patents, or research papers, and contribute to knowledge sharing within the team.

Cross-Functional Collaboration​
Collaborate with product managers, data engineers, and software development teams to clarify requirements and define technical solutions.
Support business departments in resolving technical challenges by providing expert algorithmic insights.

Qualifications:​​
Educational Background​
Bachelor’s degree or higher in Computer Science, Mathematics, Statistics, Electronic Engineering, or a related field.
Passion for viewing mathematics as simple and elegant, with a strong interest in mathematical and computer programming work.
Proficiency in reading English technical documentation and learning new software technologies.
Technical Requirements​
Strong knowledge of data structures and algorithms, with familiarity in common algorithm design principles (e.g., dynamic programming, greedy algorithms, divide-and-conquer strategies).
Proficiency in at least one programming language (Python/Java/C++), with a focus on writing clean and maintainable code.
Experience with machine learning frameworks (e.g., Scikit-learn, TensorFlow, PyTorch) and algorithms (e.g., classification, clustering, neural networks).
Prior experience in distributed systems, high-performance computing, or big data processing (e.g., Spark/Hadoop) is preferred.
Tools and Skills​
Proficient in Git and Linux development environments; familiarity with containerization technologies like Docker/Kubernetes is a plus.
Knowledge of databases (SQL/NoSQL) and data visualization tools is advantageous.
Soft Skills​
Strong logical thinking and excellent problem-solving abilities.