DealerSocket | Product Development | Irving, TX
Software Architects set the architectural direction for our department. They are responsible for software engineering activities as a member of a SCRUM team. They are expected to adopt and maintain best practices for software engineering while implementing solutions to engineering projects using cutting edge technologies. They also mentor junior engineers in those best practices through example, guidance and training.
Essential Job Duties:
- Solve complex software engineering tasks.
- Troubleshoot and solve code level problems quickly and efficiently.
- Create automated unit and integration tests.
- Establish and Follow established coding standards and practices.
- Collaborate with members of an architecture SCRUM team to ensure success (Product Owners, Engineers, QA, Designer).
- Participate in all SCRUM related events such as Sprint Planning, Retrospectives and Backlog Grooming.
- Communicate effectively with team members, internal and external customers.
- Stay current with industry standard tools and technologies.
- Facilitate the decomposition of business requirements into Use Cases and Acceptance Criteria.
- Perform risk analysis on each work item completed by a SCRUM Team.
- Coordinate and participate in risk-based regression testing for a SCRUM Team.
- Participate in Deployment Testing exercises as needed.
- Comfortable working with no supervision and providing supervision to other engineers.
- Mentor and train other Software Engineers.
- May be asked to serve as Scrum Master Participate in Quarterly Architecture Summits.
- Take the lead on challenging software engineering projects.
- Provide architectural expertise for the implementation of key initiatives under the direction of a Director of Engineering.
- Establish architectural direction.
- Participate in architecture backlog reviews
- Master’s Degree in Computer Science or equivalent experience and knowledge
- 10+ Years Software Engineering
- Providing architectural recommendations and guidance
- Agile/SCRUM Engineering and Implementing enterprise level software applications
- Leading engineering teams
Skills & Expertise (Expert Level)
- C# .NET
- LINQ, Generics, Lambda expressions, extension methods, attributes
- ORM Frameworks (Entity Framework, NHibernate)
- IoC containers e.g. Unity, MEF, Ninject
- Web Services and serialization, XML, JSON, SOAP, WCF, REST
- Unit testing using mock objects
- Design patterns and object-oriented programming
- SQL Server and the SQL language
- Memory management, performance tuning, profiling and scalable patterns
- Threading (traditional and TPL), async patterns (TAP) and .NET thread safe collections
- SCM including branching and merging
- ASP.NET MVC and Web API
- HTML5 and CSS3
- Networking and infrastructure
- Accuracy and attention to detail
- Professional demeanor
- Works effectively in a team setting
- Works efficiently across distributed teams
- Aptitude for learning new technologies and concepts
- Excellent time management skills and ability to prioritize
- Manage several activities in parallel
- Strong verbal and written communication skills
- Strong organizational skills
- Able to translate customer and business needs to technical solutions
- Resilient to change
Physical Demands (Travel, etc.)
- Available to solve critical issues as necessary
- Quarterly travel required for remote architects