Work Experience
Accenture Federal Services, System Developer Specialist, Washington, DC, November 2019 - Present
- Provides full stack software development, specializing in open source technologies including Drupal 7 and Drupal 8; WordPress; Java, PHP, JavaScript; MySQL.
- Configured and worked with DevOps technologies such as Docker and Jenkins.
- Used Linux (both CentOS and Ubuntu) hosted on AWS to host Drupal 7/8 and React projects.
Forum One, Senior Developer, Alexandria, VA, August 2018 - November, 2019
- Developed an interactive model using React and Redux. Used NodeJS as the platform.
- Provides full stack software development, specializing in open source technologies including Drupal 7 and Drupal 8; WordPress; Java, PHP, JavaScript; MySQL.
- Configured and worked with DevOps technologies such as Docker, Vagrant, Buildkite, and Jenkins.
- Used Linux (both CentOS and Ubuntu) hosted on AWS to host Drupal 7/8 and React projects.
MetroStar Systems, Full Stack Software Engineer (Open Source), Reston, VA, April 2017 - July 2018
- Developed in Drupal 7 and 8.
- Used SASS for front-end web development inside a custom theme.
- Wrote custom Drupal modules as well as maintaining existing ones.
- Used Drupal Console and Drush for custom module development and maintenance.
- Worked on an Angular project.
- Worked with AWS services such as EC2, S3, IAM, and RDS for various projects.
- Used Acquia Cloud in addition to AWS to host Drupal projects.
- Used Git for version control. Performed pull requests using Git.
- Maintained and developed RESTful APIs for the mobile team. Used Swagger as documentation.
- Worked with NodeJS.
- Used dependency management tools such as npm for JavaScript and composer for PHP.
- Used Docker and Docksal for LAMP environments.
- Performed regular backups of production database.
- Used Linux (both CentOS and Ubuntu) hosted on AWS to host Drupal 7/8 projects.
CGI Federal, Development Consultant, Washington, DC, Aug. 2015 - April 2017
Drupal Development:
- Developed and maintained a custom Drupal 7 site among DEV, TEST, and PROD environments.
- Worked with Linux on an Amazon AWS server (EC2 instance).
- Wrote custom modules in Drupal 7.
- Wrote and maintained a custom theme for Drupal 7.
- Implemented and configured contrib modules such as Views, Feeds, Features, Panels, and Strongarm.
- Wrote custom modules in addition to maintaining contributed modules.
- Used testing frameworks such as Selenium Web Driver and Drupal’s simpletest module.
- Wrote custom MySQL database scripts to create tables and populate data.
- Used Drupal 7’s database abstraction layer API to dynamically create Database Manipulation Language (DML) queries.
- Used Acquia Dev Desktop on local machine as source of Apache, MySQL, and PHP.
- Implemented Drupal’s hook API in custom modules as well as implementing custom ones.
- Performed MySQL database backups and restores using the Backup and Migrate module in Drupal.
- Wrote a custom Drupal installation profile for a Case Management application. Most of the code involved in this profile involved enabling additional modules outside of Drupal core and configuring settings in the database.
- Used Git for version control.
- Integrated open source software and third-party applications into existing systems.
- Used the command line tool Drush to perform critical maintenance tasks in local Drupal installation such as updating Drupal core, running cron, backing up the database, or clearing the cache.
- Used PHP debugging tools such as Xdebug and the Devel module to analyze variables and function call stacks.
- Part of a team that followed the Agile methodology using Scrum.
- Worked with Linux/UNIX commands on a daily basis to get tasks completed accurately and quickly.
- Wrote technical documentation in Confluence for custom modules written.
Java Development:
- Used Maven to build war files and deploy to dev server.
- Used hibernate Object Relational Mapping (ORM) tool to perform queries to the database.
- Used Spring and Stripes Framework.
- Used knockout.js data binding JavaScript framework to create dynamic forms.
- Used CVS and Git for version control.
- Wrote Java servlets.
- Used IntelliJ IDE for developing custom Java code as well as debugging by setting breakpoints. ADG Tech Consulting, LLC, PHP/Drupal Developer, Centreville, VA, Nov. 2014 - July 2015
- Create and modify PHP code to render HTML content and handle data/perform tasks, table less CSS, HTML, forms and scripts.
- Generated custom forms using Drupal 7’s Form API and the contributed webform module.
- Wrote custom MySQL database scripts to create tables and populate data. Worked on an InnoDB storage engine because of its transactional capability.
- Implemented Drupal 7’s database abstraction layer to dynamically create Database Manipulation Language (DML) queries such as db_select, drupal_write_record, db_insert, and db_update Drupal functions. When multiple tables were needed to be joined together, used Drupal’s join, innerJoin, and leftJoin functions to build onto the PHP Data Object (PDO) to construct and execute the query. Used PDO functions to grab the results in a certain way such as fetchAll to get an array of result objects, fetchAlloc which returns an associative array of the first result, fetchCol one result for one column (returns a string).
- Used MAMP on local machine as source of Apache, MySQL, and PHP.
- Used the contributed Views module to generate custom RSS feeds to XML and to create custom pages or blocks generated from custom database queries.
- Implemented Drupal’s hook API functions such as hook_schema, hook_init, and hook_menu to create custom functionality without modifying the core code.
- Performed MySQL database backups and restores on my local machine.
- Worked with SQLite database for in-house projects.
- Troubleshot existing client sites and provided ideas and efforts toward internal projects.
- Used SVN and Git for Version Control.
- Worked and assisted software developers in the team to analyze user needs, find solutions to various development platforms, documentation and problems.
- Integrated open source software and third-party applications into existing systems.
- Provided maintenance and administration, and creation of custom and contributed Drupal 7 modules and sites.
- Used the command line tool Drush to perform critical maintenance tasks in local Drupal installation such as updating Drupal core, running cron, backing up the database, or clearing the cache.
- Used PHP debugging tools such as Xdebug and the Devel module to analyze variables and function call stacks.
- Participated in ADG Meetings and assist ADG Tech in providing Technical Solutions to a problem on project bidding/Business Proposals and other tasks as and when required.
- Conducted Technical Interviews of other potential hires and other job duties as required.
- Part of a team that followed the Agile methodology using Scrum.
- Worked with Linux/UNIX commands on a daily basis to get tasks completed accurately and quickly. Local environment used was Unix-based (Mac).
- Wrote SQL queries including queries with different joins (inner, left, and right joins). Syncadd Systems, Inc., Software Developer, Arlington, VA, Feb. 2014 - Nov. 2014
- Wrote SQL queries including queries with different joins (inner, left, and right joins).
- Used PHP, MySQL, and stylesheets to dynamically generate HTML tables for Data Analysis.
- Used Git GUI and command line to keep multiple versions and collaborate on software.
- Generated tabular data to a .docx file in Microsoft Access using a SQL query and VBA macros.
- Responsible for writing guides and job-aids on how to perform these responsibilities. Rose Li and Associates, Inc., Software Developer, Rockville, MD, June 2013 - Nov. 2013
- Developed an Objective-C application for Mac OS X 10.7 Lion (Unix-based) and above.
- Purpose of the application is to extract acronyms and their definition from a Word or comma- separated values file and export results into an acronym table as a Word, CSV, HTML, or XML format. (Application published in November 2013).
- Evaluated and implemented Manual Retain Release (MRR) and Automatic Reference Counting (ARC) memory management methods
- Used Xcode’s Instruments tool to test for memory leaks and total allocations
- Designed Graphical User Interface (GUI) with interaction design principles such as heuristics to minimize user learning time
- Implemented WebKit framework for Help module
- Developed a Java application to display graphs of different types of medical research data on behalf of a large pharmaceutical company.
- Built a Model View Controller (MVC) based iPhone app mockup for related medical research.
- Created a mockup database using Microsoft Access for medical data.
- Assisted with the sustainment of the Rose Li and Associates homepage by updating site content.
- Set up SharePoint sites for associates and clients. Managed the permissions for the site so only internal employees working on the site had “Site Owner” status. Nysmith School, Software Developer, Herndon, VA, May 2013 - June 2013
- Built a prototype internal website for the students. Compared use of Drupal and Joomla as the CMS and selected Joomla.
- Set up a social networking site (uses a MySQL database hosted on a Red Hat Linux system) using the JomSocial plugin.
SKILLS
Category | Skills |
---|---|
Languages | Java, PHP, JavaScript, Swift, Objective-C |
Continuous Integration | Jenkins, Buildkite, Hudson, Bamboo |
CMS | Drupal, WordPress, phpBB, Joomla!, OSTicket |
Local Environments | Apache Web Server, Apache Tomcat, Nginx |
Relational Databases | MySQL, SQLite, Oracle 12c, SQL Server |
NoSQL Databases | Mongo, DynamoDB |
Java Frameworks | Stripes, Maven, Spring, Swing, JDBC, Hibernate |
PHP Frameworks | Drupal 6/7/8, Drush, Zend Engine, CodeIgniter |
PHP Debugging | Xdebug |
JS Frameworks | jQuery, Knockout, Angular, React |
Ruby Frameworks | Jekyll |
Web Services | AWS, Rest, SOAP |
Version Control | git, svn, cvs |
OS | Linux (Red Hat/debian), macOS, Windows |
Mobile | iOS, Android |