The Lead Software Engineer s role is to provide hands-on technical leadership in the design, execution, assessment, and troubleshooting of software programs and applications. This includes creating / innovating, configuring, coding, developing, and documenting software specifications throughout the project life cycle. Ideally, we are searching for a highly experienced, Senior Engineer to create and maintain in-house software and interface to external resources. The successful candidate will also help to develop critical products for our clients, and offer excellent technical support. This is an opportunity to engage in a positive and creative work environment that offers excellent benefits and flexible schedules. The Lead Software Engineer will also oversee system startups in a timely and accurate fashion, and provide support to other departments where required.
- Lead and collaborate with analysts and designers in the development and initiation of new (and/or existing) software programs and applications
- Research, document, and implement program requirements and specifications
- Consistently write, translate, and code software programs and applications according to specifications
- Oversee the quality assurance of program logic, design specifications, internal best practices, and error resolution
- Execute and monitor performance tests on new and existing software for the purposes of correcting mistakes, isolating areas for improvement, and general debugging. Work with experienced team members to conduct root cause analysis of issues, review new and existing code and/or perform unit testing.
- Awareness of programming and design alternatives and exercise good judgment. Make good technical decisions that provide solutions to business challenges.
- Cultivate and disseminate knowledge of application development best practices.
- Gather statistics and Prepare and write reports on the status of the programming process for discussion with management and/or team members
- Determine, develop, and maintain user manuals and guidelines
- Liaise with network administrators, systems analysts, programmers, and other software engineers to resolve any defects in products or company systems. Resolve complex technical design issues.
- Take an active role in cross-departmental projects when needed
- Write and/or delete of software to enhance functionality and/or appearance of company Web site and Web applications as necessary
- Participate in research on emerging application development software products, languages, Commercial Off The Shelf (COTS) and standards in support of procurement and development efforts
- Recommend, schedule, and perform software improvements and upgrades for optimal performance of company workstations
- Interact regularly with managers, customers, vendors, and agencies to field queries and questions.
- Train, manage and provide guidance to junior software development staff
- Participate in CCB (Change Control Board) meetings to discuss release scope and/or roadblocks
- Maintain a code repository and manages key information such as build and release procedures, dependencies, and notification lists
- Research new software development, security and configuration management technologies
- 8-10 years of experience in information systems operations environment in systems analysis or development
- Advanced knowledge of software development lifecycle
- Demonstrated ability to coordinate cross-functional work teams toward task completion
- Demonstrated effective leadership and analytical skills
- Advanced written and verbal communication skills
- Four-year college diploma or university degree in software engineering or computer science, and/or 5-7 years equivalent work experience.
- Strong web development skills with ASP.NET and C#
- Certified Microsoft Certified Software Developer is desired
- Technically fluent in .NET (ASP.NET, C#, ADO.NET)
- Proven experience with software design and OOD methodologies
- Experience with ORM frameworks
- Strong working knowledge of SQL Server 2000 (T-SQL, Stored Procs) and familiarity with Relational Databases and SQL
- Competent and proficient understanding of n-tier architecture
- Solid working knowledge of Internet technologies
- Demonstrated software troubleshooting experience
- Experience at working both independently and in a team-oriented, collaborative environment is essential
- Ability to effectively prioritize and execute tasks in a high-pressure environment is crucial
- Adept at conducting research into software-related issues and products.
- Highly logical, self-motivated and directed
- Knowledge of applicable data privacy practices and laws
Hours and environment
In most cases you ll be working 40 hours a week, but when deadlines have to be met, you can be required to working longer and later hours or at weekend.