NotesWhat is notes.io?

Notes brand slogan

Notes - notes.io

Hi,
With respect to the questions asked earlier,
1. How many years of experience do you have as a developer and with which languages/frameworks/etc.?
I have 3+ years of developer experience. I am a Full Stack Developer and a Module Owner.
In my current job, we use Java, Struts in the back-end. We have our own internal Frameworks based on Java and xml (somewhat like an ORM) which we use for rendering tabular data, and for performing DB operations. Our product supports 3 DB providers (Postgres, MySQL, and MSSQL), and I am equally comfortable in all three. I have however worked using DB2 and Oracle 10g too earlier.
For API development, we had earlier done a POC using JAX-RS. But, we had decided not to go with it. I am now using xml to maintaining a Request Mapper (similar to the way Swagger handles the API request). For API testing, we currently use Telerik Fiddler and Postman
In the front end, we use vanilla JS, jQuery, CSS, JSP, JSON and HTML. We have recently started working using Ember. I personally haven't worked on Ember yet. However, I have a fair enough idea of how it works, as I have to review the code (of my team members).
As our product requires agent server communication, I have used, and am familiar with iOS messaging frameworks (Property Lists [plist]), and JavaAPNs (which is used to send notification to iOS devices). For Android agent server communication, we use JSON, and similarly for Windows devices, we use SOAP. I had also worked in XML technologies during my final year of college, namely SOAP, REST, JAX-WS for my course completion project.
However, apart from my work experience, I have personally learnt a little bit of Node.js, Mongoose, Swagger, MongoDB, Express.js, ES6 Javascript, Angular.js and React.js for developing a shopping application, for a client. (non - monetary) -- This work is in progress.
I had also, worked as an Intern in Cognizant R&D during my final year, when I used JMF (Java Media Framework) for developing a Video testing tool. During the process, I had used a few image testing tools, namely, Selenium and Sikuli.
With respect to versioning systems, I have used Git and Hg.

2. Do you have any links to a portfolio, Github, StackOverflow or LinkedIn I can check out?
You can visit my personal website at http://anjsudh.me
My Github profile is available at http://github.com/anjsudh
I haven't checked in much in the last couple of years after college, however, as you will see in the upcoming weeks, there will be many check-ins hereafter, as I have made up my mind to learn more. I will be making multiple small projects as I learn new technologies, and will be open sourcing the shopping application, as soon as I start development.
As for my LinkedIn profile, you can check it at https://www.linkedin.com/in/anjsudh

3. What's your availability like right now? If you're employed and would need to give a notice, how long would that take? What timezone are you in and what time of day do you work?

I am currently working in Zoho. There is no notice period here. However, I will have to wind up my current task, if I am quitting, as it will be unethical to quit in the middle. Give it a week or two, but that's the most it should take.

I work in Indian Standard Timezone, usually work from 9am in the morning to 7-11 30 pm at night. It varies based on the current task priority.

And now for the more in-depth questions. Ready? Let's do this...

Debugging

How do you approach a tricky bug? Give an example from a recent project. Have any favorite tools or techniques for figuring things out when they go wrong?

(max 300 words. Where helpful, include a few screenshots or a short video).

I rely mostly on logs, especially the timestamps and thread ids in the logs. I tend to add logs for every event, so, if a customer comes with an issue, I usually check their activity during the time, and note it down separately. Based on their activity, I check the code, in the particular build version and walk through to find out if there are any possibilities of code breaks. In my experience most of them generally fall under:
-> incorrect checks in code, missed null pointer handling, edge cases
-> missed parameter passing
-> two object manipulating the same reference / synchronization issues
-> dead locks due to files/ network
-> transaction related problems.
If I have a live setup where the bug gets reproduced, I would prefer to use a Debugger


Testing

Can you tell us about a project where you have written tests and whether they were successful or not in increasing the quality of the code?
If possible, show an example from a recent project (pseudocode or link to a gist/commit/file) of how you rewrote some code to make it more testable.
(max 300 words)

My product currently works based on device server communication. Hence, automated testing was earlier not possible. As one of my first tasks when I joined Zoho, I had developed a simulator, to simulate communication between the mobile device and server. Raw data that were posted from test devices were duplicated, and reused to be sent from a separate simulator. As agents always initiate communication with a server, upon providing the device count, and a server url, in the simulator, data will be posted to the server like it is from a device.

On a further note, I am currently working on developing REST APIs for product integration. As a part of the work, for every endpoint, I have used Postman to write a complete workflow for testing individual modules (TDD). Devices can be added to the server using the simulator, and after that the complete product can be tested using the test cases developed using Postman. These two can be integrated and initiated upon build creation.

Best Practices

Describe something that is considered a "best practice" for a technology you're familiar with, and what factors go into your decision of whether to follow it or not.

Then, walk us through a code sample from a recent project where you've had to make such a decision. Your code sample can be links to commits/gists/files, or just paste snippets here and walk us through your decisions.

(max 300 words)

     
 
what is notes.io
 

Notes.io is a web-based application for taking notes. You can take your notes and share with others people. If you like taking long notes, notes.io is designed for you. To date, over 8,000,000,000 notes created and continuing...

With notes.io;

  • * You can take a note from anywhere and any device with internet connection.
  • * You can share the notes in social platforms (YouTube, Facebook, Twitter, instagram etc.).
  • * You can quickly share your contents without website, blog and e-mail.
  • * You don't need to create any Account to share a note. As you wish you can use quick, easy and best shortened notes with sms, websites, e-mail, or messaging services (WhatsApp, iMessage, Telegram, Signal).
  • * Notes.io has fabulous infrastructure design for a short link and allows you to share the note as an easy and understandable link.

Fast: Notes.io is built for speed and performance. You can take a notes quickly and browse your archive.

Easy: Notes.io doesn’t require installation. Just write and share note!

Short: Notes.io’s url just 8 character. You’ll get shorten link of your note when you want to share. (Ex: notes.io/q )

Free: Notes.io works for 12 years and has been free since the day it was started.


You immediately create your first note and start sharing with the ones you wish. If you want to contact us, you can use the following communication channels;


Email: [email protected]

Twitter: http://twitter.com/notesio

Instagram: http://instagram.com/notes.io

Facebook: http://facebook.com/notesio



Regards;
Notes.io Team

     
 
Shortened Note Link
 
 
Looding Image
 
     
 
Long File
 
 

For written notes was greater than 18KB Unable to shorten.

To be smaller than 18KB, please organize your notes, or sign in.