Mobile Software Engineer
About Engility: Engility delivers innovative solutions to critical challenges facing the nation and the world. As a premier provider of integrated services for the US government, we support the Department of Defense, intelligence community, space communities, federal civilian agencies and international customers. Engility is dedicated to making lives better, safer and more secure. Description: Engility is seeking a Mobile Software Engineer to support a major program at the National Media Exploitation Center (NMEC) within the National Capital Region. Duties and responsibilities include: Enhancing existing GOTS and COTS software applications in C, C -, and Java with emphasis on system demonstration and successful implementation. Providing suggested solutions for system and/or application issues. Collaborating with customer technical exploitation teams to define clear requirements, performance specifications, deliverables, and milestones for applications. Debugging mobile applications' memory and performance issues using tools such as Android Traceview to identify performance bottlenecks. Providing malicious code reverse-engineering to isolate, review, analyze, and reverse-engineer potentially malicious programs recovered from compromised computer systems and networks. Writing and producing technical reports related to the scope, nature, and characteristics of malicious software suitable for distribution to both technical and non-technical audiences. Examining new trends, techniques, and packaging of malicious software to stay current and be ready to identify and handle zero-day exploits. Periodically support field operations. Analyzing software and firmware using reverse-engineering techniques to understand security vulnerabilities Share knowledge by clearly articulating ideas through papers and presentations to technical staff management and customer decision-makers. Qualifications: Must have a current/active TS/SCI and be willing and able to pass a CI polygraph prior to starting. Requires a Bachelor of Science degree in Computer Science, Software Engineering, Computer Engineering, or Electrical Engineering and at least five (5) years of post-baccalaureate, progressive experience in a job offered as Software Engineer/Developer, Application Engineer/Developer or closely-related occupation. Experience with Android and a strong passion in mobile industry and mobile development. Experience with mobile web technologies (HTML5, AJAX, CSS, XML, JSON) preferred. Experience with wireless API's (Wi-Fi, Bluetooth) preferred. Experience communicating design decisions, trade-offs, code walk-through, and bugs, thoroughly, clearly, and concisely. Experience handling multiple simultaneous projects, managing time and priorities. Experience implementing new features and bug fixes while writing elegant, maintainable code. Experience developing/designing mobile phone platforms highly-desired. Experience requiring knowledge of implementations of contemporary commercial wireless devices Two (2) years of experience with reverse-engineering software packages such as IDA Pro, IDA Python PyDbg, or OllyDbg, as well as experience with computer forensic software packages such as EnCase, FTK, or Sleuth Kit/Autopsy. Experience in computer or cell phone architecture, system internals, operating systems, and/or boot process software development. Experience in software development and related technologies. Experience in sizing and scoping; designing; implementing; and delivering mobile application solutions using iOS and/or Android development environments. Experience in development on two or more of the following software platforms: Windows, Linux, Android, OS X, and iOS. Knowledge of designing interfaces using Objective-C, Android SDK, including the unique tasks of designing applications for small screen size. Experience requiring debugging, problem-solving, and analytical skills. Experience with multiple programming languages (C, C , C#, Objective C, Visual Basic, Java) is required. Experience in C, C or Objective C and Java or C# is a minimum requirement. Experience developing software applications in C, C , and Java with emphasis on prototyping, and API design and development. Proven track record of mobile application development. Experience with two or more software development tool environments and tool sets (ie Visual Studio, Eclipse, Xcode). Experience investigating software vulnerabilities, and a basic understanding of common cyber-attack methods. Strong organizational and communication skills, both verbal and written. Desired Qualifications: Master of Science or PhD degree in Computer Science, Software Engineering, Computer Engineering, or Electrical Engineering and at least four (4) years of related experience. EEO Statement: Engility Corporation is committed to hiring and retaining a diverse workforce. We are proud to be an Equal Opportunity/Affirmative Action employer, making decisions without regard to race, color, religion, creed, sexual orientation, gender identity, marital status, national origin, age, veteran status, disability, or any other protected class. US citizenship is required for most positions. For our complete EEO/AA and Pay Transparency statements, please click here .