a:6:{i:0;s:8207:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Kentico Developer</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.bsrics.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.bsrics.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Kentico Developer</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-->
				
								<p class="mb5px"><i class="fa fa-briefcase mr7px fl w15px alpha50"></i> 5 - 15 Years</p>
				
									<p class="mb10px"><i class="fa fa-map-marker mr7px fl pl1px w15px alpha50"></i>Chennai</p>
										
					<div>
					<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="696341">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="882455"><input type="hidden" name="subject" value="Applied for Kentico Developer">
					</form>
					</div>
			
						
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Job Description</p>
				<p class="aj mt10px">Responsibilities:<br />
<br />
 Develop .NET web applications<br />
<br />
 Perform tasks that include technical design, code development, documentation, unit and<br />
<br />
integration tests troubleshoot and bug fix and test plan generation<br />
<br />
 Store, retrieve, and manipulate data related tweb applications for transactions and<br />
<br />
reporting<br />
<br />
 Modify the existing application tcorrect errors, allow it tadapt tnew software upgrades,<br />
<br />
or timprove its performance<br />
<br />
 Collaborate with team members tdetermine design specifications or details<br />
<br />
 Work together with colleagues on code reviews, internal infrastructure, and process<br />
<br />
improvements<br />
<br />
 Assist in production problem resolution as needed, including occasional off-hour support<br />
<br />
Required Experience:<br />
<br />
Must-Have<br />
<br />
 Previous work experience in developing websites<br />
<br />
 Must have a sustained track record of delivering high-quality solutions on time and within<br />
<br />
budget.<br />
<br />
 Must demonstrate a strong technical competency in an environment that values quality,<br />
<br />
commitment, growth, and innovation.<br />
<br />
 The ideal candidate will be a forward-thinking member with 5+ years of a strong web<br />
<br />
development experience in Microsoft .NET Technologies for mid thigh-scale internet<br />
<br />
web sites<br />
<br />
 Experience with code management tools<br />
<br />
 Excellent attention tdetail and ability thandle multiple tasks simultaneously and switch<br />
<br />
between tasks quickly<br />
<br />
 Development methodology experience on both waterfall and agile<br />
<br />
 In-depth working knowledge of:<br />
<br />
SVN and/or GIT<br />
<br />
C#/VB.NET<br />
<br />
ASP.NET MVC, Web Form, Entity Framework, NHibernate<br />
<br />
Angular JS, JQuery/JavaScript, css3<br />
<br />
Oracle, MS SQL Server<br />
<br />
CMS Tools Like : Sitefinity, Kentico, Umbraco, DotNetNuke,<br />
<br />
Knowledge of below software tools is a plus<br />
<br />
JIRA<br />
<br />
CA Rally<br />
<br />
Automobile Domain experience<br />
<br />
Experience in supporting Global applications</p>
				
				<table class="w100 formTable bdr0 mt10px">				
											<tr>
							<td class="w22 alpha75 p5px">Salary</td>
							<td class="p5px"> 7  Lac  50 Thousand  To   20 Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="w22 alpha75 p5px">Industry</td>
					<td class="p5px">IT Software - Application Programming / Maintenance</td>
					</tr>
									<tr>
				<td class="w22 alpha75 p5px">Work Experience</td>
				<td class="p5px">5 - 15 Years</td>
				</tr>
									<tr>
					<td class="w22 alpha75 p5px">Qualification</td>
					<td class="p5px">B.Tech/B.E, M.C.A</td>
					</tr>					
									
				</table>
				
				
				</div>
				
				<br>
				<div class="bdrT pt20px">
									<p class="xlarge b">Key Skills</p>
					<div class="mt10px dif">
											<span class="bn dib p5px10px c2px headVr mr7px mb7px">Angular JS</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px"> Jquery</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px"> Javascript</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px"> css3</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px"> Oracle</span>
											</div>
									</div>
				
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Company Profile</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w22 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:admin@bsrisolutions.com"> admin@bsrisolutions.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="696341">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="882455"><input type="hidden" name="subject" value="Applied for Kentico Developer">
					</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="h h2"><b class="plusMinus"></b>
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-chennai.htm" title="Jobs in Chennai">Chennai</a> <b class="alpha50 bn small">(9)</b></span>
									</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<h2>Jobs by Functional Area</h2>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Programming / Maintenance</a> <b class="alpha50 bn small">(9)</b></span>
									
				</div>
				</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: 'aDBaSzBTQUhJb3l5UTNWL3JaTVRLdz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:98:"Kentico Developer Jobs in Chennai - Vacancy in IT Software - Application Programming / Maintenance";i:2;s:193:"Kentico Developer Jobs,Kentico Developer Jobs in Chennai,Kentico Developer Vacancy in Chennai,Kentico Developer jobs in India,IT Software - Application Programming / Maintenance jobs in Chennai";i:3;s:311:"Apply for Kentico Developer Jobs in Chennai India - Kentico Developer Vacancy  in IT Software - Application Programming / Maintenance field with 5 to 15 years Work Experience, Key Skills are Angular JS, Jquery, Javascript, css3, Oracle, IT Software - Application Programming / Maintenance jobs in Chennai  India";i:4;s:2496:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Kentico Developer",
		  "baseSalary": " 7  Lac  50 Thousand  To   20 Lac ",
		  "description": "Responsibilities:

 Develop .NET web applications

 Perform tasks that include technical design, code development, documentation, unit and

integration tests troubleshoot and bug fix and test plan generation

 Store, retrieve, and manipulate data related tweb applications for transactions and

reporting

 Modify the existing application tcorrect errors, allow it tadapt tnew software upgrades,

or timprove its performance

 Collaborate with team members tdetermine design specifications or details

 Work together with colleagues on code reviews, internal infrastructure, and process

improvements

 Assist in production problem resolution as needed, including occasional off-hour support

Required Experience:

Must-Have

 Previous work experience in developing websites

 Must have a sustained track record of delivering high-quality solutions on time and within

budget.

 Must demonstrate a strong technical competency in an environment that values quality,

commitment, growth, and innovation.

 The ideal candidate will be a forward-thinking member with 5+ years of a strong web

development experience in Microsoft .NET Technologies for mid thigh-scale internet

web sites

 Experience with code management tools

 Excellent attention tdetail and ability thandle multiple tasks simultaneously and switch

between tasks quickly

 Development methodology experience on both waterfall and agile

 In-depth working knowledge of:

SVN and/or GIT

C#/VB.NET

ASP.NET MVC, Web Form, Entity Framework, NHibernate

Angular JS, JQuery/JavaScript, css3

Oracle, MS SQL Server

CMS Tools Like : Sitefinity, Kentico, Umbraco, DotNetNuke,

Knowledge of below software tools is a plus

JIRA

CA Rally

Automobile Domain experience

Experience in supporting Global applications",
		  "educationRequirements": "B.Tech/B.E, M.C.A",
		  "experienceRequirements": "5 - 15 Years",
		  "industry": "IT Software - Application Programming / Maintenance",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Tamil Nadu",
		      "addressRegion": "Chennai"
		    }
		  },
		 "qualifications": "B.Tech/B.E, M.C.A",
		     "skills": "Angular JS, Jquery, Javascript, css3, Oracle"
		  }
		</script>
		";i:5;N;}