What are the responsibilities and job description for the Software Engineer I position at Arcata Associates, Inc.?
Summary:
The Software Engineer plans, conducts, and technically implements software engineering projects or major phases of software engineering projects, coordinating the efforts of supporting staff in the performance of work. Participates in software development, testing, deployment, integration, documentation and maintenance in the support of customer requirements.
Essential Duties & Responsibilities:
Assists in formulating engineering project requirements to meet the customer's needs and deadlines. Develops detailed implementation plans to execute and meet project requirements.
Determines timelines for completing engineering projects, and reports to the Engineering & Integration Manager and/or the Lead Software Engineer on the project's status.
Works closely with project management, hardware engineering, communications engineering, configuration management, quality assurance and operations support to ensure proper integration of software engineering with the other disciplines involved in the project.
Designs, implements, tests, and deploys software projects.
Provides technical guidance, direction and assistance to other engineering team members.
Advises management, the engineering staff and the customer on the analysis, design, development and test of software projects.
Reviews modifications to system software to ensure compatibility with existing hardware and software.
Writes documentation in support of software development or modifications.
Attends meetings as required.
Other Related Duties:
Assists in preparing and maintaining CMMI and ISO 9001 compliant engineering processes and procedures.
Performs other related duties as required.
Qualifications:
BS in Electrical Engineering, Computer Science or an equivalent scientific or technical discipline from an accredited academic institution or a combination of formal education and experience equivalent to a four-year college degree.
At least two years of experience with computer programming using C, C and/or C#. Ada, FORTRAN and Assembly Language a plus.
Knowledge, Skills, and Abilities Required for this Position:
Ability to program in C, C and C#.
Experience designing Windows applications and graphical user interfaces.
Experience with Web Applications and Services toolsets (Java, Java Script, XML).
Experience with database development (SQL Server, Oracle, Access).
Experience with Open Source software and systems is a plus.
Knowledge and understanding of formal software development standards and software development processes to include the Software Capability Maturity Model.
Ability to deploy and troubleshoot network applications and systems.
Ability to perform system administration activities in Windows, Solaris, Unix, and Linux operating system environments.
Ability to effectively interact with system users.
Ability to analyze data, resolve problems and make decisions independently.
Ability to communicate effectively in both oral and written form.
Ability to write and prepare a variety of technical and user-oriented reports, manuals and other types of written communications.
Ability to establish and maintain effective work relationships with those contacted in the performance of this position.
Ability to travel as required by the company.
LICENSES OR CERTIFICATIONS REQUIRED:
Must possess a valid Nevada driver's license.
Ability to obtain and maintain a Government Security Clearance.
Work Environment, Physical and Mental Demands:
Duties are performed both indoors and outdoors. Traveling to other local and remote locations which can involve exposure to extreme outdoor weather conditions for prolonged periods, work on uneven surfaces and varying types of outdoor terrain. Ability to perform shift work, at remote locations with occasional over-night assignments. The noise level at site locations varies from quiet to moderately noisy.
Salary : $60,000 - $80,000