Sr Software Developer
Job Duration: 6 + months
Remote Role
Requirements:
- Software Development Lifecycle
- Structured programming methods (modularization, decomposition, organization, documenting, naming standards, unit testing, best practices)
- Structured data methods (modularization, decomposition, organization, documenting, naming standards, best practices)
- Software Config Mgmt (source control, promotion, deployment)
- Bug tracking, debugging, troubleshooting
- Application documentation and metrics
- Basic Concepts
- Application platforms (web, Windows, batch/console)
- Application stack (OS, development platforms, database, web services, user interface, application layers)
- Server and OS (hardware, VM, services, storage, security)
- Desktop and OS (version control, resources, security, browsers, hardware)
- Application support tasks (coverage, phone support, error tracking)
- Incident management
- Development and Support of Applications/Concepts
- Data architectures and design (normalized, dimensional, UML modeling, OLAP)
- User interface design and tools (Cascading style sheets)
- Database deployment processes and quality control (automated deployment, deploying objects, data upgrade methodologies, content control, deployment testing)
- Application architectures and design [web and client-server] (story boards, Use Cases, functional decomposition, object design)
- Microsoft patterns and practices
- Web Architectures (Web Services, SOA)
- Application deployment processes and quality control (automated builds, deploying assemblies, web distribution methods, content control, deployment testing)
- Report architectures and delivery methods
- Development and Support of Applications/Tools
- Job scheduling tool / scheduling tasks and processes (AutoSys, SQL Server, Windows Scheduler)
- File transfer (FTP, SFTP)
- Distributed environment utilities (FTP, Telnet, Attachmate, ODBC)
- Database Tools (Microsoft SQL Server Enterprise Manager, Query Analyzer, Profiler; Oracle TOAD, Redgate)
- Database management systems (Oracle, SQL Server)
- Microsoft Visual Studio (Model Builder, Solution Builder)
- Database Executable Objects (Stored procedures, functions, views and triggers)
- ETL Tools (Microsoft DTS/SSIS, VBScript, Informatica)
- ANSI SQL Languages (T-SQL, PL-SQL)
- Data Modeling Tools (Visio for Enterprise Architects, ERWin)
- Web languages (JavaScript/VBScript, HTML/XHTML/HTML5, JQuery)
- Data Transport (XML)
- Web Servers (IIS, Apache Tomcat)
- Source control (Azure Devops - Git)
- Report management tools (Tableau, Microsoft Report Manager)
- Report development tools (Microsoft Visual Studio Report Designer, Crystal Designer)
- Advanced Bug Tracking Tools (YouTrack, Pivotal Track)
- Ability to assess and recommend technical solutions to meet business needs.
- Provide on-going post-implementation technical support for customers.
PURPOSE OF POSITION: Briefly summarize the purpose of this position and how it supports the Program.
The Senior Development Analyst will perform tasks across the entire spectrum of technical application and system development. This position is involved in the full software development life-cycle processes of requirements, analysis, design and architecture, development, testing and implementation of information systems for County customers. This position works directly with customers and other technical staff to resolve problems and provide technical assistance on applications in production and development with special emphasis on BI processes for our Health department. This position participates in the development of software products at all steps in the life-cycle, lead and complete moderately complex quality assurance and quality control tasks, and perform research to remain informed of trends and changes in the industry and in the County. They are responsible and competent to work on moderate to complex software projects and to apply their experience testing large-scale business applications with minimal supervision and support, ensuring that the software developed is correct, stable, responsive, and of the highest quality possible within established constraints. The technical environment will include associated technologies and application architectures for n-tier applications and will include interfaces with customers external to Multnomah County.
DESCRIPTION OF JOB DUTIES Most jobs generally consist of four to six major functions that relate directly to the purpose of the position. List these major functions, along with key tasks performed. Functions will be sets of tasks that generally take 10% or more time/attention of a job. Please list the major functions with the corresponding percentage of time, in descending order of time required.
% of Time ESSENTIAL JOB FUNCTIONS
30% SOFTWARE DEVELOPMENT LIFECYCLE PROCESSES
- Lead and participate in requirements gathering, develop and review requirements documentation for medium to large-sized projects with special emphasis on BI work.
- Lead and participate in a technical team in researching options, making decisions, and providing recommendations.
- Develop and review system and application architectures, detailed technical design, and test processes that provide the necessary functions of complex systems using both automated and manual methods.
- Design and coordinate implementation and maintenance of system architectures and environments that support the software development and maintenance methodologies in use.
- Participate in the design and definition of processes, guidelines and methodologies for application development, build and deploy, system interfaces, and system quality.
- Comply with the processes, procedures, standards, tools and activities of software development and testing at Multnomah County.
- Perform all levels of testing from unit testing, integration testing, load testing, and regression testing, as required.
- Ensure compliance to promotion and deployment of applications to production environments following established promotion and change control processes.
- Ensure the proper management of software assets through support, maintenance, retirement, and decommission processes.
10% INFORMATION TECHNOLOGY CONCEPTS
- Responsible for support tasks and overall incident management including bug tracking and trouble-shooting.
- Troubleshoot and resolve any issues related to application operation, features or functions.
- Coordinate with software developers and business analysts to provide input on software design, behaviors, and defect repairs.
- Identify, trouble-shoot, and resolve issues with computer systems (servers, networks, storage, desktops) and services that adversely affect the applications.
- Stay abreast of changes and trends in technology and recommending new technology the County should consider.
- Responsible for understanding and executing security models that meet privacy and regulatory protocols.
- Participate in development and maintenance of work unit application development policies and procedures.
10% PROJECT MANAGEMENT AND TEAM PARTICIPATION
- Provide technical leadership for simple to moderately complex projects.
- Responsible for defining technical assignment scope and prioritizing technical tasks across the project team.
- Model behavior of adapting to change and progress within the County's technical environment.
- Complete assigned technical development and quality assurance activities related to software release cycles.
- Document, communicate and track security, access, and quality risks and appropriate strategies for mitigation.
- Provide accurate estimates of work, track progress, adjust plans based on actuals, and provide detailed status reporting, as required.
- Work effectively as a member of a development team.
40% DEVELOPMENT AND SUPPORT OF APPLICATIONS
- Design moderate to complex application solutions in an n-tier environment.
- Design moderate to complex data models and data solutions in an n-tier environment.
- Design moderate to complex data delivery solutions.
- Develop moderate to complex code using structured programming methods appropriate for the toolset used.
- Comply with configuration management processes including source code control and software build environments.
- Create and execute unit testing either manually or in an automated fashion as required.
- Enter detailed, step by step defect reports in the defect tracking system. Verify resolution of defects. Track defect status from entry through resolution.
- Coordinate, support and ensure compliance to all software testing, quality assurance, and quality control requirements for a software development effort.
- Design and develop batch, synchronous and asynchronous processes and interfaces.
- Develop, review, and maintain system and data dictionary documentation.
- Identify, propose and develop system improvements in functionality and performance.
- Collaborate with internal and external teams to identify alternatives and influence decision-making.
- Perform upgrades, enhancements, maintenance and continuing support of existing applications.
- Analyze and resolve moderate to complex technical assignments, and provide on-going post-implementation technical support.
Metasys Technologies/NVISH is an equal opportunity employer. All applicants will be considered for employment without attention to race, color, religion, sex, sexual orientation, gender identify, national origin, veteran or disability status.