Overview
Skills
Job Details
Location: Vancouver, WA (hybrid)
Duration: 12-month Contract (with possible extensions up to 5 years)
Pay Range: $68.39 - $71.61 per hour
The role of the Software Developer/Programmer is to convert project specifications and statements of problems and procedures to detailed logical flow charts for coding into computer language. Develop and write computer programs to store, locate, and retrieve specific documents, data, and information. May also program web sites. This position may also research, design, develop, and test operating systems-level software, compilers, and network distribution software for computing applications, set operational specifications and formulate and analyze software requirements. May design and develop embedded systems software. Apply principles and techniques of computer science, engineering, and mathematical analysis.
Position Responsibilities:
- Implement and integrate new system architecture into an existing environment
- Modify existing software to correct errors, to adapt it to new hardware or to upgrade interfaces and improve performance.
- Develop or facilitate software system testing or validation procedures.
- Facilitate software programming and development of documentation.
- Consult with customers or other departments on project status, proposals, or technical issues, such as software system design or maintenance.
- Analyze information to determine, recommend, and plan installation of a new system or modification of an existing system.
- Consult with engineering staff to evaluate interface between hardware and software, develop specifications and performance requirements, or resolve customer problems.
- Design or develop software systems, using scientific analysis and mathematical models to predict and measure outcome and consequences of design.
- Design, develop and conduct automated unit and regression tests.
- Design, develop, implement, maintain and support applications.
- Prepare reports or correspondence concerning project specifications, activities, or status.
- Confer with data processing or project managers to obtain information on limitations or capabilities for data processing projects.
- Store, retrieve and manipulate data for analysis of system capabilities and requirements.
- Install and configure hardware including operating system and additional software to configure for optimal use
- Provide technical support in production environments, to include troubleshooting reported issues and system architectures to include data management, network management, and overall client architectures.
- Identify standard monitoring requirements and scripting or applying additional setting requirements
- Troubleshoot hardware and system level problems, performance and interoperability problems and workflow issues.
- Document implementation guidelines and installation guidance. Actively participate in implementation activities.
- Perform fit gap analysis and propose implementation approaches.
- Research new and emerging technologies to determine their applicability to application development and maintenance, as well as for support of the needs of operations.
- Provide demonstrations of emerging technologies to acquaint staff with capabilities and applicability to business solutions.
- Perform application/process management, install/patch applications, troubleshoot connectivity issues, monitor performance and tune in complex three-tier architectures (client web interface, application engine, database engine).
- Stand-up, configure and maintain application environments.
- Code, test, configure and maintain various vendor and in-house applications.
- Consult with managerial, engineering, and technical personnel to clarify program intent, identify problems, and suggest changes.
- Compile and write documentation of program development and subsequent revisions, inserting comments in the coded instructions so others can understand the program.
- Prepare detailed workflow charts and diagrams that describe input, output, and logical operation, and convert them into a series of instructions coded in a computer language.
- Correct errors by making appropriate changes and rechecking the program to ensure that the desired results are produced.
- Conduct trial runs of programs and software applications to be sure they will produce the desired information and that the instructions are correct.
- Write, update, and maintain computer programs or software packages to handle specific jobs such as tracking, inventory, storing or retrieving data, or controlling other equipment.
- Write, analyze, review, and rewrite programs, using workflow chart and diagram, and applying knowledge of computer capabilities, subject matter, and symbolic logic.
- Perform or direct revision, repair, or expansion of existing programs to increase operating efficiency or adapt to new requirements.
- Consult with managerial, engineering, and technical personnel to clarify program intent, identify problems, and recommend changes.
- Perform systems analysis and programming tasks to maintain and control the use of computer system software as a systems programmer.
- Compile and write documentation of program development and subsequent revisions, inserting comments in the coded instructions so others can understand the program.
- Prepare detailed workflow charts and diagrams that describe input, output, and logical operation, and convert them into a series of instructions coded in a computer language.
- Consult with and assist computer operators or system analysts to define and resolve problems in running computer programs.
- Creatively design, document, develop and deploy enterprise level applications
- Communicate and demonstrate design concepts and development principles to others in team environment.
- Provide a sustainable IT infrastructure by supplying cross training and functional documentation.
- Keep abreast of technology advances, upgrades and patches.
Position Requirements:
Education & Corresponding Experience
- Associate's or Bachelor's Degree in Computer Science/Information Technology, Engineering, or a directly related technical field is preferred.
- With a degree, in applicable field, 5 years of experience is required
- Without an applicable degree, 7 years of experience is required.
- Applicable Certifications may count for 1 year of experience.
- Experience should include demonstrated software programming work experience in Computer Science/Information Technology and transforming data for automation efforts.
- 7 years of the following experience:
- Developing with .NET framework and C#
- .NET programming within an experienced development team
- Object Oriented design principles
- Database Access (i.e. Entity Framework, NHibernate, ADO.NET)
- .NET Remoting, COM, and DCOM
- Microsoft Visual Studio IDE
- Experience with T-SQL development to write complex queries involving multiple tables. Experience in Extracting, Transforming and Loading (ETL) data from Excel, flat files, BCP utility, DTS, SSIS, and SSRS services
- Microsoft Office Suite applications, specifically PowerPoint, Access, and Project
- Demonstrated ability to quickly become familiar with existing systems and codebases
- Experience using or automating PowerWorld Simulator or other electric power system simulation software (such as GE PSLF and V&R ROSE) is preferred
- Microsoft PowerShell
- Web services and socket-based protocols (i.e. XPATH, XML Schemas, XSLT, WCF, SOAP)
- Web application development using MVC
- Windows application development using WPF
- Version Control Systems (i.e. TFS, Subversion, Git, Mercurial)
- Current experience practicing test-driven development using test automation frameworks/tools (i.e. NUnit, MSTest, Moq, Rhino Mock, TypeMock, Pester)
- Exposure to other programming languages (i.e. C++, Java)
- Windows Cluster Server administration
- Must produce code that coworkers can maintain and must be agreeable to peer reviews
- Ability to take over support of code written by other developers
- Excel at solving problems by debugging, troubleshooting
- Designing and implementing solutions to complex technical issues.
- Governmental processes and (electric) utility experience.
Everest Consultants offers the following benefits for this position: medical, dental, & vision insurance, short-term disability, life and AD&D insurance, a 401(k) retirement plan, and a referral bonus program, paid sick/vacation/holidays, and a health and welfare fringe benefit.
Everest Consultants is an equal opportunity employer and does not discriminate on the basis of race, color, religion, sex, national origin, age, disability, or any other characteristic protected by applicable local, state, or federal civil rights laws. #IND