Atlanta, Georgia | Contract To Hire
The Expert Software Developer is responsible for providing expert technical design, coding, testing, implementation, advice, and support of custom software applications of the most critical and complex nature. This may include expert problem resolution, systems integration, basic architectural guidance, and mentoring of other team members.
- Participate in the analysis of customer and vendor requirements and provide technical direction on the creation of detailed program design specifications for high complexity user interfaces, application enhancements, new functionality, and backend processes in collaboration with customers, Business System Analysts, and other project team members.
- Assist project management in estimates as requested.
- Develop and modify complex, deadline-intensive, and/or mission-critical applications using advanced programming tools.
- Document all code using standard forms and procedures, and review others’ work as appropriate.
- Assist others in the use of programming tools and recommend tools to best meet application needs.
- Recommend process, methodology, and tool changes in conjunction with Architects and QA to best meet the needs of the department and client.
- Mentor and assist other developers in the use of programming techniques and reusable code.
- Work with Quality Assurance to participate in unit, system, and user acceptance testing based on an understanding of the development lifecycle.
- Mentor and assist other developers and QA Analysts in code review and complex test scripting scenarios.
- Ensure that code created by the project team is of high quality and efficient.
- Participate in architectural recommendations/decisions and work with other infrastructure groups as applicable to determine and implement complex system hardware requirements that may involve multiple platforms, databases, peripherals, or other technology.
- Provide the highest level of technical production support for applications, assist others with complex problem resolution, and respond with solutions to both functional and technical issues in a timely manner.
- Work with Business System Analysts, Project Managers, or other management to recommend process or system enhancements.
- Work with DBAs, Architects, and other team members to ensure logical and physical data models and relationship diagrams are completed and executed according to methodology and user requirements.
- Perform or assist in the creation of back-end databases and work with DBA’ s to implement a turnover plan.
Qualifications: Minimum Work Experience:
• 5+ years of experience programming in C#, VB, C++, HTML, SQL, ASP, Java, or other languages/technologies
• At least 3 years web service development experience, preferably with WCF
• At least 3 years using SQL and experience with an ORM like EntityFramework, NHibernate, etc.
• At least 3 years demonstrated success coding and implementing systems using the .NET framework. Specifically, building systems in C# Desirable Requirements:
• Experience implementing Windows Client applications using Windows Forms or WPF with MVC, MVVM, or MVP patterns
• Significant exposure to WPF or Silverlight application development
• Demonstrated ability to successfully perform the software developer role across multiple, technically complex system implementations with custom and third-party applications
• Advanced experience across the software development life cycle, from analysis to support.
• Experience with software lifecycle management in an agile methodology (SCRUM, FDD, XP, DSDM, etc.) preferred
• Demonstrated advanced experience reading and translating data, process, and business models into technical designs
• Demonstrated advanced understanding of relational databases (SQL Server and/or Oracle)
• Demonstrated advanced understanding of troubleshooting, root-cause analysis, application design, solution development, human factors/usability design, and implementation of medium sized projects or major components of large projects
• Demonstrated advanced knowledge of network systems hardware and software practice and technology. Experience with platforms such as UNIX, Windows, or other operating systems
• Significant demonstrated interface design and development experience
• Professional certifications such as MCPD, MCAD, or MCSD a plus
• Demonstrated teamwork skills
• Good communications skills (written/verbal), with emphasis on demonstrated ability to convey complex technical principles to non-technical audiences
BS or MS in Computer Science, MBA, MIS, or equivalent education, training, and/or experience