Overview
Senior Developers/Software Architects are responsible for implementing substantial new product functionality (i.e., major subsystems and components), as well as maintaining existing products and solving complex problems. They are expected to work effectively with limited daily management oversight.
They should be very experienced in interpreting functional requirements and creating detailed functional designs, and driving quality into the design and implementation process. They should have a thorough knowledge of the full software development life cycle (SDLC), and be able to consistently produce high-quality software.
Responsibilities
Implement substantial new functionality (i.e., major subsystems), as well as maintaining existing products and solving complex problems.
Drive quality into the design and implementation process.
Very experienced in interpreting functional requirements and creating detailed functional designs.
Very experienced in the entire Software Development Life Cycle (SDLC).
Able to consistently produce high-quality software.
Demonstrated ability to work in a fast-paced, high-pressure, entrepreneurial environment.
Interact with clients on an occasional basis to obtain technical details regarding problems or new development.
Interact with other departments (e.g., product marketing, support) to hone product requirements.
Experience
Prior experience and specialized or technical knowledge (a must):
Minimum 5+ years’ experience, with at least 2-to-4 years hands-on experience working in the .NET environment including experience with C#.NET, ASP.NET, XML and SQL in a SQL Server environment, and thorough understanding of object oriented programming.
Experience writing complex algorithms, sophisticated programming techniques (e.g. multi-threading, web services) is required.
Thorough understanding of web-based technologies, including IIS, Windows Communication Foundation (WCF) and HTML.
Thorough understanding of the requirements for developing components as part of a competitive, general-purpose software offering and the architectural implications for accomplishing that.
Solid experience with appropriate tools such as Visual Studio and Team Foundation Server (TFS).
Ability to communicate effectively, in English, both verbally and in writing.
Specialized or technical knowledge preferred (“nice to haves”):
Experience in a software company that implemented and sold software products in a competitive marketplace.
Experience working in a scrum methodology/environment preferred
Experience with Notes and/or Outlook email systems, with an understanding of the backend servers (i.e., Domino and/or Exchange, Active Directory), a big plus.
Knowledge of MAPI, PowerShell, and/or Silverlight, also a big plus
Education
Degreed professional in Computer Science or related discipline.
Compensation
Competitive base salary plus annual bonus that is paid 2x/year, along with benefits