Senior Software Engineer II

PrintMail Solutions | Newtown, PA, United States

Posted Date 5/10/2022
Description

Job Brief:

A Senior Software Engineer is a skilled and experienced software engineer responsible for the detailed design, implementation, and testing of subsystems and system components. A Senior Software Engineer is able to build a wide variety of software subsystems and components efficiently and effectively, given only a requirements specification and constraints. A Senior Software Engineer is able to develop and sustain these subsystems and software components in complex, multi-vendor, multi-platform environments. Tasks may include design, maintenance, and working closely with both internal and external customers. 

Responsibilities:

Take initiative in performance, working independently and with groups to effectively accomplish project objectives and engage in the following:

  • Interact with fellow software engineers, technical leaders and Product Owners to understand component specifications and recommend changes to facilitate efficient and effective development.
  • Interact with representatives of other industrial and government groups to understand and/or recommend data interchange formats, APIs, messaging strategies, application server software, as well as hardware and virtual machine requirements.
  • Design and document subsystems and system components consisting of several objects working together to execute an encapsulated function of the larger system.
  • Implement and debug subsystems and components.
  • Write and execute tests for subsystems and components.
  • Participate in integrated test sessions of components and subsystems on test and production servers
  • Determine and communicate the implications of system-level decisions on subsystems and components and help determine how best to mitigate or take advantage of these implications.
  • Determine and communicate the requirements and capabilities of components within the context of the larger system, project, and team.
  • Support management of the team’s technical infrastructure (e.g., repository, build system, testing system) under guidance from the systems engineer or other project leader.
  • Participate in efforts to share software technology and expertise within the company; mentor junior and aspiring engineers.
  • Write code to create single thread, multi-threaded, or user interface event driven applications
  • Use source debuggers and visual development environments
  • Write, modify, and debug software for client applications
  • Design, deploy and support best in class software development processes and tools
  • Test and document software for client applications

 Required Skills and Experience:

Includes the responsibilities of the Software Development position and individuals having the ability to and competency of performing the tasks from that prior level.

  • A bachelor’s degree in Computer Science or equivalent work experience.
  • Five + years of experience independently designing and implementing small or medium-sized software systems and components.
  • Expert working knowledge and experience with coding languages including: C#.NET, ASP.NET, MVC.NET, CSS 3, Entity Framework (EFF), AJAX and related technologies, jQuery, one or more JavaScript framework(s) (e.g. React/Angular/Node)
  • Knowledge and experience with data exchange formats such as: JSON, and XML.
  • Knowledge and experience working with and/or developing REST APIs.
  • Knowledge and experience with a continuous integration and continuous delivery (CI/CD) tool (e.g. Jenkins, TeamCity, Bamboo, GitLab).
  • Experience in maintaining ASP classic web applications
  • Leadership skills
  • Successful design and implementation of multiple software components and subsystems.
  • Strong attention to detail and ability to multitask
  • Ability to communicate the design and implementation of software systems including relevant strengths/weaknesses and reasons for implementation decisions.
  • Knowledge and experience of T-SQL and Internet Information Services (IIS)
  • Experience working in an Agile SCRUM methodology is a plus.
  • Experience with Agile project management tools (e.g. JIRA) is a plus
Refine by Categories
Information Technology | Professional Services
Refine by Job Type
Full-Time
Remote
Pay Structure
Salary/Hourly

Share this job