Senior Application Developer
This position requires the ability to secure a security clearance of secret level.
Senior Application Developers translate system specifications, requirements, logical and business diagrams, and detailed design documentation into system components and code. At a senior level, this position will be well versed in application development best practices and proactively apply them. This position needs to set an example for and be prepared to mentor other developers.
Location: Arlington, Virginia
- Implement application source control, builds and versioning utilizing Team Foundation Server.
- Able to develop technical roadmaps for future implementations, integrations and redesigns.
- Analyze business requirements in order to complete the necessary research, planning, development, testing, builds, and integration or enhancements to new or previously owned products (COTS) Assist in the evaluation and recommendation of application software packages, application integration and testing tools. Create diagrams representing current application designs, data architecture and flows.
- Design, develop, and support web-based applications and APIs.
- Produce quality code with a goal of zero defects and 100% code coverage.
- Design and develop architectures, enhance, debug, and implement software. Develop, troubleshoot, and deploy web applications utilizing latest Visual Studio. Unit-test code for robustness, including edge cases, usability, and general reliability. Review and debug existing source code.
- Troubleshoot production problems related to software applications. Able to Reverse engineer software.
- Prepare and provide software-related technical documentation.
- Act as team leader on project. Instruct, assign, direct, and check the work of other software developers on development team. Facilitates change control, problem management, and communication among programmers and analysts.
- Write well designed, testable, efficient code on time and with high quality.
- Enforce change management processes in each environment.
- Able to multi-task and stay organized in a dynamic work environment.
- Must be able to envision solutions to complex problems and be able to explain them to technical and non-technical audiences.
- Identify problems and recommend solutions using evidence-based, data driven analysis.
- Produce estimates and lead the execution of approved work streams and tasks.
- Document systems and best practices for software developers and other engineers.
Education and/or Experience
Minimum Education Required
- BS/BA degree in Computer Science, Information Sciences, or related IT discipline.
- Allowable Substitution: Additional ten (10) years of related professional experience can be substituted for a BS/BA degree.
Minimum Experience Required
- A minimum of 10 (ten) years of professional experience in software development at a senior level is required.
- A minimum of 15 (fifteen) years related in the Software Development field.
- Experience developing software based on ‘Use Cases’ documentation, design specifications, defect reports and new system requirements.
- Expert knowledge on monitoring and improving system performance including tuning, application profiling, code scanning tools and able to facilitate code reviews.
Able to Reverse engineer software.
- Five years of experience with latest SQL Server technologies. T-SQL experience including writing and troubleshooting stored procedures. Experience with SQL Server Batch Processes.
- Expert knowledge of Relational Databases and creating stored procedures. Able to produce ERD with normalized data structures. Ability to develop, troubleshoot, and deploy database T-SQL scripts.
- Able to implement different Authentication methods, i.e., Single Sign-On via Active Directory, two-factor authentication, SAML and OAuth 2.0.
- Experience working with TFS and source control in a team environment. Create/Modify Build definitions on Team Foundation Server. Create Projects and Branching on Team Foundation Server
The minimum experience and education requirements for this position are due to the complexity, at the program level, of the tasks at hand. This senior level position will be instrumental in designing, updating and maintaining mission critical systems. This position will provide guidance and support to all technical positions including system architects, developers and database administrators. The requirements as stated above reflect industry standards.