Topic: Canonizer Jobs

Camp: Agreement / Talentelgia Technologies / Talentelgia

Camp History

Objected
Live
In Review
Old
Camp Name : Talentelgia
Parent Camp : Talentelgia Technologies
Keywords :
Edit summary : Brief understanding - I have reviewed your current platform and it is a type of content generation tool, where users can create any topic/camp. Other users can be a part of that camp and create subcamps with their views on the same. So under the same camp, we can have multiple subcamps and other users can vote to the subcamps that they feel the content is more legitimate or meaningful. Based on the submit the vote, camps get prioritize in the list with the score. So users can understand easily what is user prospect is on added content and understand the legitimacy of content. Some of the key features include- - User registration and login - Social login and authentication - Browse topics - Create a new topic/camp - Create sub-topics/camps - Join or support camp - Participate in camp forum - View blogs - Search within Canonizer How would you architect a Canonizer to be massively scalable? It needs to be able to automatically grow, when needed, to handle millions of simultaneous users, then scale back to save costs when the load is absent. As your application is already is using AWS EC2 for hosting, we can use the same with better ram/processor along with EC2 container service and Lambda functions for load distribution and management, so increase in traffic can be redirected in case of high usage or, if any one of the systems fails • AWS Lambda function auto-scales the RAM as per the requirement of the particular function. • Storage-As application will require media storage. We can use S3 for storage where all static media content can be served directly from S3 buckets for fast processing. • We can also use SNS and SQS services to manage the notification for running Lambda functions. So, whenever any function request is received, it is stored in SQS and the next SNS service is used to send notifications at the backend to run the Lambda functions for the same. • Implement realistic load testing to understand the system response on high traffic and load • Implementing auto-scaling so that application can respond to dynamic traffic usage • Set up monitoring and alerts to identify and track the issue as they occur. So fixes can be applied in a quick manner • Back up or replicate data across regions or providers and automate backups to have the latest data for any data recovery • Securing and authenticating the communications across these regions as the traffic will traverse the open Internet. • Set up database mirroring, master/slave configurations, and/or priming to ensure data integrity and minimum downtime. • Using the dynamic DNS and static IPs so that your application’s infrastructure components always have the right context. I have also drafted suggested tech architecture using Laravel as backend technology framework - What type of team management or prioritization tools are normally used, if any? We use the agile approach to execute the large-scale project and follow the below-listed tools for easy project management and collaboration • Communication Management - Slack for communication between distributed team networks, that can easily integrate with 3rd party tools such as Dropbox and Google Drive for document sharing. • Task Management tools - Jira/Asana/Slack - Daily tasks of each sprint are defined on these platforms to collaborate, where you can also follow the daily development and make your comments and notes • Code Management - So all developer can collaborate for code management, see all their comments, create all the code branches, and then merge them into sprint releases. • Application performance monitoring tools - Amazon CloudWatch for Application Monitoring and AppDynamics Application Performance Management • Project Wikis - Atlassian’s Confluence to keep/manage all the use cases and test cases in the same place • API Documentation - Swagger for API documentation and automating the API related processes What experience do you have setting up and maintaining systems that are 100% continuous delivery enabled, including automated tests that prove 100% of functionality still works with each modification made to the code, along with automatic deployment of such fully tested changes We follow the DevOps approach for the software development cycle for a successful execution which consists of below mentioned 5 steps: 1. Continuous Development - This phase involves planning and coding application and when we start writing the code, it's referred to as the coding phase. To commit the code I have used various version control tools such as GIT/SVN and JIRA 2. Continuous Testing - To release the code, I usually perform unit/ functional testing to ensure everything is working fine. Tool - Selenium/Junit 3. Continuous Integration – This phase helps to integrate tools with configuration management for deployment. Tools – Jenkins/GitlabCI 4. Continuous Deployment – this phase helps in establishing and maintaining consistency in an application be its functional requirements and performance. Tools – Jenkins/Gitlab 5. Continuous Monitoring - Monitoring is as important as the DevOps life cycle. While developing the application, there will always be a possibility of bugs that could remain undetected during the testing phase. Tools - AWS CloudWatch and Stack Driver Provide any other ideas of how you could contribute or help improve Canonizer and its goals. Here are some optimization we can look into to improve the overall performance of apps- 1. We can check the overall application performance of Web applications from browsers by checking page load time and requests response time. 2. We can monitor the requests taking response time longer than expected. 3. We can check for the exceptions and fix them. 4. Tracking the database queries and stored procedures and optimize them. 5. Logs monitoring for requests and responses however keeping the logs minimum. 6. We can check where request data can be cache and where the cache is maintained. 7. Applications 3rd party dependencies and their performances. 8. Check for memory leaks. 9. Checking for long-running loops or threads. 10. Checking for coding practices followed i.e., null values and use of try Parse. 11. Check for the infrastructure provider to run the application. 12. Check for the minified version of CSS and jQuery libraries. 13 Use of CDN for images, fonts, or other scripting and styling files. 14. Making UI more user friendly and responsive for multiple browsers and devices What is your philosophy on code reviews by team members, or strategies such as team or pair coding? Pair-coding is always appreciated as it gives chance to correct and optimize the code with the best coding practices. when two Or multiple minds are involved in a process, the process gets even better and the quality goes higher. Since every programmer has a different coding style, so, code review by peers always adds value to the code quality and removes errors Or missing standards from the code. It also makes every individual developer more responsible and accountable for the code written and reviewed by him. Do you have any examples of times when you went beyond what was being asked of you by your immediate supervisor to further the goals of the company or humanity as a whole? Many times I and my team have done it for our global clients where their requirements or business flow were not clear. Our team helped them at every step in clearly defining their business objectives, calculating the business risks involved, understanding the target audience perspective, end user's perspective, designing of project wireframes, MVP for beta testing, development of staging and production environment with the same database and coding to ensure not disturbing the production environment with any downtime, cybersecurity and database server load balancing techniques implementation for optimized performance, etc. Other than these, we always provide full documentation and free as well as paid post-development maintenance support.
Camp About URL :
Submitter Nick Name : Talentelgia
Submitted on :
Go live Time :
Camp Name : Talentelgia
Parent Camp : Talentelgia Technologies
Keywords :
Edit summary : Brief understanding - I have reviewed your current platform and it is a type of content generation tool, where users can create any topic/camp. Other users can be a part of that camp and create subcamps with their views on the same. So under the same camp, we can have multiple subcamps and other users can vote to the subcamps that they feel the content is more legitimate or meaningful. Based on the submit the vote, camps get prioritize in the list with the score. So users can understand easily what is user prospect is on added content and understand the legitimacy of content. Some of the key features include- - User registration and login - Social login and authentication - Browse topics - Create a new topic/camp - Create sub-topics/camps - Join or support camp - Participate in camp forum - View blogs - Search withing canonizer QUESTION: How would you architect a canonizer to be massively scalable? It needs to be able to automatically grow, when needed, to handle millions of simultaneous users, then scale back to save costs when the load is absent. REPLY: As your application is already is using AWS EC2 for hosting, we can use the same with better ram/processor along with EC2 container service and Lambda functions for load distribution and management, so increase in traffic can be redirected in case of high usage or, if any one of the systems fails · AWS Lambda function auto-scales the RAM as per the requirement of the particular function. · Storage-As application will require media storage. We can use S3 for storage where all static media content can be served directly from S3 buckets for fast processing. · We can also use SNS and SQS services to manage the notification for running Lambda functions. So, whenever any function request is received, it is stored in SQS and the next SNS service is used to send notification at the backend to run the Lambda functions for the same. · Implement realistic load testing to understand the system response to high traffic and load · Implementing auto-scaling so that application can respond to dynamic traffic usage · Set up monitoring and alerts to identify and track the issue as they occur. So fixes can be applied in a quick manner · Back up or replicate data across regions or providers and automate backups to have the latest data for any data recovery · Securing and authenticating the communications across these regions as the traffic will traverse the open Internet. · Set up database mirroring, master/slave configurations, and/or priming to ensure data integrity and minimum downtime. · Using the dynamic DNS and static IPs so that your application’s infrastructure components always have the right context. I have also drafted suggested tech architecture using Laravel as backend technology framework. QUESTION: What type of team management or prioritization tools are normally used, if any? REPLY: We use the agile approach to execute the large-scale project and follow the below-listed tools for easy project management and collaboration • Communication Management - Slack for communication between distributed team networks, that can easily integrate with 3rd party tools such as Dropbox and Google Drive for document sharing. • Task Management tools - Jira/Asana/Slack - Daily tasks of each sprint are defined on these platforms to collaborate, where you can also follow the daily development and make your comments and notes • Code Management - All developers can collaborate for code management, see all their comments, create all the code branches, and then merge them into sprint releases. • Application performance monitoring tools - Amazon CloudWatch for Application Monitoring and AppDynamics Application Performance Management • Project Wikis - Atlassian’s Confluence to keep/manage all the use cases and test cases in the same place • API Documentation - Swagger for API documentation and automating the API related processes QUESTION: What experience do you have setting up and maintaining systems that are 100% continuous delivery enabled, including automated tests that prove 100% of functionality still works with each modification made to the code, along with automatic deployment of such fully tested changes REPLY: We follow the DevOps approach for the software development cycle for a successful execution which consists of below mentioned 5 steps: 1. Continuous Development - This phase involves planning and coding application and when we start writing the code, it's referred to as the coding phase. To commit the code I have used various version control tools such as GIT/SVN and JIRA 2. Continuous Testing - To release the code, I usually perform unit/functional testing to ensure everything is working fine. Tool - Selenium/Junit 3. Continuous Integration – This phase helps to integrate tools with configuration management for deployment. Tools – Jenkins/GitlabCI 4. Continuous Deployment – this phase helps in establishing and maintaining consistency in an application be its functional requirements and performance. Tools – Jenkins/Gitlab 5. Continuous Monitoring - Monitoring is as important as the DevOps life cycle. While developing the application, there will always be a possibility of bugs that could remain undetected during the testing phase. Tools - AWS CloudWatch and Stack Driver QUESTION: Provide any other ideas of how you could contribute or help improve Canonizer and its goals. REPLY: Here are some optimization we can look into to improve the overall performance of apps- 1.We can check the overall application performance of Web applications from browsers by checking page load time and requests response time. 2.We can monitor the requests taking response time longer than expected. 3.We can check for the exceptions and fix them. 4.Tracking the database queries and stored procedures and optimize them. 5.Logs monitoring for requests and responses however keeping the logs minimum 6.we can check where request data can be cache and where the cache is maintained 7.Applications 3rd party dependencies and their performances. 8.Check for memory leaks. 9.Checking for long-running loops or threads. 10.Checking for coding practices followed i.e., null values and use of try Parse. 11.Check for the infrastructure provider to run the application. 12. Check for the minified version of CSS and jQuery libraries. 13 use of CDN for images, fonts, or other scripting and styling files. 14. Making UI more user friendly and responsive for multiple browsers and devices What is your philosophy on code reviews by team members, or strategies such as team or pair coding? Do you have any examples of times when you went beyond what was being asked of you by your immediate supervisor to further the goals of the company or humanity as a whole?
Camp About URL :
Submitter Nick Name : Talentelgia
Submitted on :
Go live Time :
Camp Name : Talentelgia
Parent Camp : Talentelgia Technologies
Keywords :
Edit summary : Brief understanding - I have reviewed your current platform and it is a type of content generation tool, where users can create any topic/camp. Other users can be a part of that camp and create subcamps with their views on the same. So under the same camp, we can have multiple subcamps and other users can vote to the subcamps that they feel the content is more legitimate or meaningful. Based on the submit the vote, camps get prioritize in the list with the score. So users can understand easily what is user prospect is on added content and understand the legitimacy of content. Some of the key features include- - User registration and login - Social login and authentication - Browse topics - Create a new topic/camp - Create sub-topics/camps - Join or support camp - Participate in camp forum - View blogs - Search withing canonizer QUESTION: How would you architect a canonizer to be massively scalable? It needs to be able to automatically grow, when needed, to handle millions of simultaneous users, then scale back to save costs when the load is absent. REPLY: As your application is already is using AWS EC2 for hosting, we can use the same with better ram/processor along with EC2 container service and Lambda functions for load distribution and management, so increase in traffic can be redirected in case of high usage or, if any one of the systems fails · AWS Lambda function auto-scales the RAM as per the requirement of the particular function. · Storage-As application will require media storage. We can use S3 for storage where all static media content can be served directly from S3 buckets for fast processing. · We can also use SNS and SQS services to manage the notification for running Lambda functions. So, whenever any function request is received, it is stored in SQS and the next SNS service is used to send notification at the backend to run the Lambda functions for the same. · Implement realistic load testing to understand the system response to high traffic and load · Implementing auto-scaling so that application can respond to dynamic traffic usage · Set up monitoring and alerts to identify and track the issue as they occur. So fixes can be applied in a quick manner · Back up or replicate data across regions or providers and automate backups to have the latest data for any data recovery · Securing and authenticating the communications across these regions as the traffic will traverse the open Internet. · Set up database mirroring, master/slave configurations, and/or priming to ensure data integrity and minimum downtime. · Using the dynamic DNS and static IPs so that your application’s infrastructure components always have the right context. I have also drafted suggested tech architecture using Laravel as backend technology framework. QUESTION: What type of team management or prioritization tools are normally used, if any? REPLY: We use the agile approach to execute the large-scale project and follow the below-listed tools for easy project management and collaboration • Communication Management - Slack for communication between distributed team networks, that can easily integrate with 3rd party tools such as Dropbox and Google Drive for document sharing. • Task Management tools - Jira/Asana/Slack - Daily tasks of each sprint are defined on these platforms to collaborate, where you can also follow the daily development and make your comments and notes • Code Management - All developers can collaborate for code management, see all their comments, create all the code branches, and then merge them into sprint releases. • Application performance monitoring tools - Amazon CloudWatch for Application Monitoring and AppDynamics Application Performance Management • Project Wikis - Atlassian’s Confluence to keep/manage all the use cases and test cases in the same place • API Documentation - Swagger for API documentation and automating the API related processes QUESTION: What experience do you have setting up and maintaining systems that are 100% continuous delivery enabled, including automated tests that prove 100% of functionality still works with each modification made to the code, along with automatic deployment of such fully tested changes REPLY: We follow the DevOps approach for the software development cycle for a successful execution which consists of below mentioned 5 steps: 1. Continuous Development - This phase involves planning and coding application and when we start writing the code, it's referred to as the coding phase. To commit the code I have used various version control tools such as GIT/SVN and JIRA 2. Continuous Testing - To release the code, I usually perform unit/functional testing to ensure everything is working fine. Tool - Selenium/Junit 3. Continuous Integration – This phase helps to integrate tools with configuration management for deployment. Tools – Jenkins/GitlabCI 4. Continuous Deployment – this phase helps in establishing and maintaining consistency in an application be its functional requirements and performance. Tools – Jenkins/Gitlab 5. Continuous Monitoring - Monitoring is as important as the DevOps life cycle. While developing the application, there will always be a possibility of bugs that could remain undetected during the testing phase. Tools - AWS CloudWatch and Stack Driver QUESTION: Provide any other ideas of how you could contribute or help improve Canonizer and its goals. REPLY: Here are some optimization we can look into to improve the overall performance of apps- 1.We can check the overall application performance of Web applications from browsers by checking page load time and requests response time. 2.We can monitor the requests taking response time longer than expected. 3.We can check for the exceptions and fix them. 4.Tracking the database queries and stored procedures and optimize them. 5.Logs monitoring for requests and responses however keeping the logs minimum 6.we can check where request data can be cache and where the cache is maintained 7.Applications 3rd party dependencies and their performances. 8.Check for memory leaks. 9.Checking for long-running loops or threads. 10.Checking for coding practices followed i.e., null values and use of try Parse. 11.Check for the infrastructure provider to run the application. 12. Check for the minified version of CSS and jQuery libraries. 13 use of CDN for images, fonts, or other scripting and styling files. 14. Making UI more user friendly and responsive for multiple browsers and devices What is your philosophy on code reviews by team members, or strategies such as team or pair coding? Do you have any examples of times when you went beyond what was being asked of you by your immediate supervisor to further the goals of the company or humanity as a whole?
Camp About URL :
Submitter Nick Name : Talentelgia
Submitted on :
Go live Time :