a:6:{i:0;s:14894:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Solutions Architect</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.excelindiahrservices.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.excelindiahrservices.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Solutions Architect</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> 10 Years</p>
				
									<p class="mb10px"><i class="fa fa-map-marker mr7px fl pl1px w15px alpha50"></i>Thiruvananthapuram</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="233249">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="866724"><input type="hidden" name="subject" value="Applied for Solutions Architect">
					</form>
					</div>
			
						
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Job Description</p>
				<p class="aj mt10px">1. KEY PERFORMANCE INDICATORS / RESPONSIBILITIES<br />
o Identify the appropriate software architecture based on the requirements and design elements<br />
o contained in a system specification.<br />
o Record software architecture in a software architecture document using use cases and the Unified Modeling Language (UML).<br />
o Maintain and evolve software architecture documents based on evolving system requirements and industry trends and technologies.<br />
o Analyze risk and report problems in meeting system requirements.<br />
o Assist Software Designer/Implementers with the creation of detailed software design specifications.<br />
o Lead the review process for software architecture documents and code.<br />
o Participate in the requirement specification review process to ensure requirements can be translated into valid software architecture<br />
o Comply with all applicable product development processes. Perform detailed software design as well as implements and/or maintains code according to duties and responsibilities<br />
o Sound experience of working in Agile methodology.<br />
o Ensure the overall integrity of the software architecture and validates it against the requirement<br />
o specification.<br />
o Integrate internal and external product design into a cohesive user experience.<br />
o Work with visual designers to improve and refine product visual design and consistency.<br />
2. DESIRED CANDIDATE PROFILE<br />
o 10 +years hands on experience in Java software development experience using traditional software development life cycle methodologies (covering requirements, design, development, testing and Implementation of n-tier architecture)<br />
o Experience in Micro-service other than sprint, boot etc.<br />
o Experience in multiple languages (other than Java)<br />
o Understanding of middle wares<br />
o Exposure to cloud<br />
o Experience in Enqueue Management, Rule Engines & Work flow<br />
o Exposure to codeless platforms<br />
o Experience in Message router eg. Apache camel<br />
o Interop programming net technologies (e.g.how do you communicate)<br />
o Exposure other than RDBMS<br />
o Exposure to functional programming (eg. Erlang, haskell etc)<br />
o Exposure in \"In memory Redis\"<br />
o Self-starter, proactive and have excellent analytical and problem solving skills.<br />
o Extensive experience with object-oriented software development methodologies and practices.</p>
				
				<table class="w100 formTable bdr0 mt10px">				
											<tr>
							<td class="w22 alpha75 p5px">Salary</td>
							<td class="p5px"> 12  Lac  To  15  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="w22 alpha75 p5px">Industry</td>
					<td class="p5px">IT Software - Others</td>
					</tr>
									<tr>
				<td class="w22 alpha75 p5px">Work Experience</td>
				<td class="p5px">10 Years</td>
				</tr>
									<tr>
					<td class="w22 alpha75 p5px">Qualification</td>
					<td class="p5px">Professional Degree</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">Solutions Architect</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 vat">Company Name</td>
						<td class="p5px vat"><p class="dif b">Excelindia HR Services</p></td>
						</tr>
												<tr>
						<td class="w22 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">Excelindia HR Services</td>
						</tr>
												<tr>
						<td class="w22 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:dmehrs@hotmail.com"> dmehrs@hotmail.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="233249">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="866724"><input type="hidden" name="subject" value="Applied for Solutions Architect">
					</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-surat.htm" title="Jobs in Surat">Surat</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-kolkata.htm" title="Jobs in Kolkata">Kolkata</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-howrah.htm" title="Jobs in Howrah">Howrah</a> <b class="alpha50 bn small">(2)</b></span>
										<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">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-mumbai.htm" title="Jobs in Mumbai">Mumbai</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-delhi.htm" title="Jobs in Delhi">Delhi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-thiruvananthapuram.htm" title="Jobs in Thiruvananthapuram">Thiruvananthapuram</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-bangalore.htm" title="Jobs in Bangalore">Bangalore</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-ghaziabad.htm" title="Jobs in Ghaziabad">Ghaziabad</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-gurgaon.htm" title="Jobs in Gurgaon">Gurgaon</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-asansol.htm" title="Jobs in Asansol">Asansol</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-gandhinagar.htm" title="Jobs in Gandhinagar">Gandhinagar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-indore.htm" title="Jobs in Indore">Indore</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></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-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxation</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-analytics-fid.htm" title="Analytic and Business Intelligence Jobs">Analytic and Business Intelligence</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-banking-investment-fid.htm" title="Banking / Investments / Stock Market / Financial Services Jobs">Banking / Investments / Stock Market / Financial Services</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-journalism-media-publishing-fid.htm" title="Content Writing / Journalism / Editing Jobs">Content Writing / Journalism / Editing</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-corporate-planning-fid.htm" title="Corporate Planning & Strategy / Management Consulting Jobs">Corporate Planning & Strategy / Management Consulting</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-education-teaching-training-counselling-fid.htm" title="Education / Teaching / Training / Counselling / Academic Jobs">Education / Teaching / Training / Counselling / Academic</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-engineering-technical-rd-fid.htm" title="Engineering / Technical / R&D Jobs">Engineering / Technical / R&D</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-export-import-merchandising-fid.htm" title="Export / Import / Merchandising Jobs">Export / Import / Merchandising</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-human-resources-fid.htm" title="HR / Recruitment / Administration / IR Jobs">HR / Recruitment / Administration / IR</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-computers-it-fid.htm" title="IT Hardware / Technical Support / Telecom Engineering Jobs">IT Hardware / Technical Support / Telecom Engineering</a> <b class="alpha50 bn small">(1)</b></span>
										<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">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-web-designing-programming-fid.htm" title="IT Software - Others Jobs">IT Software - Others</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-system-programming-fid.htm" title="IT Software - System Programming Jobs">IT Software - System Programming</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Quality</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-advertisement-marketing-fid.htm" title="Marketing / Advertising / PR / Media Planning Jobs">Marketing / Advertising / PR / Media Planning</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-sales-marketing-fid.htm" title="Sales/Marketing Jobs">Sales/Marketing</a> <b class="alpha50 bn small">(15)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></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: 'Ykh6MndycDZMQ2p5MlhyMGZBS0FMdz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:80:"Solutions Architect Jobs in Thiruvananthapuram - Vacancy in IT Software - Others";i:2;s:203:"Solutions Architect Jobs,Solutions Architect Jobs in Thiruvananthapuram,Solutions Architect Vacancy in Thiruvananthapuram,Solutions Architect jobs in India,IT Software - Others jobs in Thiruvananthapuram";i:3;s:245:"Apply for Solutions Architect Jobs in Thiruvananthapuram India - Solutions Architect Vacancy  in IT Software - Others field with 10 years Work Experience, Key Skills are Solutions Architect, IT Software - Others jobs in Thiruvananthapuram  India";i:4;s:2937:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Solutions Architect",
		  "baseSalary": " 12  Lac  To  15  Lac ",
		  "description": "1. KEY PERFORMANCE INDICATORS / RESPONSIBILITIES
o Identify the appropriate software architecture based on the requirements and design elements
o contained in a system specification.
o Record software architecture in a software architecture document using use cases and the Unified Modeling Language (UML).
o Maintain and evolve software architecture documents based on evolving system requirements and industry trends and technologies.
o Analyze risk and report problems in meeting system requirements.
o Assist Software Designer/Implementers with the creation of detailed software design specifications.
o Lead the review process for software architecture documents and code.
o Participate in the requirement specification review process to ensure requirements can be translated into valid software architecture
o Comply with all applicable product development processes. Perform detailed software design as well as implements and/or maintains code according to duties and responsibilities
o Sound experience of working in Agile methodology.
o Ensure the overall integrity of the software architecture and validates it against the requirement
o specification.
o Integrate internal and external product design into a cohesive user experience.
o Work with visual designers to improve and refine product visual design and consistency.
2. DESIRED CANDIDATE PROFILE
o 10 +years hands on experience in Java software development experience using traditional software development life cycle methodologies (covering requirements, design, development, testing and Implementation of n-tier architecture)
o Experience in Micro-service other than sprint, boot etc.
o Experience in multiple languages (other than Java)
o Understanding of middle wares
o Exposure to cloud
o Experience in Enqueue Management, Rule Engines & Work flow
o Exposure to codeless platforms
o Experience in Message router eg. Apache camel
o Interop programming net technologies (e.g.how do you communicate)
o Exposure other than RDBMS
o Exposure to functional programming (eg. Erlang, haskell etc)
o Exposure in \"In memory Redis\"
o Self-starter, proactive and have excellent analytical and problem solving skills.
o Extensive experience with object-oriented software development methodologies and practices.",
		  "educationRequirements": "Professional Degree",
		  "experienceRequirements": "10 Years",
		  "industry": "IT Software - Others",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Kerala",
		      "addressRegion": "Thiruvananthapuram"
		    }
		  },
		 "qualifications": "Professional Degree",
		     "skills": "Solutions Architect"
		  }
		</script>
		";i:5;N;}