Monday, July 20, 2020

My Detailed CV


Abhinav Saxena


MCA, BSc.

Senior Software Engineer | Team Lead | Full Stack Developer | Polyglot Programmer

Main Stream: Android.


SUMMARY


15 years of experience. 13 years in Android, 5 in ReactNative

abhsax130778@gmail.com: +91 9818595272


Skilled in more than 5 platforms: JavaME, Android Kotlin, HTML, REST, ReactNative, JavaScript, NodeJS, ReactJS. 


Hands-on: JavaSE, JavaEE, C/C++, PHP, DOM, APIs implementation, NodeJS and React Development along with API Integration.


QUICK TECHNICAL SKILL DETAILS:-


I have been using MVVM using Databinding, Dagger, and ViewModel in Android using Java and Kotlin languages; apart from that I also worked with Retrofit, RoomDB, Gson, and SimpleXML. 


I have been using Redux in React Native, Exponent and React JS, in all my latest projects, along with JSON, NodeJS, HTML 5, CSS 3, ES-6 and advanced JavaScript.


REACT JS: Worked in Web Sockets, React-Redux using Saga and persistence in Extramark's product: Extramarks Educational.


UNIT TESTING:-


I use Espresso, JUnit for UI, and instrumental testing in Android, while Detox in React JS and Jest in React Native, as a part of bug-fixing.


EDUCATION


MCA

IGNOU - Lucknow, Uttar Pradesh 2003 to 2007


Diploma GNIIT

NIIT - Lucknow, Uttar Pradesh 1996 to 2001


CERTIFICATES


A+ Certificate from Karrox, Lucknow.


 ITIL certificate from GreyCampus online training.



WORK EXPERIENCE

 

Senior Programmer

Flexsin, ExtraMarks (two companies, Flexsin became my payroll company from January to March 2022):

December 3rd 2020 - 14th April 2022.

Started as a Senior Programmer in Flexsin developing two related (admin, user) commercial apps in ReactNative (nickname: Pantheia).

Flexsin became my payroll company on 25th January 2021, when I started working on block building demos for the product ExtraMarks, in ReactNative and React JavaScript. I also developed 5 modules in this project in React JavaScript.


Senior Android Developer

ioTech Pvt. Ltd.:

Aug 10th 2020 - Dec 02 2020. As a senior Android Developer, I have done 2 projects in Kotlin Android and started 1 in iOS UIKIT Storyboard and 1 on SwiftUI.

Notable Projects: 


1. Vendify Config. Vending delivery people can use this app to communicate with BLE-IOT devices and update the configuration.  These BLE devices use this configuration to communicate with the server to update the sale status.


2. Vending Machine Delivery Person App. Certain delivery persons hired by vending companies can get refill pack orders through the app from people behind Vending Machine.


Senior Android Developer

Cyntralabs Pvt. Ltd.:

April 12th 2020- Aug 10th 2020. As a senior Android Developer, I have done 2 projects in Kotlin Android.

Notable Projects: 


1. INOX Movie Tickets. Users can go to this kiosk app and purchase tickets using voice recognition. 


2. Face Recognition PUC. Users can log in using Face Recognition.


Android Team Leader

HashStudios (Coineption) Technologies Pvt. Ltd.:

April 31st 2018- April 12th 2020. As a team leader, I had the responsibility to review the code written by junior developers and give them an idea of the correct method and usage of programming patterns. I also developed an architecture for live Android projects and proceed with further development till the delivery of the application is in an acceptable state to the clients.

I have done 5 projects in ReactNative.

Notable Projects: 


1. Muslim Mall. Clients sell kufis and other religious goods. 

Web Site: http://muslimmallapp.com


2. Dr Bhushan. Patients and appointment management app


3. GeoflyZone. Geoflyzone enables its clients to sell their products and grow their business with Geoflyzone. This platform acts as a mediator between buyers and sellers. 

Web Site: https://www.geoflyzone.com


Technical Lead 

TechInnovations Lucknow

November 2017- April 2018:  Assisted in a friend's company. Worked as assistant project manager initially, but rose to technical lead. Gave my support remotely, working part-time.

Assisted in 3 projects. 


Side by side I was pursuing a course for ‘Negotiations Manager' and ‘ITIL' certificates.

Had to close the company, with mutual consent from my friend in the joint venture, when funds were not sufficient.


Senior Software Engineer in Mobility Department

