Previous Job
.NET Technical Architect- Expert
Ref No.: 18-11914
Location: Morehead City, North Carolina
Client: Client
Title: NCDEQ - .NET Technical Architect- Expert (559735)
Position Type: 9 Months Contract
Location: 3441 Arendell Street Morehead City, NC 28557
Mode of interview: Either Webcam Interview or In Person

Job Description:

.Net Architect required for a contract position located in Morehead City, NC.

This position is located in Morehead City, NC
We are seeking a team player to join a small .NET Agile SCRUM team developing an enterprise application to replace an aging legacy system. The local team is extremely familiar with the current system functionality and the underlying database structure but has limited experience in developing an enterprise-wide .NET web solution. Our database structure and requirements are well defined from the legacy system. Most of the work is replicating the functionality of the existing system with a few minor adjustments along the way. Our goal is to deploy the solution to production before, or near, the end of 2019. Current projections have software development ending in September of 2019.

While we seek an experienced .NET architect with exceptional coding skills, ability to mentor others and lead a development effort, we have a Lead Architect in house. Our expectation is the ideal candidate would bring to the table experience and strong social skills to augment the team. The ideal candidate will have "been there, done that” experience with developing a large enterprise .NET web application and bring to the group the hands-on experience and knowledge of developing such a solution in .NET. Strong experience with web applications and the challenges of .NET are needed.

The ideal candidate would bring strong technical skills to the project to help the Lead Architect make critical decisions regarding direction and overall architectural structure of the application. This will be especially important when tackling functionality that the team has not developed before.

We are seeking a person who has the skills to lead but the desire to be a strong supporter of the Lead Architect. The Lead Architect has final decision-making responsibilities and authority but desires a capable expert to assist, when necessary, in making the right decisions and be willing to follow direction once decisions have been made. The ideal candidate will be a strong partner with the Lead Architect in designing a simple, working and maintainable system.
While it is common for a candidate of this skill level to have oversight of multiple projects and teams this is a small development team and the candidate must be willing to work within the confines of a small, tight-knit group of developers brining their unique experiences and knowledge to bear wherever and whenever needed with humility and a strong desire to augment the team in any way that helps the team succeed. The ideal candidate will not be afraid to roll up their sleeves and dig in to coding and whatever work is needed.

The software created must be maintainable by the in-house team and while there may be more eloquent and sophisticated solutions, they are of no value if the local team cannot maintain the software going forward.
The candidate should have experience mentoring developers, tracking adherence to coding, UI, and architectural standards.

The SCRUM team is co-located in Morehead City, NC. Our desire is to have a person physically located with the team but realize this may not be possible. The ideal candidate will have excellent communication skills and have experience working as a remote member of a team.

While the expectation is that this role will include coding (sprinting) daily, the role may also include mentoring, assisting junior developers and interacting with the Lead Architect as necessary to ensure adherence to all standards defined by the team.

This role may also include responsibilities for documenting coding and architectural standards for the team to ensure everyone is following the same direction and code is reusable and consistent.

The ideal candidate should have exhaustive knowledge of the SDLC and be prepared to advise on process improvement for good software engineering practices of the group while keeping in mind our timeline is very tight and resources limited. Our continuous improvement efforts are small steps in improvement within the limits of the current team realizing that more may be better but not possible given the maturity level of the local team and local organization.

• Serve as the critical technical architectural partner for the in-house Lead Architect
• Provide guidance, as needed and requested, on personal experience with solving web application development issues and provide input to architectural decision-making sessions
• Leadership qualities with good communication skills. Competence to assist, mentor and lead teams
• Participate in requirements analysis and User Story Grooming sessions with emphasis on providing simple, quick solutions for the Product Owner. The Product Owner is very experienced with current system functionality and adept at database concepts and design processes and is becoming more familiar with .NET development processes. However, there are times when the Product Owner needs to know if what is being asked of the developers is not worth the effort or if there is an easier, more streamlined approach to the desired functionality.
• Collaborate with internal teams to produce software design and architecture that meets in-house and State standards
• Write clean, scalable code using .NET programming languages
• Test and deploy applications and systems
• Perform meticulous Unit Testing with attention to detail
• May be called upon to review or "spot check” developed code to ensure it adheres to standards
• Revise, update, refactor and debug code
• Improve existing software with a constant awareness of a tight schedule and a strong desire to create "good enough” software solutions devoid of "gold plating” or overly complicated solutions.
• Develop documentation throughout the software development life cycle (SDLC) including the capture of architectural and standardization decisions to ensure the team is following a common development strategy
• Serve as an expert on applications and provide technical advice and mentoring as required and requested
• Engage in Agile SCRUM ceremonies and processes
• Ensuring solutions are aligned with business and IT strategies and comply with the organization's architectural standards
• Applying experience and knowledge in systems analysis, design, development, quality assurance and integration methodologies to develop quality technical solutions
• Building positive relationships with team members

Skills Required
• Design and create reusable .NET objects
• Expert level knowledge of Microsoft C# .NET, ASP .NET, the .NET Framework
• Develop SQL stored procedures for all Create, Retrieve, Update, and Delete (CRUD) functions
• Manage transaction processing and data concurrency.
• Design and create tables, views and other objects of the database.
• Use specifications created as a guide for design and development
• Research and develop solutions for highly-complex problems.
• Develop reusable objects and processes to improve developer efficiency and consistency.
• Act as a senior-level developer in providing advice for problem resolution to the other development staff.
• Investigate requirements for migration to newer versions of the .NET development environment and SQL Server
• Research and implement innovative technologies or processes whenever it is appropriate to address wide-spread problem or issue.
• Must be able to troubleshoot problems with all programs supporting web application and related software.
• Manage IIS and application pools
• Deploy web objects
• Interact with end-users with varying degrees of computer skills
• Plan and develop applications within specified timeframes.
Skill Required / Desired Amount of Experience
• Expert level knowledge of Microsoft C# .NET, ASP .NET, the .NET Framework Required 7 Years
• Develop SQL stored procedures for all Create, Retrieve, Update, and Delete (CRUD) functions Required 5 Years
• Manage transaction processing and data concurrency. Required 5 Years
• Design and create tables, views and other objects of the database. Required 5 Years
• Investigate requirements for migration to newer versions of the .NET development environment and SQL Server Required 5 Years
•Must be able to troubleshoot problems with all programs supporting web application and related software. Required 5 Years
•Manage IIS and application pools Required 5 Years
• Deploy web objects Required 3 Years
• Plan and develop applications within specified timeframes. Required 3 Years