Senior Software Engineer Resume
Dallas, TX
SUMMARY
- Experience in Mobile Application Development using Android Technology.
- Proficient with Android, Kotlin, Java and C++.
- Good experience in using multiple android components such as Activity, Fragments, Service, Intents, Broadcast receiver, Content providers, Loaders, RESTful Web Services, and Notifications.
- Experienced with Android debugging tools such as Debugger (DDMS), Device Manager (AVD) and Logcat.
- Experience on Android UI components such as Text View, List View, Customized List View, Menus, Edit boxes, Buttons, Checkboxes, Dialog boxes, Alert boxes, Action bars, and Spinners for various layouts in Application development.
- Extensive experience in building mobile applications using Android framework APIs such as (Location, Camera, Animations, Maps).
- Experience in parsing the web response data in both XML and JSON format.
- Experience in using SQLite Database, Shared Preferences for mobile data management, SQL Server database for web data management.
- Involved in the Pair programming with other programmers.
- Involved in debugging the application, production bugs fixing and enhancing the app.
- Experience in Developing Applications using Java, J2EE, Servlets, JSP, XML, Eclipse, JDBC, Web Services, Oracle, MySQL, SQL, HTML, and CSS.
- Experience in developing the Test - Driven Development (TDD) and Behavioral Driven Development (BDD).
- Experience in developing the test cases for android using Junit, Robolectric and Lettuce tests.
- Experience in developing applications using Social Networking APIs such as Facebook and Twitter.
- Good knowledge in RDBMS concepts (Oracle 11g, MS SQL Server 2000) and strong SQL, PL/SQL query writing skills (by using TOAD & SQL Developer tools), Stored Procedures and Triggers.
- Good Experience on Version Control using Git and Code review using Gerrit, Github.
TECHNICAL SKILLS
Mobile Technology Platform: Android-SDK, ADB, DDMS, SQlite, Notification Services including Push, Location Based Services, Content Provider, Broadcast Receiver & Services, RESTful Web Services, HTTP, JSON, IntentService, AsyncTask, Fragments, Maps
Third Party Libraries: Volley, Retrofit, AsyncHttp, Picasso.
Programming: Android, Kotlin, Java, C, C++, Rx Java, XML (parsing DOM, SAX), HTML5, SQL, JSON, Multithreading, JavaScript.
Operating Systems: Windows, Linux, UNIX, Mac, iOS, Android.
Versions Control: GIT, Gerrit, GitHub.
Tools: Android Studio, Eclipse, JIRA, Slack, Extraview, Rally.
Database: SQLite, Realm, Oracle, MySQL-Queries, PL/SQL Stored Procedures, Functions, Triggers.
Development Method: Agile Scrum Methodologies.
PROFESSIONAL EXPERIENCE
Confidential, Dallas TX
Senior Software Engineer
Responsibilities:
- Analyze user needs and understand the functional requirements of theassigned user stories and defects.
- Work with product definition team, Design team and testing team to achievethe good quality product.
- Responsible for assessment of technical feasibility of the given requirementon android application.
- Worked on Welcome Pod Project and the features like Digital Key, Digital Check in and Check out.
- Resolved all the sync issues bugs with the Digital Key and also Developed the new features for Welcome Pod.
- Worked on the different android features like Kotlin, REST, JSON/GSON, SQLite, Dagger, RxJava, Retrofit and Realm.
- Developed all the new features for the Project in Kotlin.
- Redesigned mobile UI and implemented dynamic image sizing and support for multiple devices.
- Migrated the existing Check in Check out and Digital Key modules from Java to Kotlin.
- Created the Harness app for Check in, Check out and Digital Key for better testing and Development.
- Performed development on the Harness app’s and Integrated the harness app’s to the main app.
- Added the Junit tests for the new developed features and also added the UI automation test cases for the new development work in the modules.
- Use tools like POSTMAN, Charles for checking the API responses.
- Use JIRA board to assign user stories and the defects and Bitbucket and SourceTree for the version Control.
- Used many debugger tools like android debugger, emulators, ADB log for logging the stack trace data at debug, info levels.
- Not only into development but also served for bug fixing while I have worked closely with QA team for end to end testing of each feature.
- Writing Automation Test Scripts from Scratch for Mobile Apps using JAVA, JUnit, TestNG, Wire
- Mock, Espresso, Appium, tests and few other frameworks.
- Writing the Automation Test Scripts in Page Object Pattern and using JSON files for handling the Data.
- Mocking the Data using wire mock methods and implementing in the Automation scripts.
- Mocking the API Data using Charles proxy and writing/executing automation test scripts with
- Wiremock framework and stubbing Methods to manipulate the API data
- Using Google’s Espresso framework for writing Unit Tests and UI Automation test scripts
- Use JIRA board to assign user stories and the defects and Bitbucket, Git and SourceTree for the version Control.
- Work on Jenkins pipelining to implement and integrate continuous deliveryof build.
Environment: Android SDK, Kotlin, Rxjava, Dagger, UI Automator, Junit, Mockito, Wiremock, Realm, Source tree, Git, Charles Proxy, Databinding, Retrofit, Jenkins.
Confidential, Dallas TX
Android Developer
Responsibilities:
- Designed and Developed application for Pixel-C devices with user-interface with all material design guidelines provided by Google Android.
- At the architectural standpoint we are into MVP at the User Interface and developed each feature as separate delegate and components wherein we are into MVVM at feature level.
- Developed couple of Proof of Concepts(POC) on Kotlin and now migrating to Kotlin as it provides quality of apps with better performance
- Integrated common core C++ library that abstracts the business logic from the client
- Integrated GM Audio Stage3 API which is generic Music player application owned and provided by General Motors.
- Integrated SXe/DL application that communicates with Satellite Module
- At developer standpoint, implemented the SWIG Interface at the Data Layer between JNI C, C++ libraries and Android and helps communicate between libraries and Android.
- Successfully parsed data from JSON array to Java objects using RESTful web services like Retrofit 2.0.
- Handled memory leaks in constructors and threads to speed up the response time. Used implicit and explicit intents to parse data between activities and fragments.
- Implemented the concept of Rxjava such as Flowable, Vector String and Subscriber-publisher to stream asynchronous data stream and post events from event bus to the device.
- Saved data locally using SQLite database by performing the CRUD operations on the database.
- Work on hardware devices like KOI module, Car Head Unit in combination with CMS module and Pixel C devices for testing the features.
- Implemented test cases using JUNIT and MOCKITO unit testing frameworks for automated test cases.
- Documented all the features and development where we upload documentation into Confluence and eRooms.
- We have uploaded all the dependencies needed for the project into Maven and point out our build.gradle to Maven Central where we do continuous integration and deployment through Jenkins where we automate test scripts.
- Using Git and Github as version control system, check in the code into git-develop branch once we are done with user-stories with 100% acceptance criteria.
Environment: Android SDK, JNI, C++, SQLite, Rxjava, Dagger, Junit, Mockito, eRooms, Maven, Retrofit, Jenkins.
Confidential, Nashville TN
Software Developer
Responsibilities:
- Developed the web pages using JSP, CSS, JavaScript, jQuery, XML, and Java.
- Working with RestfulWeb servicesfor Mobile app.
- Used Volley to create REST calls to API created by our Back-End team.
- Working with the Android SDK to create the UI based screens.
- Retrieved data from the Web APIs and parsed using JSON to display in the application.
- Developed the application’s business functionality using Core Java, Spring MVC, JDBC, Enterprise Java Bean, Servlets, and AJAX.
- Created database connectivity using JDBC and Hibernate mapping technologies.
- Implemented application driver flow using Spring MVC annotations and XML configuration files.
- Created web services using SOAP and Restful API’s to push the member portal data to
- The eligibility determination module and consumed the web services from USPS web portal to validate the mailing addresses of the individuals.
- Used jQuery, JavaScript and JSON for client-side validation. Used Java and Web services for server-side validation.
- Used GIT for pushing the source code to the Bitbucket server. Used JIRA and JAMA for tracking the development activities.
- Involved in defect fixing in the application
- Gather business requirements from Business Analysts and analyze the business strategies and clearly communicate the requirement to the team members before starting the development process.
- Create the time duration for development phase, testing and deliverables in JIRA.
- Create the development activities for each task with an approximate time duration for completion.
- Prepare technical and functional documents in Microsoft Excel and word, describing each web page’s technical and functional details and upload it in SharePoint.
- Presenting the application’s functional demo to the testing team once the development has been completed.
Environment: IBM WebSphere Application Server (WAS 9.0), Android, Volley, JSON, XML, JDK 1.8, Core Java, Enterprise Java Beans (EJB), Spring MVC framework, JDBC, HTML5, CSS, JSP, JavaScript, jQuery, JSON, XML, Oracle database, Eclipse, SharePoint, JIRA, GIT, Bamboo.
Confidential, Lexington KY
Software Developer
Responsibilities:
- Involved in developing the GUI part for the printer using Android operating system.
- Involved in Creating the new features to existing Android UI application.
- Involved in different firmware levels for different types of printers.
- Participated in developing the UI for the app using Web Views, Buttons, 9-patch images, dialog and Alert dialogs.
- Worked with Android UI components such as Layouts, Menus and Action Bars.
- Participated in designing of various screens (4.3, 7 and 10 inch) by using design principles.
- Researched on application acceptance and solicited feedback from users to make the new and existing applications more user friendly.
- Created worker threads for handling long term operations to ensure best UI performance.
- Tested the widget for multiple devices, densities and screens.
- Involved in developer testing by porting the application on multiple devices with various screen sizes.
- Involved in Developing the code for ui-core, ui-webservices, ui-web and ROB calls.
- Involved in Developing the UI for Embedded Agent app using the JavaScript.
- Developed update patches, modules and components for different applications.
- Handled time constraint issues, exception and error handling for the app.
- Worked on the Test-Driven Development (TDD) and Behavioral Driven Development(BDD) for the GUI project.
- Worked with Junit, Robolectric and Lettuce tests.
- Refactor and revamp the existing code for the performance issues.
- Involved in post-production support by working on the ITR’s and bug fixing and giving support for the released firmware versions.
- Used the Jenkins for Continuous integration.
- Worked closely with QA team while fixing bugs and fragmentation issues.
- Implemented a well-versed error handling system in the application.
- Worked on pair programming with ui-core team for C++ related tasks and ITR’s
- Perform Code Reviews for the and GUI team.
- Used Agile methodology (used Scrum) for development and was present in daily stand up meetings and weekly team meeting. Also attended bi-weekly sprint planning meetings.
Environment: Android, C, C++, Java, ADB, Lettuce runner, Android Studio, Gradle, Gerrit, Rally, Jenkins, Git, Linux.
Confidential
Software Developer
Responsibilities:
- Designed and developed mobile applications using the Android SDK.
- Worked on local data storage using SQLite.
- Used Android Studio to develop the screens for the application using MVP designpattern.
- Working on Linear layouts, Relative layouts, Frame layouts, Recycle view adapters and Fragments.
- Used ADT plug-in for Android for developing application logic.
- Analyzing the application with Trace View tool to improve the performance.
- Implemented and error reporting system for future development support.
- Version control using Git-Hub.
- Created Unit Tests for the application.
- Debugged and tested the application on device.
Environment: Android Studio, Java, Android SDK, Android Development Tools (ADT), JSON, XMLSQLite, Git Hub.