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