A consolidated senior dev job rec. (AKA development goals for a junior dev)._
- BDD & TDD proficient with test frameworks such as RSpec, Capybara
- strong knowledge of MySQL, Postgres or other RDMS
- read and write data with direct SQL queries
- RESTful API design experience
- well-versed in MVC frameworks
- queueing / caching (Redis, Resque) and other tools (ElasticSearch / Solr / )
- building components that can scale to millions of users
- experience with cloud technologies such as Amazon Web Services or Google Cloud
- experience with service oriented architecture
- understand JS promises and modules
- client-side MVC framework experience (angular, etc)
- toolkits (jquery, SASS/SCSS)
- insert messaging into the DOM
- strong HTML and CSS experience in cross-browser / cross-platform environments
- CSS transitions and tools for precompilation
- experience with RESTful Web Services, AJAX, JSON, and XML tools
- practice graceful degradation (for older browsers, back to IE8)
- responsive design, best SEO practices, accessability and rich, interactive content
- experience turning comps and wireframes into code
- know the guidelines and limitations of HTML emails/newsletters
- js testing - mocha, jade, jasmine
- understand how ES6 impacts javascript
- Strong software engineering fundamentals (expand!)
- solid debugging and troubleshooting skills
- regular expressions
- use of Agile project tools such as Rally or Pivotal Tracker
- ability to own projects end-to-end as demonstrated by significant open-source contributions, independent projects or startups
- Provides technical leadership, guidance and mentoring for team members
- Can acts as a single point of contact for daily communication for technical aspects of the team’s product delivery
- Initiates and coordinates reviews with architecture and infrastructure when necessary
- Works with the product owner to ensure that architectural non-functional requirements in user stories are articulated and met
- Ensures that proper development documentation is being produced when appropriate
- working knowledge of Unix/Linux
- knowing things like tail, cron, fortune, and cowsay are very important.
- server configuration, replication and management tools (puppet, chef, docker).
- understand the hosting environment (Linux, Apache, MySQL, Phusion Passenger).
- familiarity with Capistrano, Git, GitHub, NewRelic
- expert knowledge of software design and architecture principles
- expert knowledge in object-oriented programming design and development
- data structures
- knowledge of network and software security
- Golang
- Clojure
- Node.js
- MongoDB
- Scala
- iOS / Android
- CoffeeScript