You love to develop software. You also love working with a team of diverse skills, backgrounds, and levels of experience. Complex problems are an enjoyable challenge. You strive for clean, bulletproof, scalable solutions, and appreciate the fact that creating a simple system from a complex set of requirements is a feat to be proud of. You are constantly aware of what you don’t know, and are constantly learning new things to fill the gaps. You are aware that this is an endless cycle of growth and understanding, and revel in it.
You are result driven. You realize that understanding and articulating what is needed is more important than coming up with a complex solution for what is not.
You’ve been developing for a number of years, and understand the full spectrum of application development, deployment, and maintenance. Your ideal day consists of good split between driving requirements, writing code, learning new techniques, and guiding teammates that may be less experienced than you are. You could roll out a bulletproof web application end-to-end if you had to, from infrastructure setup to deployment and monitoring. You have an innate appreciation for continuous integration and test automation. You realize that nearly every solution is data powered, and a good solution wields the right combination of data technologies.
Working as part of an elite development team, and interfacing with everyone from senior business leaders of Fortune 500 companies to entrepreneurs and founders of cutting-edge startups, this role will foster and grow a wide-range of skills ranging from enterprise scale software architecture and delivery, to product management and creative problem solving.
- Work directly with clients to understand their needs, provide solution recommendations, and drive delivery of the solution
- Work closely with product owners to define requirements, drive functional and technical specifications, and collaborate on feature definition
- Develop specifications for technical requirements, use case models, data models, software architecture models, class and program specifications
- Analyze business and functional requirements for distillation into technical specifications that can be delivered with high quality
- Work alongside Solution Architects, Project Directors, other Developers, and Quality Assurance during project inception, development, launch and beyond, across one or more projects.
- Participate in project planning and estimation activities during all phases of the project lifecycle
- Maintain a working knowledge of operating systems, development environments, frontend and backend programming languages, and data architecture.
- Collaborate on best practices and toolsets to improve execution and process delivery.
- Educate new and existing team members on project specifics, various technologies, approaches, and architectures.
- Bachelor's degree or equivalent experience preferred
- 6+ years practical development experience
- Strong practical experience running initiatives utilizing modern development methodologies such as SCRUM, Agile, Extreme
- Deep expertise with HTML5 and CSS through pre-processors such as LESS, SASS, etc.
- Good comprehension for supporting Cross-Browser Development
- Strong experience with Responsive Design
- Strong experience building service oriented backends with Node.js, and frameworks such as Express and Hapi.
- Strong experience designing and building RESTful web services
- Deep expertise with Angular (preferred) and/or React
- Experience with build tools: Grunt, Gulp, NPM, Bower, Webpack
- Advanced knowledge of Web standards, semantics, and advanced concepts (asynchronous development, repeatable patterns, modularity)
Fundamental understanding of SQL and exposure to relational and non-relational database platforms such as MySQL, PostgreSQL, Cassandra, MongoDB, Redis
- Experience with Cloud or On-Premise hosting solutions such as AWS, Rackspace
- Experience with UNIX/LINUX server operating systems
- Experience and appreciation for test automation and continuous integration.
- Experience delivering projects that leverage enterprise grade development technologies and frameworks
- Good understanding of Quality Assurance standards and best practices
- Good experience writing system and user specifications/documentation
- Excellent analytical, communication, and interpersonal skills
- Ability to clear roadblocks and meet time sensitive deadlines
- A motivator with an optimistic yet realistic "can do" attitude
- Ability to travel on occasion based on client needs (5-10%)