Skip to content

Developer

Role

A Tiger Sheep Developer creates, modifies, and maintains projects and databases across many Tiger Sheep clients, and in several distinct environments. A Developer must complete their projects on time, transparently.

Responsibilities

  • Ensure the completion of projects assigned on-time and in budget
  • Communicate issues and roadblocks effectively so that the project may be altered or the issues solved
  • Maintain competency with company and industry code standards
  • Maintain competency with SAP database structure, common SAP usage, and Automat
  • Work with other developers to spread project load or maintain existing solutions
  • Create and update project and code documentation
  • Innovate on existing processes and concepts when it is wise to do so
  • Effectively communicate with the client when needed

Description

A Tiger Sheep Developer is a technical position that is expected to take on and complete projects that solve client and internal needs. Projects are generally web development in React, and may include creation and manipulation of database tables and data. Rarely, projects may require some PHP. Being comfortable with XML, JSON, promises, websockets, git (via BitBucket), and UX is a must.

A Developer must be transparent in their work, and bring up any problems before they impact the project's viability. Communication internally and, as needed, with the client or other external entities will need to be honest, cohesive, frequent, and polite.

Mastery of internal tools, which are the backbone of our projects, is a necessity. Developers must not only know their language domain, but endeavor to learn how SAP works, why our clients use it, and why they inevitably seek out our assistance in changing and extending it.

Developers must maintain a coherent git repo for each of their projects, with appropriate documentation that would allow future developers to continue their effort.

How to be successful

  • Master Automat and as much of SAP as you can. Particularly the database backend, but also some knowledge of how the client uses the frontend. No project will be without at least one of these facets of our work, and the success of the project may hinge on your knowledge of it. Maintaining a fluency with our processes also aids in client communication.
  • Write simple, clean, maintainable code. This is self-explanatory, and a cornerstone of cooperative coding. Project or task responsibility may shift, and no one wants to inherit bad code.
  • Self-document your projects and responsibilities. Similarly, when your project is passed to someone else, or you are not around to troubleshoot, or you just haven't thought about the project in a long time, your documentation should stand in your place. Good documentation can mean the difference between a week of troubleshooting around already-known issues, and a few minutes of reading followed by a quick fix.
  • Discover, advocate, and prototype new technologies in your domain. We are a small company, and while we generally prefer simpler code with less dependencies, we must also innovate where we can. If something comes up that you believe will benefit the company, bring it up, advocate it, prototype it.
  • Maintain positive client and coworker relations. Part of your job may involve interacting with clients, and it is important that we all work together well and keep up a positive atmosphere, even when things go wrong. No matter what's happening or how the client is behaving, we must remain the stable and neutral party.

Common Tasks

  • Break larger tasks into smaller tasks suitable for your available time.
  • Manage priorities to accomplish more important work sooner.
  • Generate reusable components, functions, and structures.
  • Document project history, critical decisions that inform the way your code came to be, and other important information.
  • Communicate changes and deployments to clients.
  • Track billable hours by project and task.
  • Work with other developers to spread workload and assist in larger projects as needed.

Requirements

  • At least two years working with Javascript, PHP, React, and related web technologies
  • At least two years working with SQL, preferrably MS SQL/T-SQL, or other related database technologies
  • A demonstrated ability to concieve, produce, and finish complex projects

Desired Requirements

  • At least two years of experience using React
  • Familiarity with BlueprintJS components
  • Familiarity with Websockets and FTP protocol
  • Familiarity with CSS and/or SASS
  • Familiarity with SAP Business One
  • Familiarity with C#