The Mid-level Software Engineer is responsible for developing and supporting the individual components within an application. They will participate in code reviews. Work is expected to be completed correctly and quickly with little-to-no supervision or assistance needed. Success in this position will largely be determined by eagerness to learn new technologies to meet and exceed business needs.
Job Duties and Responsibilities:
Development (45%):
Create and maintain documentation
Write code that satisfies the acceptance criteria of a user story
Help writing user stories, including acceptance criteria that encapsulates the needs of the business
Debug code that has been written to remove any defects before it makes it to QA
Analyze data and code to diagnose problems or slowness
Utilize a wide array of development tools to verify program effectiveness
Create entire projects from scratch with little involvement from other developers or architects
Communications (15%):
Collaborate with developers, analysts, designers, and system owners in the testing of new software programs and applications.
Work directly with the product and scrum teams to make sure all requirements are met and work is being completed in a satisfactory amount of time
Communicate with middle managers of other departments to make sure expectations are set and met
Optimize Existing Code (15%):
Identify pieces of code that are operating inefficiently
Refactor poorly written code in more readable and faster ways
Production Support (15%):
Diagnose defects in production (this can include performance issues as well as defects)
Reproduce production bugs in lower environments in order to more easily correct them
Work with the affected business units to makes sure the proposed correction fixes the problem
Work with the product team to determine whether a hotfix is needed or if correction can be rolled into next release
Extended Learning (10%):
Learn new technologies to become a more rounded developer
Continually reinforce knowledge in the current technologies
Qualifications (Education, Experience, Certifications & KSA):
High School Diploma required
Bachelor’s degree in Computer Science or a related field preferred
2-4 years of Software Engineering experience required
Moderate (2-4 years) proficiency working with many of the following technologies required: C# (or some other object-oriented language)
JavaScript frameworks (React, Node.js, Angular, Vue.js)
Cloud Services (AWS, Azure, GCP)
Web services (RESTful and/or SOAP)
.NET Core
MVC
Windows / Worker services
DevOps including CI/CD
SQL
Pega
NoSQL databases
Understanding of the software development lifecycle (SDLC)
Knowledgeable of database design and file management techniques
Moderate understanding of Agile concepts
Experience with relational databases
Develop reusable software building blocks to enable faster delivery
Highly self-motivated and self-directed. Experience working in a team-oriented, collaborative environment
Strong customer-service orientation
Excellent written and oral communication skills
Excellent listening and interpersonal skills
Ability to communicate ideas in both technical and user-friendly language
Ability to conduct research into application development issues and products
Keen attention to detail
Able to work in a team-oriented, collaborative environment
Ability to work both independently and on a team
Collaborate with stakeholders (e.g. business stakeholders, product owners, project managers, and end users) to understand functional and non-functional requirements
Investigate and propose solutions to development and design problems
The above statements are intended to describe the general nature and level of work being performed by people assigned to this job. They are not intended to be an exhaustive list of all responsibilities, skills, efforts or working conditions associated with a job.
We offer our employees a robust compensation package! Our comprehensive benefits include: medical, dental…