Principal Software Engineer

Contract W2, Contract Independent, 6+ mos
Work from home not available Travel not required

Job Description

Job Title: Sr. Principal Software Engineer
Duration: 6+ months; W2 only

Candidate can be located in the following locations - Must work on-site at the office
Austin, TX - preferred
Phoenix, AZ - preferred
Santa Clara, CA

Job Summary:
The individual will be responsible for providing hands on technical consultation, technical systems implementations, and customer technical support. Serves as a subject matter expert and may work as an individual or as part of a team to implement solutions that solve customers' business problems. Requires an ability to adapt existing methods and procedures to create possible alternative solutions to moderately complex problems. Understands the strategic direction set by management as it relates to team goals. Uses considerable judgment to determine solution and seeks guidance on complex problems. Requires participation in the design, development and implementation efforts of complex systems integration projects, to include installation and configuration of CPE network management systems.

Top Required Skills:
  • Minimum of 5 years Java/Spring Application Development programming experience in a development capacity is required.
  • Minimum 5 years of experience in using interpreted languages: Python/Jython and Groovy is preferable.
  • Strong understanding and hands-on experience with Enterprise Systems architecture.
Primary Duties:
  • Implement customized applications and extension components of Professional Services solutions.
  • Design and develop custom solution while acting as a team lead in an Agile environment.
  • Implement and develop Web Services APIs (e.g. SOAP, REST).
  • Unit testing (TDD) software and development modifications.
  • Conducts solution walkthroughs aimed at educating customer and internal teams with respect to a customer's solution design.
  • Assists with all other Professional Services activities such as but not limited to environment setup, software packaging and validation.
  • Troubleshooting problems and provides root cause analysis including technical interdependencies.
  • Provides technical resolutions written or verbal for identified issues at a cross-functional level.
  • Support for Systems Engineers and QA Engineers in pre-production and production environments.
  • Managing build process with continuous integration and continuous deployment.
  • Performs other duties, as assigned.
  • Requires the ability to build complex solutions, work with customers on defining requirements, and be able to create or significantly contribute to requirements documents.
  • Requires the ability to determine level of effort concerning work items and must be comfortable delivering to timelines using documented delivery processes.
  • Understanding on WAN management protocol such as CWMP, XMPP, SNMP is a plus.
  • Strong understanding and hands-on experience with Enterprise Systems architecture.
  • Strong understanding on Microservice architecture and deployment strategies is a must.
  • Strong troubleshooting on all aspect of applications not only limited to front end and server-side design.
  • Strong understanding of full-stack development and deployment.
  • Complete understanding and experience in using continuous integration, delivery, and deployment.
  • Strong understanding of DevOps and CI/CD principles and roles in an Agile-based software life cycle
  • Experience with developing automation for integration, functional, and performance tests with a framework to be used in a CI/CD pipeline
  • Experience developing on/with relational databases, graph databases, key-value stores and time-series databases.
  • Normally receives little instruction on day-to-day work, general instructions on new assignments.
  • Works on problems of diverse scope where analysis of data requires evaluation of identifiable factors.
  • Demonstrates good judgment in selecting methods and techniques for obtaining solutions.
  • Requires excellent verbal and professional presentation skills.
  • Minimum of 10 years of polyglot programming experience (projects utilizing many different programming languages concurrently)
  • Minimum 2 years of Javascript experience on front end and back end. Front-end frameworks using React or Angular is a plus. Back-end implementation experience with Nashorn and Node.js is a plus.
  • Strong understanding and hands-on experience with XML, JSON, WSDL, XSD, and SOAP based protocols and specifications is required.
  • Minimum 2 years of experience developing and designing REST interfaces that implement HATEAOS
  • Experience in Richardson Maturity Model for REST APIs is an added advantage.
  • Strong experience with Java Servlet Specification (eg. J2EE, Tomcat), and microservice based application containers (Dropwizard, Jetty, Embedded Tomcat)
  • Strong experience with developing custom application protocols on HTTP/1.1 and HTTP/1.2; HTTP/2 experience is a plus
  • Experience in using and configuring Nginx and HAProxy for SSL termination and Load Balancing
  • Experience in messaging frameworks using JMS and AMQP is required. Experience with gRPC is a plus
  • Experience with Redis for pub-sub messaging and as use as a key-value store for caching
  • Experience in setup and configuration of ActiveMQ and RabbitMQ.
  • Experience in Reactive and Event-Driven Programming in the JVM using Reactor or RxJava; reactive frameworks in other languages is a plus
  • Strong Experience in Spring Framework for Java is required
  • Strong experience in using Spring Boot and Dropwizard to implement Microservices for Processing and APIs
  • Experience in using a key value store such as Cassandra is required
  • Experience in using a SQL Database in the JVM is required; Postgres and Oracle are preferred.
  • Experience in using ElasticSearch for logging, metrics gathering and monitoring, and for data retrieval.
  • Experience in Data Processing and Event pipelines involving Spark, Kakfa, etc. is a plus
  • Strong experience with Linux Server Administration.
  • Experience in use of Docker to run, test, and deploy microservices is a plus.
  • Experience with AWS Deployments and Pricing is a plus
  • Experience with AWS Service Offerings to match on-prem software is a plus
  • Experience in using VMWare and Openstack to deploy VMs is a plus
  • Experience in using Kubernetes to manage microservice deployments is a plus
  • Experience with Consul or other service discovery frameworks is a plus
  • Experience building Docker images via Dockerfiles is a plus
  • Strong experience in building JVM based languages in Maven and Gradle
  • Strong experience in codifying build and deployment process for CI/CD pipelines in Groovy via Jenkins (Jenkinsfile)
  • Strong experience in creating unit tests with Maven/Surefire and JUNIT.
  • Experience in creating automated BDD tests with Cucumber is a plus
  • Experience in creating performance tests with Apache Jmeter is a plus
  • Experience with Agile Development (e.g. sprints, scrum) methodology is a plus.
  • Broadband Forum Standards (TR-069, TR-098, TR-181) is a plus.
  • BS or equivalent in relevant engineering field is required
  • Overall 10+ years of Professional experience
About Everest Consultants, Inc.
Everest Consultants is a technology services firm that offers integrated solutions which include both technology staffing and project services. With industry-specific knowledge, technology expertise and excellent delivery capabilities, Everest Consultants serves a range of companies from startups to established companies alike across the country.

Everest Consultants is an equal opportunity employer and does not discriminate on the basis of race, color, religion, sex, national origin, age, disability, or any other characteristic protected by applicable local, state or federal civil right laws.
Dice Id : everest
Position Id : 19-00240
Originally Posted : 3 months ago
Have a Job? Post it