Description
The Senior Consulting Software Engineer works with the customer, project manager and analyst to design, construct, integrate, test and deploy enterprise-level applications. This individual may be called upon to perform analysis tasks based on project needs and staffing.
The typical tasks for the Senior Consulting Software Engineer include applying architectural tenants to projects, creating OO-design artifacts (e.g. class diagrams, sequence diagrams), creating prototypical applications as proof-of-concepts, creating software solutions using industry standard tools and languages, integrating partner and other vendors’ products, assisting QA to assure stability of the solution, mentoring junior team members and working with the client to deploy the solution.
The individual should be well versed in OO design, including the use of UML. He or she should also be fluent in Java and willing to pursue other languages, such as C++, C#, or VB.NET. Experience with multiple platforms, such as Microsoft Windows, Solaris, and Linux, is preferred.
It is expected that the individual will also have expertise with a diverse set of complementary technologies, and will continue to pursue such knowledge. Technologies such as SQL and RDBMS, Web Services, Message Queues, XML, Networking, Business Rule Engines, Workflow environments, Document Management Systems and Web Application Servers constitute the infrastructure on which we design, build and deploy solutions. The Senior Consulting Software Engineer must understand the uses and operation of these technologies. He or she must also have intimate knowledge around a subset of these technologies, including configuration, integration and operation of several. Further, the individual is expected to have thorough experience with SDLC frameworks, Design and Build Tools as well as Automated Testing Tools.
The Senior Consulting Software Engineer will typically spend 30% of his of her time providing guidance to more junior consulting software engineers and the balance in a hands-on delivery role; designing, building and testing software-based solutions.
This position will involve up to 80% travel.
Specific Activities for the Senior Consulting Software Engr
- Understand client needs from both a functional and technical perspective
- Work with clients to define, analyze and engineer sound IT-based solutions for their unique business processes and rules
- Given the client's business and technology environments, document the detailed technical specifications based upon the documented functional requirements
- Design, code and test proprietary solutions for unique business or systems requirements, such as an integration tier in front of a legacy system
- Code and configure automated business processes and rules using specialized software, such as rules or workflow engines, or by developing custom applications
- Lead the testing of solutions, at unit, integration and system levels. This includes specialized testing such as performance and fail-over
- Integrate software solutions into a production environment
- Mentor less experienced designers and developers, applying best practices and assuring quality delivery
- Train the client on utilization of new processes, tools and solutions
Skills and experience required
- Strong OO design background including UML and design patterns
- Deep understanding of SDLC, covering various waterfall and agile frameworks
- 8 years of Java design and programming experience (J2SE, JDBC, Swing)
- 6 year of Java EE design and programming experience (Servlets, JSPs, EJB, JMS)
- Broad hands-on experience with traditional web standards such as HTTP, HTML, XHTML, JavaScript, Cascading Style Sheets and AJAX
- Knowledgeable with multiple Java frameworks such as Spring, Struts, JSF and Hibernate
- BS degree in Information Technology or related field
- Excellent interpersonal and written & oral communication skills
- Strong analytical and problem solving skills
- Has utilized various design and development tools, such as MagicDraw, Ant, and Eclipse
- XML/XSL/XSLT experience
- Web Services, including hands-on work with SOAP and UDDI
- Experience with different testing types and able to articulate value of each
- 5 years of experience with Java application servers, including significant debugging of deployment and operational issues
- Experience with “JAX Pack” (JAX-RPC, JAXB, …) and a solid understanding of object serialization, XML marshaling/unmarshaling, and similar interoperability approaches
- System integration experience, such as using messaging services and middleware
- Versed in complementary technologies, such as SQL, Networking, and SCCS
- Able to participate as an individual contributor on large and small development projects
- Capable of working independently
- Able to work within tight schedules and budgets
Skills and experience preferred
- 7-10 years of design and development experience on platforms such as Solaris, Windows, C++, DBMS (i.e. Oracle, Sybase, or MS SQL), MQ Series, and similar
- Experience carrying out analysis tasks, such as gathering user requirements, running requirements sessions, and developing process maps and use cases
- Experience with portal products and architectures
- Experience with SSO environments and operation
- LDAP implementation experience
- Experienced, comfortable, and conversant with the offshore development model, including rewards and challenges
- MS in Computer Science
- Oracle (Sun) Java Certified
- 2-5 years consulting experience, preferably in Healthcare, CRM, or Financial Services
- Prior experience with BRMS packages such as PegaRULES, JRules, JBoss BRMS or Blaze
- Has experienced project failures and learned from them