Software Engineer II (CRM)
C2H or Direct Hire – Job located in Cypress, Ca.
Under the direction of the CRM Product Manager, the Software Engineer II will implement CRM to Reliance business users throughout the organization as well as champion ongoing releases of new and improved capabilities. The Software Engineer II adheres to and supports the RTS project and software development lifecycle methodologies. In addition, the Software Engineer II raises the technical competency of the team by educating fellow team members on both new and existing technology, and sets future technical direction by identifying, evaluating, and implementing appropriate technology and tools.
Deploy and Configure Microsoft Dynamics CRM on-premises to manage the client’s business process
· Customizing built-in entities
· Building Dynamics add-ins using .NET
· Creating and customizing Dynamics forms
· Creating and maintaining Dynamics business processes and workflows
· Develop data conversion and testing strategies
· Develop/maintain SSRS reports
· Work with project management team to develop overall scope and work plan for implementing requirements
Integrate with back-end ERP applications
· Maintain/implement integration processes to update CRM with backend data from multiple ERP systems.
Responsible for technical integration web services
Advise team on CRM best practices, standards, governance, and information management.
· Provide technical expertise in identifying, evaluating, and developing effective and efficient solutions that meet business requirements.
· Collaborate with analyst in documenting and capturing software requirements in the form user stories, process models and use cases.
· Develop design artifacts, allocates work to developers. Collaborate with System Analysts to comprehend requirements, evaluate alternatives, and establish timelines. Collaborate with DBAs and SAs to design solutions.
· Provide software process management and control throughout the coding portion of the software development process. Use sound software engineering principles to ensure that developed code is modifiable, efficient, reliable, understandable, and fault tolerant. Design software tools and subsystems to support software reuse and software development. Analyze and interprets complex system requirements.
Technical Design – Able to identify, analyze, specify, design, and translate functional design to technical design.
- Create and document technical design for medium to high complexity solutions that may include integrations with external systems
- Participate in peer design review
- Design systems that span multiple technologies/platforms
- Design standards across all applications
- Design solutions to meet performance requirements and scalability expectations
Application Development – Able to write, test, debug, and maintain applications for end-user adoption, productivity improvement and efficiency.
- Produce high quality source code for medium to high complexity solutions
- Modify and enhance medium to high complexity programs
- Apply one or more programming languages to produce high quality source code
- Develop knowledge of the company's applications
- Participate in peer code reviews
- Troubleshoot and resolve technical issues
- Collaborate with cross functional teams to identify and solve software defects
- Anticipate risks and implement contingency plans to resolve issues impacting applications
- Design operational support systems like monitoring, reporting, fail over, error handling, etc.
- Proactively enhance systems for stability, efficiency, scalability and robustness
- Research, analyze and identify program code to resolve medium to high complexity problems
Unit Testing and Validation - Ensures developed code meets the technical and functional specifications.
- Develop and document effective unit test cases to test solution and validate results are as expected
- Modify code if unit test fails
- Ensure the application operates according to functional and technical specifications
· Develop reusable unit test case suite
SUPPLEMENTAL DUTIES & RESPONSIBILITIES
- Pursues training and development opportunities; Strives to continuously build knowledge and skills
- Assist personnel in other RTS departments to resolve technical and/or application issues
- Other duties as requested
- Participate in gap-fit analysis
· Occasionally may require an adjusted work schedule - evening/weekend hours in order to meet project deadlines or to access the computer system to support 2nd/3rd shift users
REQUIRED & PREFERRED QUALIFICATIONS
- Bachelor’s degree in computer science, management of information science, or related field required
- Scribe integration experience is a plus.
- Experience in using Microsoft Message Queuing (MSMQ) for Scribe integration is a plus
- Professional experience working with SSRS would be preferred, especially development for Dynamics CRM.
- Experience in application integration using SSIS preferred.