The Senior C# Developer is responsible for the development and ongoing support of C# applications, ranging from back-end services to client-side counterparts. Primary responsibilities are to design and develop these applications, and to coordinate with the rest of the team working on different layers of the infrastructure or on interfaced applications. This includes performing the needs assessment, evaluation, coordination, planning, development, training, implementation, communication, and education of enhancements. A commitment to collaborative problem solving, sophisticated design, and quality product is essential.
At the senior level, a greater emphasis is placed on defining strategic solutions and frameworks, developing team guidelines and procedures, ensuring adherence to those standards, and coaching/mentoring less experienced staff.
This position must effectively carry out the essential duties of this position in a manner that consistently demonstrates the core values of the organization in a positive manner.
1) Applications Development - 45%
a. Translate requirements and use cases into functional applications
b. Design, build, unit test, and maintain efficient, reusable, and reliable C# code
c. Ensure the best possible performance, quality, and responsiveness of applications
d. Provide applications development support for new product development or process improvements using programming tools or languages to support the C#/.NET application environment.
e. Maintain appropriate documentation of all changes in accordance with IT programming standards.
f. Coordinate code migrations to move code through each environment (Development, QA, UAT, and Production) with multiple code deployment teams.
g. Maintain updated documentation for application and system software and various utilities on a regular basis.
h. Provide expertise and guidance for production incidents, to all staff involved and vendors in driving a coordinated approach for issue resolution.
i. Mentor less experienced team members to progress their technical and professional skills. Be open and actively seeking learning opportunities from more senior team members.
2) Business Analysis and Design - 20%
a. Assist in the definition, development, and documentation of business requirements, objectives, deliverables, and specifications on a project-by-project basis in collaboration with customers and other stakeholders
b. Lead medium and large scale projects independently
c. Support the User Acceptance Testing (UAT) process, tracking and addressing defects as they occur.
d. Ensure adherence to architecture standards, risk management and security policies
e. Explore creative solutions and efficiencies through programming enhancements
3) Solution Architecture - 15%
a. Develop and maintain strategic solution architectures to support flexible, scalable, and easy to maintain applications
b. Guide development and/or project teams to ensure team and organization standards are followed and the team is consistently focused, assist in all aspects of development, continuous improvements and sustained delivery
c. Oversee and ensure adequate system documentation is maintained
d. Advise leadership regarding emerging trends, new capabilities, and features that could provide benefit to UWCU
4) Maintain System Viability and Data Integrity - 10%
a. Research, diagnose and resolve program failures.
b. Interact with IT staff, appropriate UWCU division representatives and vendor support personnel to define and resolve systems-related problems.
c. Track and document actions and results in accordance with IT change control methodology.
d. In the absence or unavailability of operations staff, process all regularly scheduled programs, including daily/nightly, monthly, quarterly, annual and periodic runs. Monitor messages and output for successful completion. Perform recovery/restart if necessary.
e. Actively participate in preparing and implementing disaster recovery procedures and processes.
f. Maintain and improve disaster recovery procedures and processes working with staff supporting operations or system programming responsibilities.
g. Analyze and implement techniques to optimize system utilization and maintain established service levels.
5) Other Job Duties - 10%
a. Participate in Information Technology Division cross-training, including application development, data processing operations, network support and systems consulting.
b. Stay abreast of industry trends and continue to enhance technical skills through education, on the job training, reading, professional contacts and participation in user group meetings.
c. Ensure that Information Technology department needs and UWCU's day-to-day information requirements are meet through structured training programs, complete documentation and cross training.
d. Support activities related to workload assignment, including maintenance of resource allocation estimates, project/task status, estimated and actual effort, target dates, and associated documentation.
e. Provide clients and staff with technical assistance for supported applications.
f. Manage Vendor Relationships
g. Perform all other duties as assigned.
-Bachelors degree in Business Administration, Computer Science, or related field required
-6-7 years experience with Visual Studio .NET/C# program analysis, design, development, and support required
-Excellent interpersonal skills
-Strong written and oral communications
-Demonstrated analytical, problem-solving, and leadership skills.
-Ability to negotiate priorities, manage multiple tasks and projects simultaneously
-General understanding of a Software Development Lifecycle (SDLC)
-Ability to identify and distinguish constraints, dependencies, risks, issues and assumptions
-Ability to remain a neutral facilitator so as to resolve conflict among project stakeholders
-Knack for writing clean, readable, and reusable C# code
-Strong understanding of object-oriented programming
-Familiar with various design and architectural patterns
-Understanding fundamental design principles behind a scalable application
-Broad vision and ability to define enterprise level solution architectures
-Proficiency in the Microsoft Office suite of products, including Visio
-Proficient understanding of code versioning tools
-Familiarity with continuous integration