- 10 years in IT in I.T. - information quality and data analytics
- 5 years in mobile app development with 5 published Android apps
- Skilled in Java coding, JDK, Android Studio to create new Android mobile apps.
- Skilled in reviewing and refactoring code, to improve existing Android apps.
- Experience in Business Intelligence (BI), Data Analytics, and transformation of data for use in business decision making.
- Able to create robust quality testing using automated testing with Robolectric, and continuous integration (Jenkins and Hudson).
- Able to write scripts to quality test and validate data.
- Able to write custom scripts and application in SQL, Java, and Python to provide business intelligence.
- Writes high quality unit tests using Junit and creates beta test scenarios implemented in TestFairy. and deployment scripts.
- Experience with embedded local storage solutions such as SQLite, and back-end database connectivity with SQL, Oracle, MySQL and other databases.
- Experience with RESTful web services using JSON and GSON.
- Familiar with integration through various APIs (Facebook, Twitter, Google).
- Experienced in the full software developed lifecycle (SDLC) including planning,
- Mobile App architecture employing MVC, MCP, and MVVM patterns.
- App design with Builder, Façade, Proxy, Abstract Factory, Observer, Decorator, Composite, Bridge, etc. depending on use case.
- Partner with cross-functional teams to define new product requirements, features, and functionality.
- Experience in working with Video, Static content, and advertising.
- Real-world experience is building very large scale, high availability applications.
- Work effectively with UI designers who are obsessive about pixel perfection.
- Experience working on-site and off-site teams and management.
- Collaborated with Software Engineers for the design and development of back-end services.
- Experience implementing persistent data in device memory, web-based databases, and the cloud
- Fully conversant with OOP principles, software development frameworks and design patterns
- Strong knowledge in Agile development environments, having a SCRUM Master role in multiple meetings.
- Good experience with Push Notifications, Google Maps, Navigation, GPS
- Experience with Android performance tuning and crash reporting applications.
- Ensure software created and released conforms to quality requirements by accurately writing and executing test plans.
- Knowledgeable of the latest analytics tools for mobile applications such as
Database & Data Analysis: SQLite, Firebase, SQL Server, Realm, Mongo, Oracle Server, Oracle 10g, Informatica, Informatica 9.5.2 SAS Dataflux, R, and Hadoop
Operating Systems: Windows (98, 2000, XP, Vista, 7) UNIX based systems.
Software: Microsoft Office Suite
Misc Skills: Internet Programming, Computer Forensics, Database Design and Implementation, Website Design, Systems Analysis and Design, Data Mining, Database Security, ASP.NET, Advanced Database Design, Big Data, Project Management, Advanced Systems Analysis and Design, ETL, ELT
Web Services: RESTful APIs, REST, SOAP, JSON, GSON, XML, AJAX
Frameworks: Android SDK, FabricThree20, Sparrow, Java Development Kit (JDK), .NET
Testing: TDD, Unit Testing (Junit), Automated Testing, JIRA, Jenkins, Written Test Cases, Android Testing(Robotium), Espresso, Robolectric, Mockito
Project Management: Agile/SCRUM, Sprints, Daily Scrums, Sprint Retrospective, Sprint Planning, Backlog, Kanban, JIRA, Redmine, Basecamp, Slack, Atlassian Stack BitBucket, Git, GitHub, SVN, Tortoise
DeBugging/Issue Tracking: JIRA, DDMS tool, ADB, LeakCanary Firebase Crash Reporting, Fabric Crashlytics
Libraries: Ksoap, Jersey, Java Swing, Ajax Swing, GWT, Retrolambda, NineOldAndroids, RxJava
Multimedia: Picasso, Glide, Fresco
Misc Tech: NFC (Near field communication) technology, GCM (Google Cloud Messaging, Retrofit, Volley, RxJava, Metrowerks PowerPlant, Parse, Push Notifications, Remote URLs, Dagger, Urban AirShip, AsynTask, Recycler View, SongyCastle, Nougat, Dependency Injection
Architecture and Design Patterns: MVC, MVP, MVVM, Singleton, Dependency Injection, Builder, Factory, Façade, Proxy, Command, Observer
IDE: Android Studio, Eclipse, IntelliJ
Memory Management: ART, Dalvik, Memory Mapping, leak Canary, Bluetooth Low Energy
ANDROID LEAD MOBILE APP DEVELOPER
Confidential, Plano, TX
- Coordinated team of software engineers to complete required tasks, managing Stories and tasks with JIRA, and following an Agile Scrum methodology with daily Scrums and 2-week Sprints.
- Use of advanced software engineering concepts: object-oriented design, native Android and third-party frameworks.
- Responsible for gathering, documenting and managing requirements including change management with JIRA and Java Doc.
- Worked in Android Studio with Java coding in the development of Android mobile app features and functions.
- Use of The Android Runtime (ART) and Dalvik virtual machine for paging and memory mapping to manage memory.
- Improved performance by cleaning up obsolete object references to free up memory with the garbage collector.
- Facilitated payment integration with Firebase to support various payment APIs.
- Used Git and Bitbucket for code repository and version control.
- Used Android frameworks and APIs to efficiently load data and update databases: Loaders, AsyncTaskLoader and SyncAdapters.
- Worked in MVP architectural pattern and design patterns (Singleton, Command, Facade, Proxy and Observer design patterns)
- Use of ViewGroups provided by the Android SDK: FrameLayout, LinearLayout, RelativeLayout, CoordinatorLayout.
- Achieved a great level of decoupling by implementing Dependency Injection with Dagger 2.
- Actively worked with the back-end team to improve the RESTful API to include new features for the Android app.
- Used Firebase for real-time database, and for CDN with data storage and persistence.
- Debugged code with the help of Firebase Crash reporting, in addition to Junit tests created in Android Studio.
- Utilized push notifications with Firebase Notifications and Firebase Cloud Messaging (formerly GCM) for in-app messages, and enabled user login and authentication with Firebase Auth.
- Integrated with access points with Retrofit to consume RESTful Web Services using HttpURLConnection with GSON to covert Java Objects to JSON.
ANDROID SENIOR MOBILE APP DEVELOPER
Confidential, Framingham, MA
- Helped transition the Android app from MVC to MVP, to achieve a complete separation of concerns, better code reuse, simpler code reuse and a higher percentage of unit tests.
- Introduced Dagger library for achieving the decoupling of the modules through dependency injection.
- Participated in Agile Scrum project attending daily scrums, and participating in Sprint planning meetings, sprint reviews, sprint retrospectives and Backlog refinement meetings.
- Interacted with Product manager and stakeholders to gather requirements and keep them in the loop on project status.
- Wrote unit tests for the functionality of the application and tests using JUnit.
- Worked with Android Device Monitor for monitoring CPU load, heap size and memory usage
- Wrote automated tests (TDD & BDD) with RSpec, JaCoCo and Cucumber.
- Wrote Javadoc for documenting the different modules, and software features.
- Extensive use of heavy data workloads to show items in a ListView with the ViewHolder pattern.
- Employed continuous integration tools like Jenkins in Android development.
- Embedded local storage solutions such as SQLite in Android.
- Image manipulation and animation, including techniques like alpha blending.
- Identified bugs on the previous version improving the performance on the Android lifecycle.
- Incorporated Firebase push notifications.
- Used native Android and third party technologies to optimize the app functionality including, Material Design, Firebase Cloud Messaging, Espresso, JUnit, SQLite, Glide, Shared Preferences,, Java, MixPanel, EventBus, RxJava
- Consumed RESTful web services with Retrofit and replaced old third-party libraries.
- Used persistent data on the device to store information already loaded for future use by implementing local LRU and database caching.
- Used Butter Knife library for Android views dependency injection.
- Wrote automated tests (TDD & BDD) with JUnit and Mockito.
ANDROID SENIOR MOBILE APP DEVELOPER
Confidential, St. Louis, MO
- Started from scratch gathering client information and refining requirements into a project plan.
- Implemented a new app participating in the entire software development lifecycle (SDLC).
- Implemented Universal Image Loader for image downloading, catching & rendering.
- Mentored two junior developers on Android best practices and coding standards
- Managed continuous integration with Jenkins, and Git using SourceTree on private server for version control.
- Worked in Eclipse to implementing the Android app.
- Developed efficient and maintainable code with the right balance between solving the problem at hand and not over-engineering the solution.
- Introduced Parcelables for object transfers within activities.
- Providing assistance to code merges, builds, deployments, and ensuring production stability.
- Used JSON to receive data from Restful Web Services configuring Retrofit and employing GSON and OkHTTP for parsing Java objects to JSON.
- Contributed high level input on app interface design and tools/frameworks for implementation.
- Worked closely with the UI/UX team for the new colors, shapes and style combinations.
- Mentored two junior web developers on coding best practices for RESTful web services.
- Integrated Facebook - Twitter API for incorporating like, Login and sharing features
- Ensure excellent form factor integration by creating multi-panel activities with Fragments.
- Used Android Annotations for dependency injection
- Created and maintained technical documentation of the application.
- Added extra functionality to the app such as Comment and vote deals, share offers (directly from the app or with notifications).
- Used HTTP rest calls for better performance using different threads.
- Coordinated with the testing team during the testing phase to resolve issues of Android app performance and user experience (UX).
- Created custom animation to improve the user experience following the Android material design principles.
- Created the database using SQLite for storage and data persistence.
- Created Unit Tests For code in the ‘Presenter’ component.
ANDROID MOBILE APP DEVELOPER
Confidential, Santa Barbara, CA
- Participated in all stages of software development including defining product vision, gathering requirements, software system design, coding, testing, release, and support.
- Developed in Eclipse using Material Design guidelines and oop programming standards.
- Used the Dalvik Debug Monitor Server (DDMS) for debugging and testing.
- Stored data of the task bonuses in SQLite.
- Implemented early versions of the Floating Action Button with the usage of third party libraries.
- Guide decisions on architecture and technical strategy.
- Used Retrofit to handle the API consumption with a Jackson built-in converter.
- Collaborated with cross-functional teams to define, design, and ship new features.
- Utilized a Tabs and Navigation Drawers to switch quickly between application Activities and Fragments.
- Experience with network programming and consuming third party APIs.
- Development of quality code using cutting-edge techniques, tools, and utilities.
- Created custom views and animations for visually appealing UI/UX
- Applied Picasso to download images and show them in the UI.
- Created custom animations to improve the user experience.
- Effectively used Activities, Services, Broadcast Receivers, SQLite and preferences Android components.
- Integrated dependency injection with RoboGuise.
- Used Picasso for image loading and created custom animated annotation programmatically.
- Added selectors and animation effects on UI/UX elements to enhance the User Experience.
- Integrated web applications, and web services to Android app to add functionality and enhance performance.
- Consumed HTTP and REST-style web services.
- Diagnosed and resolved mobile networking performance issues.
- Achieved a great level of decoupling by implementing Dependency Injection with Dagger 1.
- Added Push Notification features with Google Cloud Messaging.
- Added selectors and animation effects on UI/UX elements to enhance the User Experience (UI/UX).
- Added services and AsyncTasks to download image files without freezing the UI.
ANDROID MOBILE APP DEVELOPER
Confidential, San Francisco, CA
- Used navigation drawer to provide quick and easy access to the menu items.
- Have developed and helped grow an effective engineering organization at all levels.
- Assumed the role of SCRUM Master in several occasions, easing the development process and helping the team members to jump hurdles and obstacles in their daily software building process.
- Experience working a significant consumer app that is currently available in the marketplace.
- Worked with GSON and Jackson library to parse JSON files.
- Fixed bugs that I came across during the different stages of the development, and after the deployment.
- Supervised the creation of the testing suites developed with Espresso and Mockito.
- Used Android Annotations library to apply binding in Android views.
- Built and delivered a highly scalable and maintainable application.
- Introduced the Push Notifications through Urban Airship.
- Implemented consumption of RESTful API with GSON converter.
- Added a user configuration setting to persist and switch the network usage.
- Created all project documentations from requirements to deployment plan
- Used Intents & Intent Filters to initiate activities and pass information between Activities and Fragments.
- Improved the layout rendering by saving and optimizing the view hierarchy in all the resources.
- Used Shared Preferences to save/retrieve user information
Confidential, Palo Alto, CA
- Data analysis, business intelligence, and construction of DataFrames and pipelines using Hadoop, Apache Spark, Spark Streaming, and Hive, as well as other data processing, analysis and BI visualization tools.
- Experience providing intelligence solutions for various industries including healthcare, retail, technology, finance, insurance, and government.
- Moved data from Hortonworks cluster to AWS EMR cluster.
- Involved in running Hadoop jobs for processing millions of records and data that gets updated on daily and weekly basis.
- Continuous data integration from mainframe systems to Amazon S3 which is connected via Attunity, ETL tool.
- POC involved in loading data from LINUX file system to AWS S3 and HDFS.
- Worked on AWS to create, manage EC2 instances and Hadoop Clusters.
- Used Bedrock data management tool to run the MapReduce jobs on top of RAW data and transforming the data to generate the desired output files.
- Developed shell scripting and used shell commands to automate the data flow on day to day processes.
- Created both internal and external tables in Hive and developed Pig scripts to pre-process the data for analysis.
- Monitoring Hadoop scripts which take the input from HDFS and load the data into Hive.
- Designed appropriate partitioning/bucketing schema to allow faster data retrieval during analysis using HIVE.
- Worked on various file formats like AVRO, ORC, Text, CSV, Parquet using Snappy compression.
- Created PIG scripts to process raw structured data and developed Hive tables on top of it.
- Used Apache Hue for interface with Hadoop system, and Tableau to produce visual dashboard and data representations used in presentations to keep management informed.
- Provided Business Intelligence (BI) analytics to extrapolate pertinent and useful information from raw data.
Confidential, Los Angeles, CA
- Developed the Java Code using Eclipse as IDE.
- Developed JSPs and Servlets to dynamically generate HTML and display the data to the client side
- Developed application on Struts MVC architecture utilizing Action Classes, Action Forms and validations.
- Tiles were used as an implementation of Composite View pattern
- Was responsible in implementing various J2EE Design Patterns like Service Locator, Business Delegate,
- Session Facade and Factory Pattern.
- Code Review & Debugging using Eclipse Debugger.
- Was responsible for developing and deploying the EJB (Session & MDB).
- Configured Queues in WebLogic server where the messages, using JMS API, were published.
- Writing/Manipulating the database queries.
- Build web application using MAVEN as build tool.
- Performed unit testing using JUnit Testing Framework and Log4J to monitor the error log.
- Worked with large datasets using MapReduce.
- Created scripts to move data to electronic data warehouse using Informatica to validate data.
- Write SQL scripts and commands for testing data format.
- Tested SQL programs with other developers to expedite testing.
- Involved in data quality methods, standards and validation.
- Used various ETL tools for transforming data.