Seeking a capable and talented software developer experienced building custom software applications and providing Business Intelligence (BI) solutions with DoD experience.
Mid Level: 4 years of progressively higher levels of experience in design, development and testing of web based applications.
Senior Level: 6 to 8 years of progressively higher levels of experience in design, development and testing of web based applications, including some experience in leading a team of developers.
Candidates for this position should have a strong foundation in the design, development, testing, implementation and maintenance of web based, data driven applications that are built using primarily Microsoft technologies. Responsibilities will include working with a Technical Lead to implement changes to existing applications, logging and fixing bugs reported via application notifications and implementing new applications.
Successful candidates should have a good foundation in object oriented programming, excellent problem solving and troubleshooting skills, be comfortable working in a team environment and be able to manage their time efficiently. Experience and understanding of common software design patterns such, as inversion of control, dependency injection and separation of concerns is a plus.
As these are data driven applications, candidates should also be very comfortable with relational database concepts as well as reading and writing SQL queries and scripts, as well as methods of accessing this data from their applications using standard methods such as ADO.NET, the Entity Framework and LINQ2SQL. SSIS is used as the primary means of importing data into the systems, so
• B.S. in Computer Science, Engineering or Mathematics
• Aptitude for troubleshooting and problem solving
• Deep understanding of design concepts and design patterns
• Excellent oral and written communications skills
• Excellent teamwork and interpersonal skills
Preferred Skills: Senior Developer:
1) held a role leading a technical team or some mid or jr developers on tasks
2) has a deeper knowledge in at least a few subject areas (MVC, TDD, Security, Design Patterns, etc.)
3) has experience re-designing existing systems or processes and can explain the benefits of the re-design
4) can explain and preferably have used different development approaches (test-driven, code first, database first, etc.)
5) understands the value of and preferably has implemented shared libraries and tools
6) is able to understand complex problems and explain clearly
7) familiar with design tools (use case modeling, control flow, process diagrams)
8) is able to take a business problem and formulate solutions based on related experience
9) can explain the value of good requirements and generally spends more time on design than in development
10) truly understands why certain technologies and approaches make more sense rather than just "that's the way that we did it"
Candidates must be US citizens and hold a current secret clearance or recently completed positive