As a member of the IT Applications/Development team, the Software Engineer will write, design, code, test, implement and debug programs and applications adhering to corporate requirements and standards. Duties include application/program development and systems integration spanning front-end, mid-tier and data access components. The Software Engineer will work with all aspects of the business, cross-functional teams and IT to provide solutions that align and lift Carollo's strategic initiatives; supporting and improving business processes, engineering and support functionality and client collaboration.
This is a hands-on technical role with the opportunity to use traditional tools, programs and technologies while also promoting open source platforms, technologies to build, run enterprise applications for the Business.
This position can be located at one of the following Carollo office locations: Phoenix, AZ / Dallas, TX / Denver, CO / Sacramento, CA / Kansas City, MO.
Essential Duties and Responsibilities
- Deliver recommendations and solutions that improve internal and external client business processes, expose expert knowledge, facilitate knowledge transfer, implement standardizations, and improve data validity and usage across the enterprise.
- Develop deliverables via effective analysis, tools/app deployments, implementations, maintenance, and management of software technologies & tools.
- Work with team to gather problem statements, objectives, metadata, risks, and requirements; forge a game plan for the maintenance, fix and/or new solution that provides the best fit.
- Project manage, design/architect, code, configure, and install quality custom and/or vendor application implementations on premise or in the cloud.
- Review and fix legacy code. Suggest to improve systems architecture, application design and integration methods. Make the improvements.
- Architect and spec application server solutions that take into account cost, growth, load/performance, redundancy, and disaster recovery.
- Create thorough test plans, work with Business application owners and test groups, to ensure that logic and syntax are correct, and that program results are accurate.
- Help define and implement application lifecycle road-maps, forecasting application and data relevancy, classification, procurement or decommissioning of assets, and workflow with other enterprise systems.
- Technical application support involving patch management, monitoring, troubleshooting applications, data, and server platforms.
- Work with the infrastructure, security, telecom, technical support, and the tool teams to ensure application support, standards, function, and requirements are represented, accurate, and cohesive.
- Consistently document technical processes, system/server, code/data, and enterprise integration workflow.
- Demonstrate expertise, 'solve-to-win' attitude and determination to focus on the business and provide the most appropriate solutions for best-fit and value.
- Knowledge of Computer Science Fundamentals (data structures, OO design, algorithms, and problem solving)
- Exhibit on-point analytical thinking in all aspects of development and implementation..
- Communicate effectively and demonstrate clarity and conciseness; ability to actively listen.
- SDLC and agile development methodologies experience.
- Significantly contribute in the project management space, writing project charters, project plans, and Agile Scrum: Sprints, Backlogs, and Burn-downs
- Transverse through all areas of software engineering to gain the most thorough design and implementation, including project charter/planning, business analysis, system analysis, system architecture, system setup/configuration, code development, testing, application implementation, system administration, socialization of solution (training, marketing), business and technical troubleshooting, and business and technical documentation
- Design and develop database solutions that include data schemas, database design, database creation, programming triggers, stored procedures, SQL functions, and code API SQL integration
- Thoroughly and with best practice, design and develop application authentication functionality
- Experience integrating with and/or implementing large enterprise systems (CRM, ERP) on premise or in the cloud
- Analyze internal business user needs, desired outcomes and design, develop solutions with responsibility for delivering the software tools and applications with limited or no supervision
- Bachelor’s degree in Computer Science, Information Systems, or related field.
- Minimum of 9 years of software engineering experience
- Minimum of 6 years with.Net/C#, ASPX code development
- Minimum of 7 years with SQL Server data design, code development
- Development and implementation experience in different methodologies including Agile, Iterative, and Waterfall
- Experience developing and/or implementing large systems (i.e. Intranet, ERP, CRM)
- Experience with Microsoft Office 2013 or Office 365
- 10-12 years of professional experience in software engineering or software development
- Experience with development for Desktop, Web, Windows services and Console applications.
- Experience with versioning control software (GitHub, TFS, Jira, BaseCamp etc)
- Multi-tier application experiences including web services (SOAP/REST)
- Full-Stack Development Experience
- Mobile development experience (Android/iPhone)
- Unit Testing