Software Architect - Chicago

United States > Illinois > Chicago > Jobs in Chicago > Internet Jobs in Chicago > Software Architect 

Software Architect – Chicago

Location: Chicago, Illinois, United States
Date Posted: May 06

Description

Employer: Confidential

Position: Software Architect

Our client is the leading provider of CRM solutions enabling professional services firms and similar relationship-based organizations to create the Relationship Intelligence they need to generate new business and enhance client service.

General Description

Considered to be a technical leader who designs, develops, and maintains enterprise software applications. Has technical and team leadership capabilities. Demonstrates expertise in a variety of software development concepts, practices, and procedures. Relies on extensive experience and judgment to plan and accomplish goals. Performs a variety of complicated tasks. May provide consultation on complex projects. A wide degree of creativity and latitude is expected.

Responsibilities

- Understand requirements and acceptance criteria for each feature. Define technical requirements. Possess deep product and technical knowledge of most components of a software system.
- Provide input into the functional design of software components based on extensive experience and product knowledge across most software components.
- Lead in the technical design of software components, which may span across multiple projects and platforms. Use extensive experience to help translate requirements into technical designs and tasks. Lead the research and development of software component optimization and scalability. Research new software development technologies.
- Lead the project and feature sizing and scoping effort. Identify potential risk factors and dependencies for new features. Provide estimates on assigned tasks. Verify/confirm others' estimates. Assist less experienced engineers in the task estimation process.
- Independently write and oversee the creation and delivery of quality code that is simple, reliable, scalable, interoperable, and reusable. Provide consultation on complex implementations. Drive architecture and foundation-level frameworks. Define architecture standards and help ensure that they are followed.
- Independently develop, execute and oversee the creation and delivery of automated unit/integration tests for the code that is written. May assist QA and Product Management to define acceptance tests. Verify that code written passes acceptance tests. Ensure that unit test standards are being met across platforms. Review code to ensure appropriate level of test coverage.
- Monitor and review check-in of working and tested code into source control and monitor continuous integration. Ensure project teams are appropriately smoke testing each Release Management build.
- Leverage expertise across components and platforms to analyze and fix complex problems. Serve as key resource to other engineers in defect analysis. Document and communicate results appropriately.
- Work and communicate in a cross-functional team environment comprised of software engineers, user experience designers, product managers, quality assurance engineers, technical writers, customer support representatives, etc.
- Proactively provide status, raise issues, and communicate necessary information to your manager and/or appropriate team members on a regular basis via daily stand-up meetings, one-on-one meetings, checkin messages, and/or impromptu occasions. Facilitate and lead technical discussions and/or presentations.
- Document all technical designs and deliverables for communication to development, quality assurance, documentation, and consulting & support teams. Contribute to documentation standards and methodologies.
- Own and enforce coding standards, best practices, and procedures. Lead and participate in implementation and design reviews of other team members to ensure adherence to coding standards and team processes and procedures.
- Continuously review current technical processes and tools and ensure that other software engineers are following these processes. Make recommendations and assist in the implementation of new processes and tools.
- Participate in the recruiting process as needed.
- Provide mentoring and leadership to less experienced engineers. Provide input into performance reviews for other team members.

Experience/Skills

- BS degree in Engineering, Mathematics, Computer Science, Management of Information Systems or equivalent experience
- 12+ years experience as a software engineer (planning, designing, coding, unit testing) developing true OO systems using at least two of the following technologies: .NET architecture (C#, ADO.NET, Windows Forms), Java platform (Servlets, JSP, JDBC), or C++
- Experience in leading the development of complex and large software systems
- Experience with Agile practices a plus (test-driven development, incremental design/refactoring, continuous integration)
- End-to-end software development life cycle (SDLC) experience within a commercial software product company a plus
- Working knowledge of relational database management systems (SQL Server, Oracle), source control systems, and XML/XLST
- Experience with database-driven Web and/or Windows applications and architectures
- Excellent organizational and time management skills with the ability to handle multiple tasks simultaneously
- Proven analytical, planning, problem solving and decision-making skills
- Effective communication, professional and interpersonal skills
- Team player in a demanding environment
- Interest in the challenge, excitement, and responsibility of a fast-paced, growth environment
- Desire and ability to learn and apply new skills and technologies quickly

Employer link

Apply for this job

Pass it on!

Comments

Be the first to comment on this listing!

My OLXMy Classifieds
Sign in or Register