ERP and Application Programmer
5 years full time C# development (Advanced Skill Level)
Agile Point experience preferred, not required
Programmer identifies, creates and builds applications, as required.
ESSENTIAL DUTIES AND RESPONSIBILITIES:
- Maintain a professional demeanor at all times, and epitomize the company’s Core Values
- Build and manage positive and effective working relationships.
- Effectively work with department staff to meet established deadlines and ensure all required work is completed accurately and timely.
- Provide assistance and direction to colleagues and subordinates, as required.
- Recommend operational policies and goals to Company’s management team. Maintain confidentiality, as appropriate.
- Identify ways to make data processing routines user friendly.
- Create, write and build applications as needed.
- Update and expand existing programs as necessary.
- Confirm programs are operational by conducting tests and modifying program code as necessary.
- Maintain professional and technical knowledge in some or all of the following ways: attending educational workshops; reviewing professional publications; establishing personal networks; participating in professional societies; etc.
ESSENTIAL DUTIES AND RESPONSIBILITIES (Continued):
- Exercise safety at all times.
- Fulfill other duties as assigned, adhering to the rules and regulations set forth in the Policy Handbook.
- Contribute to the efforts of the Department at all times.
KNOWLEDGE, SKILLS AND ABILITIES REQUIRED:
BUILDING STRATEGIC INTERNAL/EXTERNAL WORKING RELATIONSHIPS
- Promote, establish and build the value of relationships as a critical success tool by helping others feel valued, and appreciated. Treat all people with dignity, fairness, and respect, and support others’ positions and personal goals openly and appropriately. Align varying business objectives creating opportunities for others and including them in discussions, giving proper credit where due.
- Analyze the programming requests to determine goal, develop strategies to achieve them.
- Formulate clear objectives and evaluate options for addressing new opportunities and challenges. By considering implications and consequences, include the impact on the end user and the Company’s financial position. Explain the value of each action. Choose an effective option.
- Collaborate with co-workers, vendors and management to design and build appropriate and useful programming.
- Facilitate agreement from co-workers, vendors and management to support ideas or take partnership-oriented action.
- Implement decisions and/or initiate action steps within a reasonable time. Monitor results and make adjustments as needed. Delegate effectively and build in accountability to ensure success.
- MS SQL: Security (user, group & role management; sql logins; AD users and groups); database management (create, backup, upgrade and move databases between servers); SQL statement optimization; Stored procedures; functions (scalar & table array); Indexing; Disaster recovery & High Availability
- MS SQL Reporting Services: Reporting instances; security; ,
- IIS: SSL certificate, web services, basic pages
- Programming: Loose vs Strict Coupling
- Active Directory: Using for Authentication & Authorization; LDAP queries and LDAP structures.
- Roles vs People: ability to identify, design and build systems based on roles instead of people.
- WebUI & GUI Development: strong ability to visually layout screens for maximum effect with least amount of mouse clicks. Keyboard as primary input required, Ability to create drag and drop functionality; understanding effect of fonts and color selection of usability; JSON/ AJAX usage to update page component vs full page refresh.
- Robustness: strong error checking, always assume failure, exceptions, input validation
- Web services: Creating (with AD authentication & authorization) and usage of published API’s: Ex: Epicor P21, Clarizen, Agile Point to connect and bridge systems.
- C# Programming: Ability to develop console, Winform and Web based applications. Product readable, commented code. Make use of inheritance, and refactor code as necessary.
- Unit Testing: Strong ability to create and apply unit testing.
- Accurately and carefully follow established procedures for completing work tasks.
- Oversee personal and team job programming processes, tasks, and work products to ensure freedom from errors, omissions, or defects and to ensure high-quality programming output.
- Notify appropriate parties of quality issues, and initiate appropriate actions to correct quality problems.
PLANNING AND ORGANIZING WORK
- Work as a team to identify and suggest more critical and less critical programming ideas and assignments to bring about programming improvements and efficiencies. Seek cooperation and buy-in for these new ideas and assignment requirements from the VP of Information Systems, business partners, and executives.
- Establish S.M.A.R.T. goals in the creation, implementation and delivery of new programming projects. Ensure programming plans are in-line with Company goals, values, allocated timelines, and other deliverables and have measurable results.
- Allocate appropriate amount of time and leverage resources to manage programming and schedules, complete work, and meet deadlines.
- Keep yourself and your team up-to-date on the assignments, milestones and progress of programming projects.
- Apply logical thinking to gather and analyze information, identify trends, design computer programs, test for errors and omissions, find resolutions, and formulate plans, all with the goal of securing profit margin advantages.
- Identify correlations and differentiate from causation.
- Proof and verify work with an acute attention to detail.
DECISION MAKING SKILLS
- Embrace and promote Company programming objectives.
- Possess an attention to detail to recognize programming issues, problems or opportunities, and determine action needed.
- Integrate information from a variety of sources using current trends and best programming practices. Consider relevant options and alternatives to address computer programming problems/opportunities and create successful, useful, easy to use programming outcomes with relevant options.
- Consider all value factors of programming projects – purpose, price, usability, quality, convenience, content, technical support and the delivery methods before choosing an effective option.
- Formulate clear decision criteria to consider implications and consequence of various options, choose effective programming methods, and evaluate programming success.
- Implement decisions regarding application of programming changes or initiate programming actions within a reasonable timeframe. Monitor results and make adjustments to programs as needed.
- Take positive action to resolve the conflict, and prevent escalation. Address the issues, dissipate the conflict, and maintain working relationships.
- Remain focused on resolving the conflict. Review facts, and approach conflict resolution as an opportunity for clarification and/or improvement. Prevent personal issues and personal attacks by establishing a clear and compelling rationale for resolving the conflict.
- Collect information from relevant sources to understand conflicts as they arise. Remain open, and view the conflict from all perspectives.
- Practice attentive and active listening to accurately restate the opinions of others, even when there are disagreements.
- Summarize discussion clearly to ensure that all are aware of agreements and required actions. Document outcomes or implications, as needed.
- Monitor the progress of situations, and keep your team on track.
PHYSICAL REQUIREMENTS/WORKING ENVIRONMENT:
- Ability to work in normal office environment with moderate to high noise levels.
- Ability to clearly communicate in a group setting.
- Ability to sit at a computer work station for intermittent periods of time and use hands for data entry.
- Regular walking, sitting, bending, twisting, standing and reaching.