Flexsin Solutions Pvt. Ltd - Noida, Uttar Pradesh-May 2015 to September 2017

Achievements:  

Worked successfully as Senior Software Engineer in Android, Project Coordinator and individual contributor.   

Developed 15 Android applications and deployed them in the play store.

Reviewing team members' programming code.

Encouraging team members to use the reusable components developed for swift development.

Helped growth of the business by increasing trust in existing clients.

Effective communication between clients and team to speed up the execution phase.

Notable projects: 


1. Vitro: (com.Vitro) connect and transfer presentation data to tablet from phone handset using Bluetooth and Wi-Fi without UI interaction. This is for clients from Mexico.

https://play.google.com/store/apps/details?id=com.vitro&hl=en


2. My Academic Diary: Students can maintain their academic diary, Offline. We used fragments, Sqlite, and Alarm Manager.

https://play.google.com/store/apps/details?id=com.myacademic.diary&hl=en

Other apps:


1. Tindoo App: Search for dates and chat together.


We used card animation libraries, Async Http, and Picasso.


https://play.google.com/store/apps/details?id=com.app.tindo&hl=en


2. Drug Handbook: Offline search for anaesthesia drugs.


We used fragments and Sqlite.


https://play.google.com/store/apps/details?id=com.drughandbook&hl=en


3. Pharos: (com. pharos) Beacons and GPS geofencing lets you connect with stores around you!


4. TestRunner: Run while you earn.


Used Location Services, Google Maps, JSON, Http URL Connection.


https://play.google.com/store/apps/details?id=com.testrunner&hl=en


5. Techlink: Employee and client can track installers. Role-based login. We can use applications in


Aeroplane mode.


Used fragments, view pagers, Retrofit.


https://play.google.com/store/apps/details?id=net.techlinksvc.mobi&hl=en


6. BrowDesign: Measure brows using view objects (lines, circles, Image zoom and drag) interaction.


Drag views and save the final picture to measure the brows externally.


https://play.google.com/store/apps/details?id=com.browdesig


Senior Consultant

Prospecta Solutions Pvt. Ltd - Gurgaon, Haryana-January 2015 to April 2015

Achievements: Successful Development and maintenance of 5 Android products of the company, based on ERP Services. 

Notable Products: 


1. ConnectHub: Prospecta’s marketplace for Enterprise Solutions that drive business collaboration. Business users can either select from existing applications or develop their applications and solve business challenges.


2. Master Data Online: delivers trustworthy and reliable data to business users by mediating, managing and governing core master data shared by multiple master data domains.


3: Work Safe Online:  A comprehensive, integrated Occupational Health and Safety solution to better manage OH&S compliance, risks and stakeholders.


Senior Software Engineer in Mobility Department

Impressico Business Solutions - Noida, Uttar Pradesh-June 2013 to January 2015

Achievements: Successful Development and deployment of 6 Android applications, analysis and optimizations.


Senior Software Engineer in Mobility Department

Netprophets - Noida, Uttar Pradesh-January 2011 to June 2013

Achievements: Successful Development and deployment of 5 Android applications, analysis and optimizations. We developed many websites (WAMP) to store data for clients for Android Applications. Developed REST-based web services. Exposure to Maven, Struts, Spring and Hibernate based web services as well.


Senior Member of Technical Staff

Ariose Softwares - Noida, Uttar Pradesh-December 2007 to January 2011

Achievements: Successful Development of applications in JavaME (3 projects)/ Blackberry (3 projects)/ Android (2 projects).


JavaEE Developer

Suparna Systems - Faridabad, Haryana-June 2007 to December 2007

Designation: Development in MVC pattern in J2EE.

Achievements: Using the J2EE technology, developed the ERP project for Harsoria Pharmaceuticals Pvt. Ltd. Corrected the code for accuracy in accounts and invoice generation.


Education Faculty.

Mr Rishi Sachdeo, Head NIIT, Lakhimpur.

Mar 2001 - Sep 2001

as a faculty: teaching JAVA, C++, C#, XML, MS-OFFICE, DOS, WINDOWS etc.

 

Management Information System Executive.

Geeta Tractors.

Dec 2000 - Mar 2001


Database Base Administrator.

Mr Tanvir Tahir, IET, Lucknow.

Mar 2000 - Dec 2000



JavaSE Projects at NetProphets Global Cyberworks Pvt. Ltd.

               

