Sr Xamarin/android Developer Resume
Charlotte, NC
PROFESSIONAL SUMMARY:
- Certified Xamarin Developer at Confidential .
- Over 7 years of experience in software development and 5 years of experience in Mobile development, including native Java and Kotlin Android apps, and cross platform with Xamarin.
- Strong experience in backend development for mobile and web apps using Microsoft technologies.
- Solid knowledge applying design patterns in order to improve code stability, and maintainability.
- Experience implementing software development best practices, such as standardizing development rules, implementing test - driven development, keeping things simple whenever possible, and documenting code.
- Experience in the different phases of Software Development Life Cycle, from user talks, idea definition, requirement from clients, to team building and development, delivery and maintaining the product.
- Knowledge deploying application on App Store and Google Play Store.
- Experience working with version control systems as TFS and Git, as well as Continuous Integration and Deployment tools like GitHub, Azure Devops and Microsoft App Center.
- Experience working with Scrum Methodologies.
- Experience implementing data binding and MVVM pattern both in native Android as in Xamarin.Forms.
- Experience coding generic classes and methods in order to, for instance, code a library to consume rest services using HTTPClient or to create DAO classes to SQLite.
- Knowledge implementing Inversion of Control using Dependency Injection.
TECHNICAL SKILLS:
Xamarin Development: C#, Xamarin.iOS, Xamarin.Android, Xamarin.Forms, MVVM, Visual Studio, Refit, SQLite, Azure Devops.
Android Development: Java, Kotlin, MVVM, Android Studio, Okhttp3, Retrofit, Room, data binding. iOS Native Development XCode (Just for Xamarin deployment. Just a little of native development experience).
Asp.Net: C#, Web API, .Net Core
PROFESSIONAL EXPERIENCE:
Confidential, Charlotte, NC
Sr Xamarin/Android Developer
Responsibilities:
- Working on several projects mainly built in Xamarin, using several platforms to deliver software continuously, following the company rules to ensure the best quality by implementing agile practices with Scrum.
- Analyzing project requirements and help designing wireframes with Balsamiq Mockups from User Stories provided by the client.
- Using patterns like MVVM and frameworks like Prims to separate concerns in order to enable testability.
- Prioritize Backlog items together with the scrum master using Azure Devops tools.
- Took part on Rest Service development using both Web API and .NET Core 2.0
- Helping to design the backend architecture using Clean Architecture Pattern.
- Testing and debugging Rest Services using both Postman and Visual Studio debugging tools.
- Using Azure Devops as a CI/CD tool, and the tools included for agile practices.
- Code unit tests using NUnit in the backend
- Use of Dependency Injection included in .NET Core and Prism (Unity in Prism)
Environment: Xamarin Forms, MVVM, Prism, SQLite, Visual Studio, App Center, Web API, .Net Core 2.0, SQL Server, Azure App Service, Azure Devops, Git.
Confidential
Sr Android Developer
Responsibilities:
- Take part on development estimates and spring planning and implementing agile practices using Scrum.
- Design and develop the suggested order module in which the application suggests to the user the products that the customer should order depending on the store sales.
- Use of Android Studio as development environment.
- Use Okhttp3 library for http requests to the server.
- Fix bugs an develop new features using Java and SQLite.
- Perform SQLite migrations to add tables without impact the database structure.
- Use Android Debug Bridge (ADB) to communicate with the devices and emulators in order to perform tasks like debugging SQLite databases, transferring files to and from the device/emulator, etc.
- Configure virtual devices with different hardware specs to test the app in several android versions.
- Use of android permissions.
- Use of intents, activities and fragment lifecycle.
- Use of local and push notifications.
- Responsible for maintaining and performing merges between the features and the base branch.
- Help to ensure QA by performing code reviews and providing best practicing guidance in the use of Git.
Environment: Java, Android Studio, SQLite, Okhttp3, Azure Devops, Git and the git bash.
Confidential
Sr Android Developer
Responsibilities:
- Analyzing project requirements and help designing wireframes with Balsamiq Mockups from User Stories provided by the client.
- Take part on Scrum practices like prioritize backlog items with the product owner and the development team and participate in sprint planning and daily meetings with the scrum master.
- Designing and Coding Wi-Fi internet sale module based on UX and wireframes and connect the app with MikroTik devices.
- Develop the migration process from Confidential 2.x to Confidential 3.0 in which we had to implement a complex logic in order to transform the client information from the previous version and store it both in local database as in the cloud. My responsibility in this requirement was to develop a simple migration wizard, retrieve data from the previous version to store it locally depending on the existence of a migration file, and after the user concluded the wizard, notify the server to finish the migration process.
- Create new UI components in XML to use along the entire app.
- Use architecture components and MVVM to enable separation of concerns and make the app testable. That was possible thanks to the data binding library which allowed us to bind most of view-model properties with xml properties into the view and dropping most of the UI-related code in the activity class. It was used in most of the new features introduced in the app.
- Testing and debugging HTTP requests using Charles Proxy to detect possible issues and fix them.
- Adding new features to the payment service module
- Make use of Room Persistence Library as a database SQLite Layer to manage all the queries in the app.
- Using Retrofit as a HTTP client to make all the API calls in the app.
- Acting as a code reviewer to make sure other developers follow git flow and development best practices.
- Use of GIT as a VCS and Azure Devops as a Continuous Integration and Deployment environment.
Environment: Kotlin, Android Studio, MVVM pattern, Architecture Components and data binding, ROOM, Retrofit, Charles Proxy, Azure Devops, Git and the git bash.
Confidential
Xamarin Developer
Responsibilities:
- Create User Stories and wireframes with Balsamiq .
- Using Xamarin forms to code existing and new apps.
- Use of Maps API library to track the location of the users using GPS .
- Use of async and await keywords to perform background tasks to send images to the server among other things.
- Use of HTTP Client as a rest client to make all API calls in the developed apps.
- Use pure SQLite to store data in the device on offline mode and synchronize with the server when a network is available.
- Use of MVVM and Xamarin data binding library.
- Fix bugs on the backend using C# and testing it using Postman .
- Continuously deploying the rest service to the Azure App Service from Visual Studio .
- Use of Git as a VCS .
Environment: Xamarin Forms, Maps API, VSTS, Azure, MS Sql Server, Sqlite, Postman, Git, Azure App Service.
Confidential
Xamarin iOS/Android Developer
Responsibilities:
- Work requirements, coordination with the client, development of the application, follow-up of scrum sessions.
- Fix bugs on the backend using C# and testing it using Postman .
- Use of TFS .
- Using generics to code a library using HTTP Client to make API calls .
- Took part on backend development in Web API 2.0 .
- Create a one-time password for use on every API call to ensure the security of the sent and received data.
Environment: Xamarin.Forms, TFS, Azure portal, OTP, Web Api 2.0
Confidential
.Net & Mobile Developer
Responsibilities:
- Create User Stories and wireframes with Balsamiq.
- Use of Android Studio as primary development environment.
- Using Appcelerator and JavaScript to develop a small app.
- Use of SQLite to store the all the app transactions and then sync them to the server.
- Use of Google Maps to display the list of stores to visit for the current user.
- Using OkHttp for API calls.
- Use of Json to transfer data between the back and the front-end.
- Creating xml layouts for the app UI.
- Develop backend with .Net Web API.
- Develop WCF services in .Net.
- Use of intents, activities and fragment lifecycle.
- Use of android permissions.
- Participate in Scrum sessions to define product backlog.
Environment: Java, Android Studio, SQLite, OkHttp, xml, Json, TFS, Azure portal, Web API
Confidential
.Net Developer
Responsibilities:
- Developing and implementing a web app to store official documentation of the students in the process of qualification.
- Using OkHttp for API calls.
- Use of Json to transfer data between the back and the front-end.
- Creating xml layouts for the app UI.
- Develop backend with .Net Web API.
- Use of SQLite to store the all the app transactions and then sync them to the server.
- Use of Google Maps to display the list of stores to visit for the current user.
Environment: .Net, Web Forms, SQL Server 2008.