You are a passionate developer looking to join a strong team. You're a proud problem solver with a strong technical "gut feel" with hunches - more often right than wrong - about where problems lie. A constant learner, you're a continuous contributor to the team IQ level. You've got the ability to take on an individual assignment and complete it soup to nuts. As much as you love the elegance and power of good architecture, your number one focus is delivering software to do the job and you pride yourself on doing that well.
What you'll be doing:
Our Senior Software Developer will be responsible for the following software feature activities:
- Shared responsibility in the Design and Architecture of a feature
- Ensure that the proper plumbing is in place for the given feature
- Analyze complexity
- Implementation (i.e coding) of the feature in a mostly vertical fashion (i.e UI, Business Layer, Database Access and Schema Design, External Interfaces)
- Fully understands and follows the companys Software Development Processes (i.e SCRUM)
- Ensures quality of implementation and support the feature during testing/bug fixing phase
- Authors required documentation (in code or WIKI)
- Keeps all assigned cases up to date and updates statuses as required
- Tackle hard engineering problems with many unknowns, fail fast, find how to get the job done
- Are self-sufficient and expected to tackle an entire feature. Ability to overcome difficulties with little or no help is required
- Must be able to identify any gaps in application platform, propose and implement solutions
- Are key contributors to feature scoping and development estimates. Their projections have a high (90%+) degree of accuracy. They rarely, if ever, miss the due date
- Are proactive about developer testing. They frequently utilize unit tests to ensure long term health of their code
- Are able to code across all levels with ease. Their code is well structured and displays best practices in software development
- Have drastically less bugs in their code. They are quick to fix issues that come up
- Ensure overall quality of the software (quality of code, performance, security, extensibility, etc.)
- Use engineering know-how and common sense to assess impact of their work on the platform
- Are able to interface and communicate effectively with people in other departments