At the Heart of Our Success
CSi owes its success to the sharp and resourceful people who make up our teams. We thrive with adaptable employees who are willing to take responsibility and make decisions. If this sounds like you—and you are ready to stand out as a visible part of an integrated team—we encourage you to explore career opportunities with CSi.
CSi is a growing company. We recently doubled our floor size and we’re ready to knock down another wall to keep expanding as necessary. Our floor plan is open to support the collaborative work style that has helped propel us to the forefront of our industry. Being part of CSi means being ready to push boundaries and establish new standards.
The environment at CSi is fast-paced and our teams are hard-driving, but we never forget that family comes first. Our teams are made up of diverse individuals with diverse interests: the fact that they lead interesting lives outside of CSi makes them stronger contributors to our teams.
This is an opportunity to join an exciting, market-leading software development team. CSi has a large base of internal and partner platform components ensuring a dynamic, never dull development environment. We utilize automated build and testing environments and encourage an “out of the box” approach to software development methodologies. CSi itself is a well-established, stable, and dominant business partner serving the U.S. Financial Institution market. We are currently looking for two talented Engineers.
- Utilize software development tools and third party systems within CSI’s development environment and product architecture to create and support high quality market leading software using methods and methodologies that are suitable for the goal in a predictable manner.
- Design, develop and deploy both internal and partner facing software platforms and applications to create and support high quality market leading software using methods and methodologies that are suitable for the goal in a predictable manner.
ESSENTIAL FUNCTIONS AND BASIC DUTIES
Essential duties and responsibilities include the following. Other duties may be assigned.
- Understand the programming languages, software development frameworks and IDE’s and demonstrate proficiency in their proper and effective use to create and support high quality industry leading software within CSI’s development environment and product architecture.
- Demonstrate ability to design, develop and support OO software features, desktop applications, and web based applications and full installation package including technical documentation and associated unit tests.
- Demonstrate ability to develop and review functional specifications that include a feature or complete application and set of user interface interactions or work flows.
- Demonstrate ability to proactively define and deliver the set of tasks and associated milestones for an assigned project and manage the planning, risk identification and mitigation, proactive reporting and updates.
- Demonstrate ability to profile the performance of a feature or algorithm and make necessary improvements including updates to unit tests.
- Demonstrate ability to understand a business problem and conduct research to find an optimum and affordable solution, design and implement the solution or algorithm and accompanying unit tests.
- Demonstrate ability to develop software applications that are scalable and designed to be deployed as a web based multi-tenant or single-tenant software service or desktop application.
- Demonstrate understanding and show proficiency in measuring product performance, operational metrics and formulating improvements (document them in the requirements repository) and communicating findings in a concise manner.
- Understand the correct use of Relational Databases, API’s, SDK’s, Source Code and Version Control and Software Deployment Methods. Demonstrate proficiency in interfacing and use of these systems to create and support high quality industry leading software within CSi’s development environment and product architecture.
- Demonstrate ability to develop interfaces with API’s or SDK’s using a functional specification that has already been completed.
- Demonstrate ability to develop functional specifications associated with an interface to an API or SDK.
- Demonstrate ability to conduct API and SDK related specification reviews and code reviews and recommend improvements that are consistent with the overall product and technical architecture.
- Demonstrate ability to interface to a relational database application along with unit tests and documentation using a functional specification that includes a normalized design of the tables.
- Demonstrate proficiency in correctly utilizing and appropriately applying software design, development and testing methodologies within CSi’s SDLC. Show competency to improve CSi’s capability maturity level as defined by the CMMi to create and support market leading solutions.
- Understand and demonstrate ability to deliver a large feature or complete application using TDD.
- Understand and demonstrate ability to deliver software for an assigned CSi application using an agile development methodology or a classic waterfall process as suited to the development and business need in a predictable and repeatable manner.
- Demonstrate ability to pro-actively and clearly define the risks in a given functional specification. A risk constitutes any implementation or solution level unknowns, performance that may not meet requirements, code which needs to be re-used but in an unstable sate and needing re-factoring or R&D that needs to be done to solve any open problems.
- Demonstrate ability to propose options to remove risk or mitigate them in a proactive manner.
- Demonstrate ability to perform software development for each of the steps in the CSi SDLC in a predictable manner that clearly identifies and mitigates technical risk proactively and manages the delivery of milestones in a collaborative and transparent manner.
- Support CSi software products at business partners in production in coordination with product managers, client services, sales and business development.
- Contribute to the partner support process by providing timely response and resolution to partner software issues (within SLA) coming through client services or directly via partners.
- Work closely with the client services team, document development and software teams to coordinate release distribution.
- Successfully support the product by:
- Providing first level of production-support (including second and third level as experience increases) for partner software-product-issues.
- Understanding the context of product issues in the field to determine and implement appropriate resolution.
- Responding quickly and professionally to all correspondence from both internal and external stakeholders.
- Ensure that all communications address understanding of the issue; what the resolution is; how the decision will or will not impact the product; and any applicable time frames.
- Understand and demonstrate proficiency in the proper design, implementation and support of the data, business logic and user interface architecture models that meet the market and technical requirements and specifications.
- Demonstrate ability to provide high level consultative guidance based on architectural best practices, design principles and design patterns.
- Demonstrate ability to design, implement and test platforms and applications that may have an associated canonical transactional data model and a persistent data model that are based on a single partner (compared to multiple partners) meeting specified market requirements.
- Understand and demonstrate proficiency in the proper architectural design, implementation and support of relational database systems, frameworks for user interfaces and deployment models based on specified market requirements.
- Demonstrate ability to design, implement and support relational database systems across assigned CSi product platforms taking advantage of collapsing the needs of different applications into a single schema as seen fit.
- Demonstrate ability to design and implement decoupled modules to increase performance and encapsulate domain specific complexity across assigned CSi product platforms.
- Demonstrate proficiency in the model driven architecture methodology using agile practices for implementation that improves CSi’s capability maturity level as defined by the CMMi. Demonstrate ability to strategize and execute a technical road map.
Bachelors Degree. An advanced degree in Computer Science is preferred.
- Software development practices, processes and methodologies
- Web based applications, client/server and nTier applications, and desktop applications
- .NET Visual Studio IDE and framework stack
- Expert knowledge and experience in OO analysis and design and design patterns
At least 10 years of progressive experience in in software development
- Strong software engineering and product development skills
- Excellent communication skills both written and verbal
- Superior cross functional collaboration skills
- Understanding of current technology trends and how they might influence product direction
- Ability to work as part of integrated teams
- Ability to multi-task and prioritize work effectively
- Ability to develop long term close working relationships based on trust and mutual respect
- Problem solving abilities
- Superior proficiency in Microsoft ® Windows environment, Microsoft ® Office, Internet, Email, general computer environment
Any interested parties are encouraged to forward cover letters and resumes to firstname.lastname@example.org for consideration.
Compliance Systems, Inc. is an equal opportunity employer. We are dedicated to a policy of non-discrimination in employment and therefore recruit and hire individuals based upon demonstrated abilities, achievements and experience, and without regard to religion, race, color, national origin, age, sex, height, weight, disability, marital status or any other protected class or characteristic protected by federal, state or local laws.