Senior Software Engineer

Title:       Senior Software Engineer


Location: American Flood Research, Inc.;; 1820 Preston Park Boulevard, Suite 1100, Plano, Texas 75093


Duties: Develop software solutions by analyzing business needs, consulting with user, studying systems flow, data usage and work processes, examining problematic areas, and following the software development life cycle. Design, implement, and test desktop and web applications; implement B2B integration solutions, and development of back-end systems; Mentor and guide junior software engineers on a per-project basis.  Analyze the needs of users and design, develop, test, deploy and maintain software applications supporting business operations and provide solutions relevant to business processes, issues or problems; improve operations by conducting systems analysis; recommending changes in policies and procedures. Update job knowledge by studying state-of-the-art development tools, programming techniques, and computer equipment; participate in educational opportunities; read professional publications; and participate in professional organizations. Create and maintain testing environments to minimize risk and impact of changes on production systems and applications; document changes performed to existing source code, scripts, and reports including change description, date, and reason for change when applicable. Write code to produce high quality software components and applications with emphasis on continuity, flexibility, and reusability attributes; document solutions by developing flowcharts, diagrams, code comments and other detailed instructional documents. Identify technical improvement opportunities in current software programs to optimize operational performance and efficiency; analyze software programs for system risk analysis and reliability; perform programming code analysis, test code for code metrics and debug software components as needed for business applications to run efficiently; identify and escalate outstanding problems to management in a timely fashion. Lead technical meetings and conference calls with external parties; serve as a technical mentor to junior team members.


Requirements: Bachelor’s degree in Computer Science, Engineering, Information Technology, or related field and 3 years of experience in the job offered or related occupation designing object oriented software systems, or a suitable combination of education, training and/or experience. Experience must include: 1) Experience with .NET technologies including Windows Forms, WPF, ASP.NET, Entity Framework, MS MSMQ, Windows Services, Hosted IIS applications, and RESTful Web Services. 2) Three years of expertise with .NET 4.5 using C# and MS Visual Studio. 3) Expertise coding, testing and debugging software in C#, ASP.NET and ASP.NET Core. 4) Three years of experience with T-SQL including spatial data types, as well as designing SQL Server Stored Procedures and Views. 5) Web development experience including MVC pattern and ASP.NET framework. 6) Experience with JavaScript MVVM frameworks, Bootstrap, ReactJS, HTML 5, JSON, XML, XSLT and CSS. 7) Experience with Agile development methodologies (SCRUM) and principles.