The Software Engineer is responsible for developing and maintaining software and applications primarily and will ensure the responsiveness and resiliency of all applications while also maintaining and modernizing the software application stack. Required to see out projects from conception to final product, requiring good organizational skills and attention to detail, all while efficiently and effectively maintaining existing systems and codebases.
Position Description and Responsibilities: The Software Engineer is expected to write new maintainable code, remediate existing code, and provide tactical and strategic technology information to the leadership team, while also providing support to any projects requiring the integration of technology solutions. The engineer is a leader in all aspects of developing in their respective programming language discipline, knowledgeable and experienced with frameworks and best practices, and is well versed in performing a wide range of technology integration functions to ensure technical alignment across business applications, data management, servers, storage, and network environments. The ability to perform development operations, while also clearly and effectively communicating sound business cases to executives, is expected.
Responsibilities of the Software Engineer
Work closely and continually with other members of your team.
Work closely with other teams to complete projects.
Write new code, while updating trackers with time estimates and time spent.
Troubleshoot and fix any issues relating to applicable software, applications or systems.
Ensure fast and smooth operations of applicable processes and systems.
Create scripts, code or programs which meet performance and objective goals.
Test and develop software for corporate and client applications.
Create documentation for all software or applications created.
Write code in a manner that makes it easily readable and not cryptic.
Produce results effectively and efficiently, as close as possible to time estimates.
Provide application design recommendations that align with business strategies.
Provide experience and expertise for the integration of technology applications across the business.
Determine the specifications, plans, and design, either individually or with a project team.
Develop complex and business-critical software solutions that utilize the appropriate software engineering processes.
Perform as an internal consultant, advocate, mentor to peers and other teams.
Be viewed internally and externally as an expert technical resource across multiple disciplines. Skills and Knowledge of the Software Engineer
Possess thorough knowledge of state-of-the-art programming languages as well as object-oriented approaches in program design, coding, testing, and debugging.
Understand and consistently apply current application development methodology attributes and processes.
Research and track emerging technology to develop business solutions and applications.
Working knowledge of SOA, APIs, and Microservices.
Multi-disciplinary knowledge, skills and experience in software architecture and design, distributed applications, application frameworks, and multi-tier architectures.
Effectively able to collaborate on, define, and maintain efficient development processes, such as: coding standards, design philosophy, testing methodology, usage of design patterns, UI standards, development and coding tools and procedures.
Ability to understand integration points and interfaces, to ensure that next generation technology allows for seamless integration.
Proficient at creating servers and databases for various functionality.
Able to ensure cross-platform optimization for mobile devices. Mobile-first methodology.
Able to ensure responsiveness of applications.
Experienced at working with external design teams.
Proficient at seeing projects through from conception to finished product.
Excels at designing and developing, or consuming, AP
Effective at meeting both technical and consumer needs.
Stays abreast of developments in web applications and programming languages.
Proficient at finding and fixing bugs and problems in code and systems.
Excels at creating and maintaining ad-hoc manual and automatic reports for business requirements as needed.
Embraces the need for 24/7 availability for emergency server and application maintenance and support, while going above and beyond to lessen the occurrences of such needs.
Qualifications and Experience of the Software Engineer
Four (4) year degree required (or equivalent technical schooling or experience).
Software Engineer 0+ years
Senior Software Engineer 6+ years
Principal Software Engineer 15+ years
Skills (PHP Engineers): PHP, Zend (versions 1, 2 & 3), Symfony 4, Laravel, MySQL, Linux
Skills (Device Engineers): .Net, C#, Visual Basic, C++, MySQL, Linux, Windows Server
Skills (ALL): Cloud, Agile, TDD, JIRA, GITHub & GITLab, Bitbucket, Atlassian, G-Suite.
Customer Focus Results Driven Problem Solver Forward Looking
Peer Relationships Teamwork Oriented High-Learning Capacity Creativity
Data Centric Scalable Solutions CI\CD Automation Centric