Skip to content

Instantly share code, notes, and snippets.

@henderjon
Last active December 12, 2018 15:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save henderjon/531c7ed0328f9dd4d1bfa06081fa85dc to your computer and use it in GitHub Desktop.
Save henderjon/531c7ed0328f9dd4d1bfa06081fa85dc to your computer and use it in GitHub Desktop.
A generic senior developer job description

Senior Developer

Job Function

  • Analyzes product requirements and procedures to create, maintain, and enhance existing products. Performing the listed duties within a coordinated development team.
  • Openly contributes and collaborates, honestly and collegially, with the existing team and its members.
  • Exercises clear decision-making and independent discretion in matters of significance.

Core Competencies

This position will be expected to demonstrate performance in a manner that is consistent with BIG COMPANY Core Competencies including: Building Key Relationships, Adaptability, Communication, Creativity and Innovation, Accountability for Results, Effective Decision Making, and Continuous Learning.

Essential Functions & Responsibilities

  • Works within the development team in a continuous agile development process to define, develop, implement, and test code for a range of product development needs
  • Works with the development team to insure that shared methodologies are adhered to when performing assigned duties
  • Responsible for determining, designing, and implementing program logic and data persistence ensuring that new applications and enhancements to existing applications are compatible with existing methodologies
  • Write code for applications using any number of methodologies (e.g. OOP, Procedural, etc.) using any number of technologies (e.g. PHP, MySQL, Go, etc.)
  • Write unit tests for applications and perform manual testing in a test environment to confirm applications meet the appropriate requirements and specifications
  • Recommend optimizations where applicable
  • Write and maintain documentation of applicable development efforts
  • All other duties as assigned or requested

Job Specification

Degree of Education

  • A completed post-secondary degree

Specific Knowledge, Skills and Abilities Required

Advanced knowledge of

  • PHP, MySQL, JavaScript, AJAX, JSON, and a willingness to learn new technologies
  • HTML(5) and CSS(3) for both desktop and mobile environments
  • OOP and Procedural methodologies
  • source control management systems (e.g. Git, SVN, Mercurial)
  • basic programming patterns (including but not limited to: MVC, Data Mapper, Dependency Injection/Inversion of Control)

Strong knowledge of

  • application environmental setup and replication (e.g. LAMP Stack and variants)
  • database design and relationships
  • MySQL or other database(s) including creating tables and writing complex queries
  • designing and developing application-wide infrastructure (e.g. integrating new feature sets)
  • designing, developing, and maintaining complex integrations utilizing numerous technologies within one application (e.g. Programming Language + Database + Cache + Job Queue + etc.)

Knowledge of

  • Git related work flows (e.g. Git Flow) and tools (e.g. Github)
  • agile/scrum/kanban
  • front-end frameworks for JavaScript (e.g. Require.js, Backbone, NPM, Grunt, etc.) and CSS (e.g. LESS, SASS, Compass)

Familiarity with

  • Markdown
  • OS & Language dependency management systems (e.g. Yum, Apt, Composer, PIP, Gem, etc.)
  • job queuing systems (e.g. Gearman, RabbitMQ, etc.)
  • data caching systems (e.g. Redis, Memcached, etc.)
  • documenting and presenting work within a small/medium group context

Experience with

  • developing for and deploying to cloud based environments (e.g. AWS -- not shared hosting)
  • developing for sites with above average traffic (>=5000 users/min.)
  • writing technical documentation
  • working in a terminal (Command Line Interface) on Linux, Unix, or MacOS

Able to

  • recognize inefficiencies, propose optimizations, and take initiative in communicating recommendations
  • communicate effectively, efficiently, and collegially with members of the team about their work and the work of the team (including but not limited to clear and concise documentation and recommendations)
  • prioritize and self-manage to successfully complete large and small tasks according to requirements within an established schedule
  • work with less-than-ideal guidance and with changing priorities
  • provide guidance to team members and supervisors
  • provide constructive feedback to the other team members
  • write clear technical specifications for either existing features (descriptive) or new features (prescriptive)
  • work in a terminal (Command Line Interface) on Linux, Unix, or MacOS
  • take initiative to cast and articulate a vision for incorporating new technology, new directions, or alternate solutions into current and new applications and is able to prototype those visions

Additional Skills

  • possesses sound analytical problem-solving skills with attention to detail and an eye to critical thinking
  • demonstrates commitment to the job and mission of the company

Desirable Knowledge, Skills and Abilities

Experience with

  • developing for Software as a Service (SaaS) based applications
  • non-relational databases
  • programming languages other than those previously mentioned including compiled languages (e.g. C, C++, Go, etc.)

Physical Demands

The physical demands described here are representative of those that must be met by an employee to successfully perform the essential functions of this job. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.

  • Employee is frequently required to use hands to finger, handle, or feel objects, tools, or controls;
  • Reach with hands or arms;
  • Talk or hear;
  • Occasionally required to stand, walk, and sit.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment