profile-pic
Vetted Talent

H. N. Sharma

Vetted Talent

11+years of experience in the area of software development for mobiles, which includes understanding requirement specification, working on software design, coding, testing and maintenance

Experience in Agile and Scrum work Environment. Have been responsible for analysis, design, development, and deployment of applications

Strong Experience in Core Java , Kotlin and Android SDK

Good perception of Object-Oriented Programming (OOPs) concepts,Threading,Collections and Design

Pattern

Committed and dedicated towards work and projects timelines

Work on bug fixing and improving application performance

Proactive and open to taking challenging tasks and learning new technologies

Open to work in dynamic and changing environments

  • Role

    Android Platform Architect, Mobile Engineering

  • Years of Experience

    10 years

Skillsets

  • Android - 10 Years
  • mobile app development - 10 Years
  • Java - 10 Years
  • Kotlin - 6 Years
  • SDK - 10 Years
  • XML - 10 Years

Vetted For

8Skills
  • Roles & Skills
  • Results
  • Details
  • icon-skill_image
    Android (Java/Kotlin) Mobile Software Engineer - (Onsite: Sweden)AI Screening
  • 47%
    icon-arrow-down
  • Skills assessed :Communication Skill, Android Studio, Git, Java, Kotlin, Android, 組込みLinux, Problem Solving Attitude
  • Score: 42/90

Professional Summary

10Years
  • Jul, 2022 - Jan, 20241 yr 6 months

    Manager/Sr. Professional II, Android Mobile Application Development

    Capgemini
  • Jan, 2017 - Jul, 20225 yr 6 months

    Manage and Develop Android Application -Android Platform Architect

    Ubuy.com
  • Jan, 2015 - Jan, 20172 yr

    Sr. Android Application Developer

    Nne Hertz India Pvt. Ltd.
  • Mar, 2013 - Jul, 20141 yr 4 months

    Android Developer

    SAG InfoTech Pvt. Ltd
  • Jul, 2014 - Dec, 2014 5 months

    Android Developer

    Deemtech Software Pvt, Ltd.

Applications & Tools Known

  • icon-tool

    Android Studio

  • icon-tool

    Android Debug Bridge

  • icon-tool

    Android SDK

  • icon-tool

    Gradle

  • icon-tool

    Git

  • icon-tool

    GitLab

  • icon-tool

    GitHub

  • icon-tool

    IntelliJ IDEA

Work History

10Years

Manager/Sr. Professional II, Android Mobile Application Development

Capgemini
Jul, 2022 - Jan, 20241 yr 6 months

    Managing and upgrade Samsung Accessory Service or Samsung Accessory SDK on watch and band connectivity for communication.

Manage and Develop Android Application -Android Platform Architect

Ubuy.com
Jan, 2017 - Jul, 20225 yr 6 months

    Implemented features for various applications in Java, Kotlin, and C++.

    Determined architectural and product design details for open-ended tasks or specifications.

    Collaborated with quality engineers, user research, product management, design, and support teams to ensure quality in all phases of app development.

    Worked closely with core technology teams and other platform teams to balance cross-platform consistency with Android-optimization.

    Wrote elegant, self-documenting code, easy to read and adapt for other developers.

    Reviewed design specs and engineering docs and provide feedback.

Sr. Android Application Developer

Nne Hertz India Pvt. Ltd.
Jan, 2015 - Jan, 20172 yr

    Developed native Android applications and frameworks using Kotlin and Java.

    Worked with Live tracking System.

    Utilized comprehensive knowledge of mobile landscape, emerging technologies and innovations to remain on cutting edge of Android market.

    Tested applications prior to final review to verify.

    Worked with teams from other projects and departments to create apps and data driven by customer input.

    Devised documentation for each app, detailing operation aspects, functions, capabilities and features.

    Defined and implemented robust app architectures and complex user interfaces.

    Applied expert knowledge of Android system frameworks to solve novel problems.

    Collaborated with designers, engineers, and product managers to build great experiences.

Android Developer

Deemtech Software Pvt, Ltd.
Jul, 2014 - Dec, 2014 5 months

    Worked on social applications.

Android Developer

SAG InfoTech Pvt. Ltd
Mar, 2013 - Jul, 20141 yr 4 months

    Worked on warranty application ,food diary application act.

Major Projects

3Projects

Samsung Accessory Service

Jul, 2022 - Jan, 20241 yr 6 months

    Samsung Accessory Service provides a stable environment in which you can use a variety features by connecting accessories to your mobile device.

    This service is compatible with various connectivity environments, and it makes using accessories with your mobile device efficient and convenient via manager applications.

    (e.g. Galaxy Wearable, Samsung Camera Manager Inst.)

Record Book Excel RegisterBook

