DO WHAT YOU CAN`T!
Mobile application development is a booming field, with plenty of job opportunities and interesting projects at both small and medium-sized businesses and large enterprises.
But how do you go from tech support or a complete newbie to a mobile app developer? That’s a question most frequently asked by many who desire to one day be a master of the art.
While most organizations seeking mobile-focused developers are looking at relevant, practical experience, many will also put emphasis on hiring candidates with a strong foundation in Xamarin Technology.
To know more about Hardik, you can reach him via: https://about.me/hardikmistry
1: Your Journey to Azure and XAMARIN. How did you bump in? How Appmattic?
My journey started with programming and content creation all the way back when I was in 7th Standard at school, my father used to run a media agency at the time and would ask me to help him pick colors for the banner or type some content in English (silly things just to keep me occupied).
Later on in 2009 I failed in 12th (Math group), wanted to be an automobile engineer (My love for cars is unmatched and you better do not debate with me on that), on account of my failure my parents insisted that I should join diploma the same year instead of spending a year more and maybe not scoring well enough in 12th, that lead me to join Diploma in IT in an institute 50 KMs from my city, had to catch 5:50 AM train to be able to reach college on or before 8:00 AM, moving on worked hard through the course, was able to secure 1st rank in college and 4th rank in state to be able to secure admissions into BTech in IT on a government seat (finally saved some money of my parents).
While I was in BTech I was introduced by a friend to a program called Microsoft Student Partners (MSP – more here: https://msdn.microsoft.com/en-in/microsoftstudentpartners.aspx), the program gave me a platform to explore my potential and present myself across Microsoft events conducted across the world, that motivated me a bit more to push myself into technology and understand the technology from ground up, was a wonderful journey in itself.
After I graduated I joined a startup in my city (we would build our product and solutions and optionally serve internal clients), that did not work well, moved on to alternate opportunities and so on, I was never motivated to do a full-time job but then that was the only choice for a while until I could establish an identity for myself in the industry.
Along with this transition from a student to full time professional, I kept exploring and understanding how a product is engineered, how technology is used to serve millions of customers etc (Think of creating your own version of Facebook or Whatsapp etc).
This transition helped me somehow, directly or indirectly to contribute to various opportunities and that in turn helped me analyze which technology suites best for what kind of business and scenarios.
Since my competency is Mobile app and Cloud Enabled experiences, I notice that to deliver a mobile app via Native approach, you need a dedicated team of engineers to be able to write the app and ship it to your users. Well if I say copy the Java code from Android project and paste it into iOS project for the same app, you will literally laugh at me as you are also commonly aware of inter-operable challenges involved when engineering mobile apps targeted at multiple platforms, this is where XAMARIN helps you as an engineer, you write up to 90% code only once and rest 10% is something specific or limited by the platform itself, example: the way you read a photo from Android is different from the way you do it on iOS so that 10% code which you need to rewrite is something platform-specific such as GPS, Read/Write files etc but then you get leverage to save significant amount of time and that helps you reduce your TTM (Time To Market – Amount of time you take to ship your app to your users from the day you started writing the app), if you are mobile app developer or a student and interested in be able to ship apps to multiple platforms, you should definitely explore and use XAMARIN.
You can find more here:
- – https://www.xamarin.com/
- – https://store.xamarin.com/
- – https://www.youtube.com/channel/UCykEmj8H8O0aE6QB1965XCg (Free learning – Official Xamarin channel on YouTube)
- – https://www.thewissen.io/xamarin-forms-ui-twitter/ (Creating twitter like app using Xamarin)
This overall understanding of business, technology, user experience etc helped me realise that somewhere we lack technical competency required by the industry (Software) and its users and I can do something about it, with this motivation I founded APPMATTIC where I aim to engineer world-class products and solutions for our customers along with this I aim to help students or anyone interested to join APPMATTIC as an intern and take advantage to become a world-class engineer.
2: What made you dive into this field as a whole; Your love for creating apps. Describe your creative process of coming up with creating problem-solving Apps. What are the major steps?
Tell us about your experience working as an app developer? What do you feel is important to make sure the work gets done efficiently?
- Pen and Paper : When you are engineering any product (Software specifically), create mockup of what is the intended system supposed to do (UI, business features etc.), this helps you plan and organize your priorities before you start writing your code
- Use Tools : Some engineers are known to hate using multiple tools, but hey if that makes your work more efficient, why not?
– Following is what I use on daily (rather every minute)
- – VSTS (Team Foundation Server – Project management) – https://visualstudio.com
- – Trello (Task management) – https://trello.com
- – GitHub – https://github.com
- – Zenhub (Project management for GitHub) – https://www.zenhub.com
- – Slack (Team communication) – https://slack.com
- – Microsoft Teams (Team communication) – https://products.office.com/en-us/microsoft-teams/group-chat-software
- – Microsoft Office 2016 – https://www.microsoft.com/en-in/download/office.aspx
- – Google Apps – https://gsuite.google.com/products/
- – Jira (Project management) – https://www.atlassian.com/software/jira
- – BitBucket (Source management) – https://bitbucket.org/
- – Lightshot screen (Intuitive screen capture tool) – https://app.prntscr.com/en/index.html
- – Adobe XD (Prototyping tool) – http://www.adobe.com/in/products/experience-design.html
- – XCode (IDE to write iOS apps) – https://developer.apple.com/xcode/
- – Visual Studio (IDE to write C#, Xamarin apps, and lot more) – http://visualstudio.com/downloads
- – PostMan (Web debugging tool) – https://www.getpostman.com/postman
- – SourceTree (Tool to manage Git projects locally) – https://www.sourcetreeapp.com/
- – Visual Code (IDE to write and manage code/script effectively) – https://code.visualstudio.com/
- – Toggl (Time tracking tool) – https://toggl.com/
- – Office Lens (App to capture receipts) – https://blogs.office.com/en-us/2015/04/02/office-lens-comes-to-iphone-and-android/ .. and a lot more
- Write effective code: Most of us as engineers are famous to be kings of jugad, point being most of you are excellent at patching things up but that patch will break on day and make your life a mess, better spend 4 days more and delay the work and ensure that your code is the most optimum approach instead of messing up the whole app later on
- Unit test: Software engineers are infamous to write test and make sure their code actually works when run any other PC than their’s, do not do this, form a habit to unit test your piece of code without fail.
- Take ownership: As an engineer, you are responsible if your code breaks either your own code or something else, learn to accept that you did something wrong and also learn to improve your coding skills to be able to take care of those challenges in future. DO NOT BLAME others for your own mistakes and make sure you do not commit them the next time.
3: What’s an example of a project where you had a lot of challenges? Any experience you want to share.
The only challenge is lack of technical competency amongst engineers to be able to engineer good software, design can evolve with better screen resolution but how difficult can it be to write a functional and failsafe code, have seen engineers intentionally ignoring a potential code which is prone to errors later just because nobody told them to take care of that or that was not part of their job etc. We seriously need to UP our GAME of ENGINEERING.
4: Can you critique your own work?
I am infamous to ship software which tends to break and that has helped me learn and improve with time over these years.
5: Message for students to become a techie.
Focus on your engineering skills or any other skill that is relevant (design etc), nothing else can make your life better.
6: What are your future plans?
Create a Fortune 5 company
7: How becoming Digital has helped you or changed your life?
– Being digital helped me make it better than what it used to be, I use tons of tool and create my own to make it better day by day.
8: Message for students; to learn something Digital.
– Whatever you are: Student, Aspiring engineer, Full-time Pro, pick your game, select what is that you really want to be, try to identify what you are really good at Design, Marketing, Engineering etc. These are all equally important and we need all of you, but then make your pick and focus on the skills instead of comparing what your friend or relative is upto.
We are thankful to Hardik Mistry for being a part of our Get Digication: Learn Digital, Meetup Programme and for giving a practical workshop on Creating cross-platform Intuitive Mobile Apps Using Xamarin.
For more information write to us at hi@getdigication.com and stay tuned with us to know more about upcoming meetup sessions.