1. Obelix:  The application can communicate with the other versions of the same applications running on Android, MAC, LINUX and iOS.


    Had to handle the projects in the development of UI, and the back end. Other aids were given by the GUI designing team.


    Used Socket Connections, FTP over sockets, Data Compression and transfers, Http Connection, KXML parser, screen layouts, Sqlite database, preferences, Cross-platform file sharing with resume control and determination of MSISDN and using them in the HTTP transmissions.



Android Projects at Impressico Business Solutions and Prospecta


1. RegChews: Locate like-minded people using your likes and dislikes in your profile, using your location, or target location as you specify. Your location is never revealed to your friends or other users alike.


Used Geo-location, Geo-fencing, SQLite, extensive animations, custom carousels and support to all mobiles of various screen sizes and densities.


2. ConnektHub: ConnektHub (CKH) is a comprehensive and integrated platform that offers ready-made business applications, business forms and predefined workflows. Business users can either select from existing forms or create their own, define custom workflows or use the full-fledged business application.


Developed an Android application to provide all the facilities the website provides. Have used extensive animations like when you assign a new task to your subordinates, he/she can see a clock that shows elapsed time till it becomes 0.


3. Master Data Online: Prospecta’s Master Data Online (MDO) delivers trustworthy and reliable data to business users by mediating, managing and governing core master data shared by multiple master data domains. It enables business users to easily create information with standardised business rules, workflows and approval processes. Available both on cloud and enterprise models MDO can integrate with SAP, Salesforce, Microsoft and other leading enterprise solutions.


Developed an Android application that provides the same functionalities that the website provides, to show charts for monthly reports for the achievements of a company based on data that is collected on the server, and many more features.

   

Android projects at Ariose and Netprophets Global Cyberworks Private limited


1. Trans Medicine: Epilepsy: The application helps in knowing the extent of Epilepsy, for those who suffer. Calculations according to symptoms. You can upload this data with your personal information. Form-based application.


  Had to handle the projects in the development of UI.


  Used SQLite, Complex Screens to view the data entered, and all the records, KXML parser, and the transmission of data using HTTP.


2. PUC for eye lens company Essilor: The application displays the skill involving Canvas dynamic drawing and Image Effects. These skills help convince the Essilor that the application can be made according to their requirements.


Had to handle the projects in the development of UI.


Used Canvas, Image Effects


3. PUC: Obelix: The application can communicate with the other versions of the same applications running on PC, MAC, LINUX and iPhone.


Had to handle the projects in the development of UI,  and its server end website.


Using Socket Connections, FTP over sockets, Data Compression and transfers, Http Connection, KXML parser, screen layouts, Sqlite database, preferences, Cross-platform file sharing with resume control    and making Connections using TCP Sockets between machines and devices in a LAN.


4. MyWay CellOne: Port Wap Site over the application in an embedded Browser and inbuilt player.


The links for the media are RTSP, on-demand and live TV.


Had to handle the projects in the development of UI,  and its server end website.


Used Http Connection, KXML parser, screen layouts, Sqlite database, preferences, Setting of APN, determination of MSISDN and using them in the HTTP transmissions.


5. UDub: Developed for the UDub! News dot com completed in Aug 2009


As developed for the BlackBerry, this will also be the first project for Ariose to be developed for Android


Had to handle the projects in the development of UI, back end,


Used Http Connection, KXML parser, screen layouts, Sqlite database, preferences, external libraries such as Quatro for banner drawing, knowing services, content provider, invocation of media player.


   

Projects in BlackBerry at Ariose and Netprophets Global Cyberworks Private limited


1. MyWay CellOne:  App for viewing live and on-demand streaming videos.


2. MyWay CellOne:  (2 projects: for low end and high-end devices) App for WAP site to show using an embedded browser, and video player for its RTSP contents, generally videos on demand  and Live TV


Supervised the development of UI and its website.


Used Java BlackBerry API: PIMListener, MessageListener, StoreListener, FolderListener. Developed small applications for call shortcuts, and deletion of call history. HTTPConnection using WiFi, GPRS, BES, BIS, DownloadManager (custom download-cart) XML: DOM, SAX, and KXML parsers. BrowserContent and BrowserField (Embedded Web Pages)


3.  CricketnMore: developed for Pyro: This Client Application for Blackberry ticker service, where the user is updated in real-time, with the information on the game of Cricket played currently using the HTTP services with regular interaction with the server. It provides other services such as Cricket based Horoscope, News and updates like that.