Jan, 2022 - Aug, 20231 yr 7 months

    Record Book is a Free CRM, Digital Register, Udhaar Register, Register Book, khata register, GST register, attendance register. It helps you replace all your traditional Register book, bahi-khata book, attendance book, cash book, bookkeeping, memo, notes and salary book. It is India's best EXCEL ON MOBILE, Digital Register App & CRM on Mobile.

Ubuy: International Shopping Android App

Ubuy Technologies Pvt Ltd
Jan, 2015 - Jul, 20227 yr 6 months

    Ubuy is a leading cross border shopping app and a one-stop destination for popular international brands & products to explore & purchase. Choose from over 100 million products and find stuff from global stores like the US, UK, Kuwait, Hong Kong, Japan, Korea, and China. If you like online shopping abroad; then install this app to get all your dream products in one place!

Education

  • B. Tech

    RTU Kota (2013)

AI-interview Questions & Answers

Hi. My name is. I have I'm Android application And recently, I work in Capgemini, which is, Uh, where is handling, uh, Samsung S Series application developer, which is provide the connectivity between phone and watch up to Tizen watch only. And in that client is Samsung only. And I have 10 plus years of experience in Android FlexSim. Also, overall experience is same only.

Noted manager. Uh, in that Java, we need to do manual, uh, thread management we require because, uh, one thread is not and secondary will not cooperate to each other. So in that case, we need to do or, uh, swapping 1 to each other by the Handler method in the Android part of the Android. Because whenever we move executing the part of the thread, then the target will be set by And the object will assign by handler, which is need to be target handler, which is executed. In that part of the code cleanings, the coroutine is the most important This API in the code clean is is it it will be self pay, corporate with corporate with each other. It can buy With context, Dispatcher. Io, it is a move. 1 thread to execute and another thread, and also parallelly task executed by coroutines, uh, and also management itself. Whenever we can or, uh, it will cancel that is the menu exception handlers are applied via sync is the automatic handler, but launcher is launch method launch, We need to add an exception handler for that. For a supervisor supervisor coroutine is the well, uh, parallel execution because if anyone is uh, coroutine is parallel to well, other part other is the coroutine will execute continually, but, One quality dependent on another part. In that case, we can, uh, can we we we no need to use supervisor. But, uh, If it's not dependent on each other, it will be get your result whenever which one is written, we need to use supervisor

Yeah. Whenever we, uh, in the, uh, merge config, we're getting weak at, uh, which file is getting conflict and, uh, Which method is not getting a conflict? Do we have and so the files, uh, all the file list of files, we can check 1 by 1 files and result at the k. Which part we need to be key? Because it, uh, we need to modify in one part, because other part is already merged. So we can modify and, uh keep we can modify in Overcode only or, uh, it it it will happen when whenever it is the same line of code assembly No code is the is that, uh, modification has occurred, but whenever we do The changes we need to keep the pull the code from git and from main branch and we will Rebase your branch from this and we'll push after this only. And if we can do it locally, all the things and after this we can pause. After the all the modification, all the Merges conflict is resolved. After that, we can post the code and, uh, get your get it

In a in a Android, Android is the most popular most most we can select that. Most debugging tool is a profiler tool which is we can use for debugging the application about memories and Uh, state trust of the methods and objects, uh, and also performance of the application, how much memory introduced, and how much time to take the execute the uh We can input the performance of this. We can subvert the code. Some of the mistakes are too much taking. We can resolve that by Decoupling of the

In Java, we can access In the static keyword in the Java, we can access directly by class name in any method or any variable but in the part of the kotlin, we can not do the cannot have a stating method so we can use like this Object class or we can access any object or any variable in this in this methods or we can use other things. We can create a companion companion functions, uh, okay. With that companion Functions that declare a variable or methods, we can access directly through but in by accessing the Java and Operator We'll recall Java and Kotlin as the interpreter operatable. So in that case, we can use a JVM static For Static Field for Java and the methods, we can use JVM Static also. Fields and JVM um, static overload function, JVM static method also.

In the Android app, we have assigned a fixed memory for every one Android application by system. In that case, we are loading a large Memory object. It will be that the application will be crashed because it is not Out of memory bound exception will be occurred. In that case, we need to keep a scale the image by bitmap factory and as per your size, getting the size of the file or we can uh Scale the image to reduce the size or we can use it by bitmap size or we can load that anywhere we can use

Yeah. After the setting observer, uh, basis of the setters, we need to be the invalidated Function after the invalid date will be reflect the UI operations, which is changes done by us I text or anything else. Uh, it's hard to use it. I already have an invalidator. Okay. Uh, that is a wrong mhmm. Yeah. Here, uh, the widget is the View, but uh here is you can not count is here only so So we need to be extend Text view instead of view because v is not containing the any numbers. So for, uh, in text view, we need to reset the text here also.

