Job title : Senior Software Developer Job Location : KwaZulu-Natal, Pietermaritzburg Deadline : January 03, 2025 Quick Recommended Links Jobs by Location Job by industries Key Responsibilities: Custom Software Development: Design, develop, and maintain software solutions to automate and optimize die casting operations, tooling design, CNC machining, and other production processes.
Integration with Manufacturing Systems: Work closely with engineers to integrate software solutions with existing manufacturing systems (e.g., CNC machines, metrology systems, casting simulation software) for seamless operations.
Data Analytics & Automation: Develop tools for data collection, analysis, and reporting to improve process quality, track production metrics, and ensure optimal material alloying, casting precision, and efficiency.
CAD/CAE Tooling Support: Assist in developing custom applications that interface with Computer-Aided Design (CAD) and Computer-Aided Engineering (CAE) tools for tooling design and simulation.
Collaboration with Cross-Functional Teams: Collaborate with tool designers, engineers, production teams, and QA specialists to understand and address software needs in the context of manufacturing operations.
Software Optimization & Performance: Troubleshoot, debug, and optimize existing systems and software to ensure high performance, reliability, and scalability in a high-precision manufacturing environment.
Mentorship & Code Review: Provide technical leadership to junior developers, guiding them in software development best practices, design patterns, and troubleshooting.
Conduct code reviews to ensure quality and consistency.
Documentation & Reporting: Create comprehensive technical documentation for software systems, processes, and best practices.
Provide regular status updates and reports to stakeholders.
Continuous Improvement: Stay current with advancements in manufacturing technologies, including CNC machining, metrology, and casting processes, and explore opportunities to incorporate these into software solutions.
Requirements: Programming Languages: Strong expertise in at least one of the following: Python, Java, C#, or C++.
Experience with scripting for automation and data processing is highly valuable.
Manufacturing Software Knowledge: Familiarity with tools used in manufacturing and engineering, such as CAD/CAE software, CNC programming languages (e.g., G-code), and simulation software.
Database Management: Experience with SQL and NoSQL databases for storing and managing production data (PostgreSQL, MySQL, MongoDB).
Data Analytics: Proficiency in data analysis, visualization, and reporting tools (e.g., Python libraries, R, Tableau, Power BI) to support manufacturing decision-making.
Cloud & DevOps: Experience with cloud platforms (AWS, Azure, Google Cloud) and tools for continuous integration/continuous deployment (CI/CD), containerization (Docker), and infrastructure management (Kubernetes).
API Development & Integration: Experience building and integrating RESTful APIs to connect software with CNC machines, sensors, and other manufacturing equipment.
Testing & Quality Assurance: Knowledge of automated testing frameworks (JUnit, PyTest, Selenium) and best practices for ensuring software quality in a high-performance environment.
Qualifications: Bachelor's degree in Computer Science, Engineering, or a related field (or equivalent practical experience).
5+ years of professional software development experience, with at least 2 years of experience working in manufacturing, industrial automation, or engineering software development.
Experience with manufacturing processes, such as die casting, CNC machining, or metrology, is a significant advantage.
Proven experience in leading software development projects in a collaborative, multi-disciplinary environment.
ICT jobs