Principal Software Engineer needs 10+ years design of web, component, distributed solutions, N-tier design, and deploying scalable and reliable systems Principal Software Engineer requires: • Experience implementing methodologies such as RAD, UML, or other object-oriented design required. • Experience with version control systems such as BitBucket, GitHub, etc. • Microsoft Platform: VSTS, TFS, SharePoint, SQL Server. • Programming languages and technologies: ASP.NET, C#, VB.NET, ASP, .NET Framework, and Web Services; • Knowledge of Internet Information Services; and Strong working knowledge of .Net Applications. • Oracle Platform: Oracle APEX based Solution Design, Development, and Programming • SQL and PL/SQL programming language. • Exposure to Oracle Data Integrator; • Exposure to Oracle Workflow, XML Publisher, JDeveloper and Discoverer tools. • J2EE Platform: J2EE application server; JSP, Java Server Faces, ADF Oracle Technology Stack, or STRUTS; and • Building web-based applications using Java/J2EE, Spring Framework, Spring MVC, and Hibernate. • Web technologies: HTML, DHTML, XML, XSL, XSLT, Style sheets, and JavaScript; • Protocols such as SOAP, REST, HTTPS, FTP, SMTP, etc.; and • Knowledge of web services, Orchestration and messaging. • Cloud and Client Framework: SOLR, Elastic Search, NoSQL DB (MongoDB, Redis etc.), AWS, and CDN cloud services; MuleSoft; • AWS or Azure. • Salesforce APEX based Solution Design, Development, and Programming • Familiarity with DevOps tools (e.g., Docker, Kubernetes and Helm); and • Familiarity with various UI frameworks such as Angular, React, Ember, and Bootstrap • Familarity with programming languages like Kotlin, Python, etc. • Strong written and oral communication skills, including the ability to present ideas and suggestions clearly and effectively. Principal Software Engineer duties: • Understand the internal customers' needs and provide comprehensive solutions. • Develop coding standards and provide guidance to Software Developers. • Participate in cross-functional team communication and knowledge sharing activities. • Work on highly complex projects with minimal guidance from Managers and assume responsibility for the success of the projects. • Serve as technical lead on large projects and coordinate all development activities. • Develop business relationships and integrate activities with other internal IT employees to ensure successful implementation and support of projects. • Create the technical designs for custom solutions to meet business requirements.