4. SCLCClient: Airtel Project Completed in May 2009. The client Application for Airtel Live where the user can specify his current profile and preference how the contacts of his will be able to interact with him, based on his current profile e.g. If the client is in the meeting, only the specified calls can be attended, all the other contacts shall be notified to call later. Client-Server Interaction has a major role here; some Persistent Store has to be maintained. The server has all the information on calls.


5.  GetReal: Developed for MSoft, Gurgaon in Feb 2009. It’s about bringing all the possible contacts you have (either on your handset or on the web) to your handheld, (thanks to FaceBook) so that it is the only place from where you can handle all the conversations through SMS, E-Mails, or calls. Lots of Client-Server Interaction and very large use of Persistent-Store has been incorporated already.


6. UDub:  developed for UDub!News dot com finished in June 2009. A music portal developed for the popular BlackBerry devices such as Pearl, Curve 8300, Curve 8900, Bold and Storm.


Designed to bring to the clients the audio, video and news related to the UDub community.


7. ITZ Cash for mCarbon:  A client developed for Curve 8900. Enables you to recharge your DTH or Cash Card. You can shop, purchase flight or rail tickets, recharge your prepaid and postpaid connection and so on…


8. CH99 Music Store for mCarbon. A client developed for Curve 8900. This is the same as the J2ME client developed by me mentioned below. I have done the enhancement parts only for the project. This application is white labelled for several operators such as Airtel, Aircel, Docomo, and Idea.


Development of UI, and its server end website.


Environment:    Java BlackBerry API:


    PIMListener, MessageListener, StoreListener, FolderListener. Developed small applications for call shortcuts, and deletion of call history.


    HTTPConnection using WiFi, GPRS, BES, BIS, DownloadManager (custom download-cart) XML: DOM, SAX, and KXML parsers.


   

JavaME projects at Ariose and Netprophets global cyberworks software limited


1. MyWay CellOne: App for viewing live and on-demand streaming videos.


Supervised in development of UI  and its server end website.


Used Java (J2ME): RecordStore, Player, BlowFish Encryption/Decryption, FileConnection, HttpConnection with XML using KXML parser, Code-39 for barcode reading, Location-tracking (outputs to MySql database on the server) handled with JSP. Bluetooth OBEX and push registry. Touch Handling


2.  Call Manager for Airtel: The project is the version of SCL Client for Airtel on BlackBerry developed in the High-Level API. Details are the same.


3.  FFCL for First Flight Courier Services: This is a Barcode Reading MIDlet for First Flight Courier Services Limited. Easy for delivery boys to send the courier delivery status back to the server located in their office as the barcode authenticates their actions.


4. CCC (Call Center Certification in Business English): This is a MIDlet for Encrypted (Blowfish) mp3 products through the Memory-Stick.


5. Yatra: designed for the NAVTEQ competition that is held annually, was completed in Feb 2009. Developed for NavTeq, this project is designed for Singapore Tourism as a guide to all the Hotels near the POI. This was the finalist in the Annual competition held May-July in 2009.


6. CH99 Client for mCarbon: Bringing music to your handset, enabling you to communicate with other clients uniquely by setting caller tunes, and sending splash messages while you download and listen to music. This application is white labelled for several operators such as Airtel, Aircel, Docomo, and Idea.


7.  MoJo Application or the Mobile Jockey: Play videos on the handsets after copying from the Server.


8.  ITZ Client for mCarbon: Same as the ITZ Client developed for the BlackBerry mentioned above.


9. Hungma GetFamous: Developed an application to take a photo of yours and show you in a different background and with people, you do not know. This one is for Hungama.com.

Had to handle the projects, in the development of UI,  and its server end website.


Environment: Java (JavaME): RecordStore, Player, BlowFish Encryption/Decryption, FileConnection, HttpConnection with XML using KXML parser, Code-39 for bar-code reading, Location-tracking (outputs to MySql database on the server) handled with JSP. Bluetooth OBEX and push registry.


ONLINE PROFILE:


https://mobi-app-dev.blogspot.com/2019/04/cover-letter-about-me.html?m=1


https://www.linkedin.com/in/abhinav-saxena-a63aa714


ADDITIONAL INFORMATION


1. Worked variously as a Senior Software Engineer, Senior Consultant, Individual Contributor, and Project Co-coordinator in Android.   


