a:6:{i:0;s:11294:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for classic asp programmer in noida</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.shivangigroups.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.shivangigroups.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for classic asp programmer in noida</p>
					</div>
					</div>
					</section>
									<section id="middle">
				<div class="wrap" id="bodyFormatNT">
				<div class="row1 dt columns23"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls detail_pm_15"><!--MIDDLE ROW1 COL-2 STARTS-->
				
								<div class="pt10px">
				<div class="xxxlarge fw6 dif">Classic ASP Programmer</div>
									<p class="mt7px fw6">Noida</p>
									
				<br>
				<p class="aj mt7px">Classic ASP Programmer Profile <br />
Qualification:-MCA<br />
Salary:-4 Lac -12 Lac/PA<br />
Experience-Min. 4Year<br />
Gender:-Male/Female<br />
KeyLanguages:Classic ASP (absolutely mandatory)<br />
Classic ASP VB 6.0 / VBScript HTML / C++ / SQL Server.<br />
<br />
Job Responsibility:-<br />
<br />
· Develops and maintains applications and databases by evaluating client needs; analyzing requirements; developing software systems.<br />
<br />
· Enhances staff accomplishments and competence by planning delivery of solutions; answering technical and procedural questions for less experienced team members; teaching improved processes; mentoring team members.<br />
<br />
· Identifies requirements by establishing personal rapport with potential and actual clients and with other persons in a position to understand service requirements.<br />
<br />
· Arranges project requirements in programming sequence by analysing requirements; preparing a work flow chart and diagram using knowledge of computer capabilities, subject matter, programming language, and logic.<br />
<br />
· Programs the computer by encoding project requirements in computer language; entering coded information into the computer.<br />
<br />
Confirms program operation by conducting tests; modifying program sequence and/or codes.<br />
<br />
· Provides reference for use of prime and personal computers by writing and maintaining user documentation; maintaining a help desk.<br />
<br />
· Maintains computer systems and programming guidelines by writing and updating policies and procedures.<br />
<br />
· Maintains professional and technical knowledge by attending educational workshops; reviewing professional publications; establishing personal networks; participating in professional societies.<br />
<br />
· Protects operations by keeping information confidential.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">5 - 11 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 4  Lac  To  12  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">IT Software - Application Programming / Maintenance</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">B.Tech/B.E</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Classic ASP VB</span>
												<span class="bdr dib p2px10px mr5px mt2px"> 6.0</span>
												<span class="bdr dib p2px10px mr5px mt2px"> VBScript</span>
												<span class="bdr dib p2px10px mr5px mt2px"> HTML</span>
												<span class="bdr dib p2px10px mr5px mt2px"> C++</span>
												<span class="bdr dib p2px10px mr5px mt2px"> SQL Server</span>
												<span class="bdr dib p2px10px mr5px mt2px"> ASP Programmer</span>
											</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div class="pt20px">
				<p class="large fw6">About Company</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w195 alpha75 p5px vat">Company Name</td>
						<td class="p5px vat"><p class="dif b">Company Noida</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">Company was founded in August 2008. The company uses the mobile device to create the largest ecosystem of performance advertising, last-mile data capture, and data analytics in both the digital and offline world.

Millions of consumers today use Company platforms to be connected with their favorite brands, their dealers, agents, managers and constantly get just the right offers / information anytime, anywhere.

Today more than 100 brands / companies use Company platforms to have one-one connect with their consumers based on actual real time data coming from their Point of Sales (POS).

Precision Marketing or performance advertising is the most influential and effective form of Marketing in the current age. Both these are completely dependent on actual purchase triggers coming directly from Point of Sale. Mapping customer behavior consistently in a scientific manner results in trends that can assure a much higher ROI on your campaigns.</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">Praveen Kumar</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9971031879 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:cv@shivangigroup.com"> cv@shivangigroup.com </a></td>
						</tr>
										
					</table>
									
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="670387">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="959993"><input type="hidden" name="subject" value="Applied for Classic ASP Programmer">
					</form>
					</div>
			
									</div>
				</div>			
				
				<!--MIDDLE ROW1 COL-2 ENDS--> 
				</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic">
				<div class="mt10px">
									<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-gurgaon.htm" title="Jobs in Gurgaon">Gurgaon</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-bhiwadi.htm" title="Jobs in Bhiwadi">Bhiwadi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-greaternoida.htm" title="Jobs in Greater Noida">Greater Noida</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-noida.htm" title="Jobs in Noida">Noida</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-wazirpur-delhi.htm" title="Jobs in Wazirpur">Wazirpur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-pitampura-delhi.htm" title="Jobs in Pitampura">Pitampura</a> <b class="alpha50 bn small">(1)</b></span>
									</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Functional Area</h2>
				</div>
				<div style="padding:10px 18px;" class="ic">
									<p class="mb5px "><span class="fr">(4)</span><a href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</a></p>
										<p class="mb5px "><span class="fr">(3)</span><a href="jobs-in-sales-marketing-business-development-telecaller-fid.htm" title="Sales & Marketing / Business Development/telecaller Jobs">Sales & Marketing / Business D...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-hr-recruitment-administration-ir-training-development-operations-fid.htm" title="HR / Recruitment / Administration / IR / Training & Development / Operations Jobs">HR / Recruitment / Administrat...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Q...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-fresh-graduate-fid.htm" title="Fresher / Trainee Jobs">Fresher / Trainee</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-merchandser-fid.htm" title="Fashion Designing & Merchandising Jobs">Fashion Designing & Merchandis...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-front-office-reception-computer-operator-assistant-fid.htm" title="Front Office / Reception/Computer Operator/Assistant Jobs">Front Office / Reception/Compu...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-computers-it-fid.htm" title="IT Hardware / Technical Support / Telecom Engineering Jobs">IT Hardware / Technical Suppor...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
									
				</div>
				</div>
				</div>
				
				</div>
				<!--MIDDLE ROW1 COL-1 ENDS-->
				
				<!--MIDDLE ROW1 ENDS--> 
				</div>
				<br><br>
				</div>
				</section>
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
					<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'TmpHdjU4RHlHT3VzOWlnK3NBYWtFZz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:79:"Job openings for classic asp programmer in noida | Shivangi Group of Management";i:2;s:207:"Classic ASP Programmer Jobs,Classic ASP Programmer Jobs in Noida,Classic ASP Programmer Vacancy in Noida,Classic ASP Programmer jobs in India,IT Software - Application Programming / Maintenance jobs in Noida";i:3;s:341:"Apply for Classic ASP Programmer Jobs in Noida India - Classic ASP Programmer Vacancy  in IT Software - Application Programming / Maintenance field with 5 to 11 years Work Experience, Key Skills are Classic ASP VB, 6.0, VBScript, HTML, C++, SQL Server, ASP Programmer, IT Software - Application Programming / Maintenance jobs in Noida  India";i:4;s:2424:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Classic ASP Programmer",
		  "baseSalary": " 4  Lac  To  12  Lac ",
		  "description": "Classic ASP Programmer Profile 
Qualification:-MCA
Salary:-4 Lac -12 Lac/PA
Experience-Min. 4Year
Gender:-Male/Female
KeyLanguages:Classic ASP (absolutely mandatory)
Classic ASP VB 6.0 / VBScript HTML / C++ / SQL Server.

Job Responsibility:-

· Develops and maintains applications and databases by evaluating client needs; analyzing requirements; developing software systems.

· Enhances staff accomplishments and competence by planning delivery of solutions; answering technical and procedural questions for less experienced team members; teaching improved processes; mentoring team members.

· Identifies requirements by establishing personal rapport with potential and actual clients and with other persons in a position to understand service requirements.

· Arranges project requirements in programming sequence by analysing requirements; preparing a work flow chart and diagram using knowledge of computer capabilities, subject matter, programming language, and logic.

· Programs the computer by encoding project requirements in computer language; entering coded information into the computer.

Confirms program operation by conducting tests; modifying program sequence and/or codes.

· Provides reference for use of prime and personal computers by writing and maintaining user documentation; maintaining a help desk.

· Maintains computer systems and programming guidelines by writing and updating policies and procedures.

· Maintains professional and technical knowledge by attending educational workshops; reviewing professional publications; establishing personal networks; participating in professional societies.

· Protects operations by keeping information confidential.",
		  "educationRequirements": "B.Tech/B.E",
		  "experienceRequirements": "5 - 11 Years",
		  "industry": "IT Software - Application Programming / Maintenance",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Uttar Pradesh",
		      "addressRegion": "Noida"
		    }
		  },
		 "qualifications": "B.Tech/B.E",
		     "skills": "Classic ASP VB, 6.0, VBScript, HTML, C++, SQL Server, ASP Programmer"
		  }
		</script>
		";i:5;N;}