The Software Designer is responsible for designing, developing, implementing, and maintaining new and existing software for the company’s products. This position will provide customer support solutions beyond the scope of support software personnel for problems relating to company’s software products and services. In addition, the Software Designer will train support personnel in resolving new or unique problems as it arise.
·Analyze, design software, implement, and write programs for company products using current technology.
·Test and validate software to ensure it meets the specifications.
·Document instructions on the software.
·Attend development meetings as required.
·Responsible for development planning.
·Implement, estimate time and reassess on various projects.
·Tests programs with new hardware and software configurations, evaluates validity of product.
·Troubleshoot and evaluates claims of malfunction in the field.
·Responsible for feature enhancement projects to design, code and implement new software features.
·Provide software maintenance including investigate, repair and debug software.
·Provide departmental support in leading and guiding other programmers in maintenance and new features.
·Perform backup of critical source code as required
·Responsible for the safe use and maintenance of confidential information, software application programs, product source code and all client information
·Adhere to quality management requirements.
·Provide technical expertise and functional advice to management team on all aspects of engineering as they relate to existing or new projects on a regular basis.
·Contributes information and ideas to Management.
·Responsible for software maintenance activities.
·Support internal departments as requested within the engineering function.
·Perform other duties as assigned.
Skill/Knowledge& Other Requirements:
·Requires a Bachelor’s Degree in Engineering or Computer Science.
·Must have 3-5 years progressive experience in a similar role.
·Must be eager to continuously upgrade with new programming languages, software methodologies and techniques.
·C/C++, C#, Python, Node JS
·Windows and Linux scripting
·Web applications and servers
·Operating system environments: MS Windows (including Visual Windows development tools), Linux, QNX
·Must be proficient in creating effective technical and business solutions using programming tools.
·Strong in computational, diagnostic and analytical abilities are required to design, code and test programs.
·Must be able to document test procedures, understand programming and system set-up manuals, programming style guides, and software reference manuals.
·Excellent analytical skills are required to estimate development time, analyze data, research, diagnose and solve problems.
·Must have working knowledge of applicable standards to the job.
·Self-confidence and ability to manage own activities together with initiative and drive to solicit and complete tasks successfully.
·Ability to understand customer’s needs and adapting them to new products or new applications to existing products.
·Sound organizational, problem solving, planning, prioritization, and execution skills.
·Excellent interpersonal skills to communicate effectively and clearly with team, management and customers.
Other Desired Skills/Knowledge:
·Working knowledge of nuclear instrumentation and applications.