Senior Software Developer

» Senior Software Developer
Information Technology
in Seattle
, WA
Reference: 19-02028

Description: 

The Sr. Software Engineer is responsible for creating new business applications for internal users and external customers, maintaining existing databases, insuring the highest levels of data integrity, data mining, and leading the design and or re-design of existing applications and databases.

Essential Duties and Responsibilities:

  • Designs new software products and/or processes of high complexity and designs changes in existing products maintaining an awareness of product requirements
  • Leads and/or assists in introducing new approaches to software and system design
  • Prepares all required software documentation or data
  • Approves software releases, and engineering change requests, assuring that standards are met
  • Manages full lifecycle application development
  • Leads or participates on cross-functional teams in product development or significant product modification activities
  • Participates in structured product development activities such as technical design reviews, cross-functional team meetings, and project gate events
  • Provides technical, cost, and schedule information to the project team
  • Establishes effective methods for verifying that software performance meets expected goals
  • Establishes and maintains methods for software change control and software configuration management sufficient for the complexity of our products and the size of our software design organization
  • Provides technical leadership through staying abreast of technology and industry trends, identifying multiple solutions to design goals, educating management on technologies and making recommendations to avoid obsolescence, supply chain and quality issues
  • Provides technical support and training to our customers, marketing/sales staff, manufacturing and repair services disciplines when required
  • Design and develop programming systems making specific determinations about system performance
  • Responding promptly and professionally to bug reports
  • Analyze, design, coordinate and supervise the development of software systems to form a basis for the solution of information processing problems
  • Responsible for analysis of current programs including performance, diagnosis and troubleshooting of problem programs, and designing solutions to problematic programming
  • Responsible for developing new programs and proofing the program to develop needed changes to assure production of a quality product
  • Responsible for development of new programs, analyzes current programs and processes, and making recommendations which yield a more cost effective product
  • Writes, edits, and debugs new computer programs for assigned projects, including necessary records and desired output
  • Tests new programs to ensure that logic and syntax are correct, and that program results are accurate; assists lower-level programmers with programming assignments
  • Document code consistently throughout the development process by listing a description of the program, special instructions, and any changes made in database tables on procedural, modular and database level
  • Responsible for reading, understanding, and utilizing all part and assembly prints, forms, spreadsheets, bills of material, specification sheets, and technical references
  • Responsible for utilizing tools and equipment involved in performance of essential functions of programming including measuring instruments
  • Search, summarize and keep the team abreast of strategic information from all sources
  • Maintain client databases
  • Capable of writing proposals or papers
  • Making presentations to customer or client audiences or professional peers
  • Maintain positive client interactions
  • Strong and effective inter-personal and communication skills and the ability to interact professionally with a diverse group of clients and staff
  • Responsible for communicating with engineers and manufacturer’s technical support staff regarding programming needs and performance
  • Provide general administrative support to the organization
  • Provide feedback to analysis/training staff about performance considerations/usability issues concerning software specifications and implementation
  • Research and recommend software tools to management
  • Provide assistance to testers and support personnel as needed to determine system problems
  • Review, to the extent possible, changes in code and the environment that will affect system performance
  • Provide recommendations to management concerning issues of programmer productivity and software development management
Competencies:
  • Strong written and verbal communication skills
  • Exceptional customer service skills
  • Ability to work in a flexible and production orientated environment
  • Effective decision making and problem solving skills
  • Advanced to extensive PC Skills including (but not limited to) MS Word, MS Excel, email, internet and customized database management
  • Must be able to read and/or interpret numbers and letters correctly
  • Must work with numbers  to calculate timeframe and evaluate costs and losses
  • Must demonstrate organization and prioritization skills to manage time
  • Ability to effectively communicate technical concepts to other technical staff members
  • Ability to interface well with contributors of changes/requests and other non-technical members of the organization
  • Demonstrated aptitude for learning new technologies
  • Extensive knowledge relating to the area in which analysis and coding is performed

Education and Experience:

  • Four year degree in computer science or equivalent work experience in a similar environment
  • Six years experience with software development and maintenance, in a PC/LAN-WAN environment
  • Advanced experience in developing robust software architectures
  • Experience taking a project from concept to completion; including design, prototyping, testing and troubleshooting
  • Ability to develop low-level software requirements from high-level system requirements
  • Expert knowledge of Microsoft.Net