Printer friendly copy: view - last update: 4th August 2016.
Personal Information
Website: www.phillipcooper.id.au
Australian resident and passport holder (NAT: 'AUSTRALIAN').
UK passport holder (NAT: 'BRITISH CITIZEN').
Profile
Experienced software developer with strong background in enterprise security monitoring, intrusion prevention, and user compliance products across an expansive portfolio.
My unique set of skills and abilities have allowed me to contribute in a high number of specialisations for the organisation that I had worked for, ranging from data integrity and monitoring, NSA STIG compliance, full stack SaaS cloud applications, network security (firewalls and IPS), Internet Browsers, accessibility, i18n, package management, and Mobile Device Management app suites for large scale deployments.
I have had extensive exposure to the full software development life cycle. In particular Agile development, having served in a Scrum master role and as team lead.
Technical Skills Summary
SKILL | LEVEL | YEARS |
C/C++14 (GCC, MS VC, GDB/DDD, POSIX, OpenGL/DX/UI, Boost, Threading) | Expert | 10 |
Java (JEE, JSP, JSF, SWING/AWT/SWT, JMS, JDBC, JUnit, Mockito) | Expert | 12 |
JavaScript (NodeJS, AngularJS, KnockoutJS, JSON, Jasmine) | Very Good | 15 |
Agile Development & Scrum | Expert | 6 |
iOS Development (ObjectiveC, Core Data, NSURL*, UIWebView) | Very Good | 1 |
C# .NET (Xamarin/Mono, XNA, MonoGame) | Very Good | 5 |
PKI & Network Security (OCSP, USA NSA STIG Compliance, SSL/TLS, AES) | Expert | 6 |
Continuous Integration (Jenkins, Cruise Control, RTC, Buildforge) | Expert | 7 |
PM & Collab (RTC, Jira, Confluence, Trello) | Good | 6 |
Databases (RDBMS, SQL, MS TSQL, SQLite, ElasticSearch, MySQL) | Proficient | 6 |
Web Development (HTML5, CSS3, RESTful APIs) | Very Good | 15 |
Installation Development (InstallShield / IS Script, RPM, AIX installp) | Good | 6 |
Quality Assurance Engineer (TDD, DDD, BDD) | Proficient | 1 |
Mobile Web Development (PhoneGap/Worklight/Cordova, Ionic) | Proficient | 3 |
Education and Qualifications
Bachelor of Computer Science (games technology) [honours], Charles Sturt University
Tertiary 2005-2009: Charles Sturt University, Bathurst NSW
Key Achievements:
- Dean’s award for Academic Excellence.
- Admission into Golden Key Honours society.
High School 1999-2004:
Key Achievements:
- Completed NSW Higher School Certificate.
- Received many awards and merits; notably the Reuben F. Scarf award and the University of Newcastle award for excellence in Technology.
Employment History
July 2015 – June 2016
iOS Software Engineer, IBM
Role Description:
- One of two (mostly solo) developers for MaaS360 Secure Browser app. A Web browser that helps to simplify corporate deployment of Intranet access and provision policy for employee BYOD benefit.
- Developed new features for versions 1.99 and 2.00.
- Fixed defects and worked directly with customers to solve issues.
- Integrate product into existing MDM customer platforms, adhering to security policies accordingly.
- Implement multiple security defence mechanisms beyond Apple SDK capabilities, such as user data and Browser Cache encryption.
- Work with external development team located in Bangalore, India.
Responsibilities:
- Meet release deadlines.
- Fix customer defects and resolve issues directly with the clients.
- Regression testing across great number of variations of devices, OS versions, and product combinations.
- Work with QA to help outline quality control parameters and user scenarios.
Key Projects:
- MaaS360 Secure Browser app ( http://bit.ly/1NIGh1Z ).
- MaaS360 app (MDM).
Key Skills/Technologies:
- ObjectiveC (iOS).
- UIWebView, NSURL*, Encrypted Core Data (SQLite backing DB), XCode, PKI.
- Trello, Jira, SVN, GIT.
January 2015 – July 2015
Full Stack PaaS/Web + Development Team Lead, IBM
Role Description:
- Development team lead and scrum master role for unannounced security product.
- PaaS based cloud offering security product.
Responsibilities:
- Provide guidance to team members.
- Strategically plan and organise direction for team.
- Architect solutions and system diagrams.
- Interface with management and stakeholders, giving accurate status of how the work is tracking.
- Facilitate Scrum Master role, per Agile methodology.
- Implement features with unit testing.
- Create and manage Continuous Integration (CI) pipeline.
- Implement features.
- Work with external development team based in Atlanta, USA.
Key Projects:
- IBM Security Network Protection (XGS).
- Unannounced security product.
Key Skills/Technologies:
- JavaScript, Angular.JS.
- Java EE.
- JUnit, Mockito.
- ElasticSearch DB.
- HTML5/CSS3.
- Ionic.
- Test Driven Development (TDD), Behavior Driven Development (BDD).
2012 – December 2014
Full Stack Software Engineer, IBM
Role Description:
- Refactor existing product to be compliant with accessibility policy.
- Refactor existing product to be localised and translated for global audience.
- Ensure product meets US Government NSA STIG security compliance.
- Implement data integrity monitoring and alert sensors.
Responsibilities:
- Fix customer defects.
- Implement new features.
- Develop and maintain installation packages.
- Ensure Continuous Integration build process.
- Develop and maintain certificate management utility.
Key Projects:
- IBM Security SiteProtector ( http://ibm.co/1Bj3Jcn ).
Key Skills/Technologies:
- Java (JEE, SWING/SWT/AWT).
- MSSQL (TSQL).
- C++14 (VC++, MS Visual Studio).
- HMAC data integrity.
- InstallShield (IS Script).
- Python.
2011 – 2012
Software Engineer, IBM
Role Description:
- System (Unix/AIX/Linux/Solaris) Security, Intrusion Prevention product development (IPS).
- Software Upgrade management.
- Security (System Audit) monitoring.
- Data integrity and active monitoring.
Responsibilities:
- Fix customer defects.
- Implement new features.
- Develop and maintain installation packages.
- Ensure Continuous Integration build process.
Key Projects:
- IBM Security Host Protection for Linux/AIX/Unix ( http://ibm.co/1KrCVPx ).
Key Skills/Technologies:
- C++ (gcc, gdb, llvm, ddd, posix).
- Shell scripting (SH, BASH).
- Package management (RPM, AIX installp).
2010 – 2011
Quality Assurance Software Engineer, IBM
Role Description:
- Validate new product features from customer perspective.
- Check new features do not cause issues with existing features (regression testing).
- Report discovered issues (defects) with great detail to benefit developer.
Responsibilities:
- Help plan and guarantee software is up to high quality standards per customer expectations.
- Communicate to development team of potential issues and to gain clear understanding of software expectations for testing purposes.
Key Projects:
- Unannounced product.
Key Skills/Technologies:
- Java.
- Data Driven Development.
2007 – 2008
Research Software Engineer, Charles Sturt University
Role Description:
- On hand research developer for Psycholinguistics Laboratory.
- Research developer for the Centre for Research in Complex Systems (CRiCS).
Responsibilities:
- Maintain laboratory websites.
- Maintain existing research software and experiments.
Key Skills/Technologies:
- Wealth Management Advisor / Client relationship simulator.
- Key Skills/Technologies:
- Java.
- REPAST.
Other Achievements
Search Engine ‐ 2004
Attendee of Sydney University’s Compuware Computer Science summer school, where a team of nine fellow attendees set out to create a complete web search engine using various technologies. The search engine was accomplished within one week and donated to CanTeen ( http://www.canteen.org.au ) youth cancer support charity organisation.
Shockwave Flash Yearbook ‐ 2004
For my High School Certificate assignment, I created an electronic yearbook for my class.
Educational Game ‐ 2007
For a group assignment at university, my class developed an educational game to simulate how government policies affect the environment and economy. My contributions to the project include the environment simulation model with realistic science based weather and water distribution patterns. In addition to the environment simulator, I helped with the sound engine and the logging mechanism.
Xbox 360 Video Game ‐ 2009
During my gap year after university, I developed a Xbox 360 video game for entry into the Microsoft Dream.Build.Play competition. The game, titled “Biophage”, incorporates many innovations that I developed for this game, primary of which include:
- Scalable game engine where the engine can dynamically scale the threading pipeline to improve concurrent processing capability to approximately linear performance increase.
- Massive real-time online game play capability. Experimentation showed that the game could achieve 3D spatial movement with VoIP for 100 clients, requiring only 8kbps connection speed to the server for smooth game play experience.
More information about my submission can be found on my website ( http://bit.ly/1cU2kmJ ).
Hobbies and Interests
When taking a break from work, I enjoy many activities. Golf is my favored pastime from first playing at age 13, but I have since started getting into Beach Volleyball whilst I lived close to the magnificent Gold Coast beaches. I try to keep physically active as much as I can to balance out my office desk job.
Volunteer Work
From an early age, I have been engaged in volunteer work and charity/community events quite regularly. Charities that I have worked with include Diabetes Australia, Cancer Council Australia, Returned & Services League, and Lions Club.
When opportunity strikes, I have volunteered to lead a team of fellow colleagues in the Cancer Council's Relay for Life event on several occasions.