2. Coordinated with the GUI and Web-service team, developers and clients directly from the start till the publication of applications.   


3. Usage of development models like Object Oriented programming, Scrum Agile, using Time Doctor, and Microsoft Task management.   


4. Experience with continuous delivery in mobile, including Test- or Behavior-Driven Design, code review, static analysis, continuous integration, automation and functional testing.   


5. Experience building native apps and hybrid apps.


6. Worked in scripting languages like Kotlin, Swift, .node js, Python and JavaScript.


7. Android development skillsets include project framework design. Fragments, Google Maps, Location Services, Sensors, Bluetooth Low Energy devices, Hadoop, Internet of things, IBM's Watson.   


8. Code compatibility on all versions (Jelly Bean till the latest version).


9. Excellent knowledge of working with dynamic data using services (e.g., JSON, XML, REST APIs etc).


10. Excellent hands-on skills with Android application development tools, including Android Studio, Android SDK and ADT.


11. Experience integrating with Maven and using other third party frameworks tools and SDKs, such as Volley, Picasso and Stripe.


12. Worked in technologies like beacons, payment gateways, biometric logins, in-app purchases, and communication using Wi-Fi, Wi-Fi Direct, NFC, Bluetooth and HTTPS.


13. Platforms like J2EE, Blackberry, J2ME, Core Java, JavaScript, HTML 5, JSP, Struts and so on...


14. Worked in secured data transmissions using MD5, Base64 and other cryptography and SSL, between phones using Wifi and Bluetooth.


JavaME, Android, BlackBerry and more


Regards,


ABHINAV SAXENA

Wednesday, February 19, 2020

ReactNative: understanding alignment of Views and Texts.

why does the Text take up the full space of the View, instead of just the space for "Hello"?
Because of the View is a flex container and by default has flexDirection: 'column' and alignItems: 'stretch', which means that its children should be stretched out to fill its width.
(Note, per the docs, that all components in React Native are display: 'flex' by default and that display: 'inline' does not exist at all. In this way, the default behaviour of a Text within a View in React Native differs from the default behaviour of span within a div on the web; in the latter case, the span would not fill the width of the div because of a span is an inline element by default. There is no such concept in React Native.)
How can the Text be floated / aligned to the right?
The float the property doesn't exist in React Native, but there are loads of options available to you (with slightly different behaviours) that will let you right-align your text. Here are the ones I can think of:

1. Use textAlign: 'right' on the Text element

<View>
  <Text style={{textAlign: 'right'}}>Hello, World!</Text>
</View>
(This approach doesn't change the fact that the Text fills the entire width of the View; it just right-aligns the text within the Text.)

2. Use alignSelf: 'flex-end' on the Text

<View>
  <Text style={{alignSelf: 'flex-end'}}>Hello, World!</Text>
</View>
This shrinks the Text element to the size required to hold its content and puts it at the end of the cross direction (the horizontal direction, by default) of the View.

3. Use alignItems: 'flex-end' on the View

<View style={{alignItems: 'flex-end'}}>
  <Text>Hello, World!</Text>
</View>
This is equivalent to setting alignSelf: 'flex-end' on all the View's children.

4. Use flexDirection: 'row' and justifyContent: 'flex-end' on the View

<View style={{flexDirection: 'row', justifyContent: 'flex-end'}}>
  <Text>Hello, World!</Text>
</View>
flexDirection: 'row' sets the main direction of the layout to be horizontal instead of vertical; justifyContent is just like alignItems, but controls alignment in the main direction instead of the cross direction.

5. Use flexDirection: 'row' on the View and marginLeft: 'auto' on the Text

<View style={{flexDirection: 'row'}}>
  <Text style={{marginLeft: 'auto'}}>Hello, World!</Text>
</View>
This approach is demonstrated, in the context of the web and real CSS, at https://stackoverflow.com/a/34063808/1709587.

6. Use position: 'absolute' and right: 0 on the Text:

<View>
  <Text style={{position: 'absolute', right: 0}}>Hello, World!</Text>
</View>
Like in real CSS, this takes the Text "out of flow", meaning that its siblings will be able to overlap it and its vertical position will be at the top of the View by default (although you can explicitly set a distance from the top of the View using the top style property).

Naturally, which of these various approaches you want to use - and whether the choice between them even matters at all - will depend upon your precise circumstances.