Uh, we need to keep the UserWaylet class as a object class that we can Oh, sure. But, uh, where is it? Object class or we can use the UsernameValidator function is directly valid. After this, this validator function is It like static functions or, uh, object name validator will be classed as a Singleton class, or we can access method directly. On the functions, we can use directly by this

How to optimize the data binding and you do the file upload code in Android application? Yeah. Data in the in in the Android application data binding, we need to reset a code object by o one is whenever required in a in the coding part to have an application, an activity class or presenter we can do. So in that case, we can access an id, or we can set this the object or it will be auto auto updated, but, uh, it is we need to use every variable ID, or we need to set the 1 class. We can But you can optimize the data binding via view binding. View binding, it itself the responsible to the update the data whenever we get a variable declare a variable in layout scope of the XML file? Or we can in that variable, we can access that variable. We can use case object or, um, data object or it can give you a view model. It, uh, will be data. It is that variable we can set from activity class whenever we uh, inflating the data inflating the class? So after this, we can data is whenever the object is changed, it is automated it is self responsible to change the data. Other things whenever we change the data, it will we need to set the data. It will automatically reflect in our UI for a data binding. We need to be responsible to set the data to the XML but, uh, in that part of the ViewModel view view binding, there, uh, user responsible to set the data and re populate the UI to user or when, uh, whenever get the data and update by object only.

Yeah. In the Android part, uh, Gradle, We can use a config file where we can mention all the properties of the application like, uh, application ID and, uh, compiled version, build version, and the target version and also minifies and progards and vlive. We can use Gradle libraries. We can implement it here via dependencies and also plugin also, Griddle plugin also included here. And here we can use also type, Build type, we can use a flavor. Which flavor we can use? Basically, in Android, the normal application have 2 flavors, we can say like that, uh, religion debug. Debug is the purpose of the the testing purpose, where we can, uh, uh, attach the application or That is the that is the, uh, that is the application by Red Bee, and we can debug the purpose and Breakpoint error, and we can check whenever the workflow or application releases. There's nothing can possible from this. Or an HBI requirement, we can use more flavors or properties or Models we can implement edit accordingly. These are core part. We can use the modify, we guess. In suppose, the flavor pair and pre applications are there also. We can use the You the editor package, uh, as per the build part and, uh, coding part, we can define as per your requirement. It is free or it is via module version or by by module, we can develop a free or paired. So whenever we prefer, we want to build by selecting a variant build variant, here, all the builds are available for religion. We we need to serve Select the birth, religion, diva, or absolute respect to the flavor also there. Which flavor you want to run the paid or Three or and many more app levels you can add as per your requirement here. Or as per the configuration, you can change and will also, uh

In the Android application, we need to all the all the things we need to be open for made a changes but, uh, we need to create a architecture that is like this, uh, so whenever we require, you can modify action the best class and modify according your requirement. Suppose, uh, the many things is stakeholders with, Anything we can want to change in the workflow? Uh, any data these data sources. So suppose we can getting a data from anywhere or we can also Suppose we have maintaining the approach of the development or business logic and, uh, use case diagram and also. What do we need to keep the separate older things whenever we required is whenever required changes suppose UI changes required, and UI changes will be reflected in The the use case diagram will not be affected Due to this. And suppose or else that we can use solid principle, we can use single response class whenever the function is, Uh, required, and we need to be and if and, uh, any entity of the class will require for single change. Only other changes will not for any class not responsible to do many changes. Whenever is the change required, we need to keep the changes separately for a we need to extend the class we need to be extend the class, any class then you can change the data. This class will do not need to be changed or every time you need to be changed other things and also we can say on a or a composing the any of the file, we need to be, say, pass a dependency Suppose I am getting that response from Anywhere, but there we need to be passed the separate Interface object we can use whenever we implemented anywhere that that object we can pass an interface can access by object. There, however, all the methods are available. Suppose if Suppose we want to change now getting the data from database, we send the database object, which is implemented by when all the data is data is getting. Suppose you want to change the data from API, then we need to be change the implement the interface, and we need to be use that interface in a a network library. Then pass the network object, and It is a treat like an interface object. So it whenever the invoke the method, then it will be with respect to object class will getting the data and will Implementers will reflect the UI as per your requirement. So in that case, there will no need to changes in that display in lower level part and in a level part it is a top level part we can provide all the dependencies or we in that case we keep the we keep the dependencies as separately suppose if Android framework is the 2 player and the Java and kotlin we can use lower holder so It is not a lower level is not dependent to higher levels. But Android any Java API will not dependent to Android API Android API will depends to only load it in Java only. You can develop that application like this