Basic Function
The Senior Software Engineer is a software development position with our product development organization and is responsible for creating working software deliverables based on use cases, user stories, software requirements specifications, and functional specifications with their Agile team. The Senior Software Engineer also leads technical direction and ensures best practices on their team.
Essential Duties and responsibilities
Work with peers and Senior Engineers to ensure that software products deliver business value, are completed on time, have high quality, and minimize technical debt.Participate in coding efforts within a project team. Clearly communicate actionable information to the project team.Develop and document software designs that emphasize usefulness/usability, stability, performance, and reusability.Ensure that software products deliver business value, are completed on time, have high quality, and minimize technical debt.Lead design and code efforts within a project team. Clearly communicate actionable information to the project team.Assist with technical and process mentoring and/or training of the engineering staff, particularly in the areas of software design and good coding practices.Assist in defining and implementing new development processes, tools, and methodologies while demonstrating a strong knowledge of industry standard and best practices.Lead advanced debugging efforts within the project team when production and development issues arise.Develop and document software designs that emphasize usefulness/usability, stability, performance, and reusability.Collaborate with the Architecture team to ensure the project team is building in high-quality software architecture and design, including principles of reuse.Participate in R&D initiatives that are focused on new product design, usage and/or applicability of new technologies, and architectural direction.Successfully interact across various functional roles and departments to ensure effective communication and collaboration.Establish and uphold firm expectations and ensure that deliverables are self-certified prior to transitioning to the downstream consumers of the deliverable (QA and customers).Accurately assess/identify project and/or business risks providing critical decision support by identifying acceptable risks and outlining risk impact/responses.Work effectively with minimal supervision. The expectation is that the employee in this position will be able to receive a statement of objectives and detailed direction and be able to effectively execute to those directions and clearly communicate the project impediments to his/her peers with minimal feedback or assistance from Senior Engineers.Proactively Manage Technical Debt – i.e technical debt is raised, managed, and prioritized for fix.Drive application security best practices within the development organization and align to the security policies in place.Provide Application Support and Maintenance (as needed)Participate in the evaluation/implementation of third-party software solutions.Participate in process improvement initiatives and stay well updated with technology changes.Stays abreast of corporate and division strategy and mission.Engineering Operations Responsibilities to include technical leadership to application development efforts to meet and or exceed client expectations, Software Coding Reviews, Practice Agile principle on project execution, conducting effective requirement planning sessions and application design sessions with cross functional groups.Encourages collaborative efforts and camaraderie with on-shore and off-shore team members.Demonstrates a working understanding of software development processes and methodologies, with the ability to share knowledge with peers, and project team members.Working understanding of industry best standards in software developmentTECHNICAL SKILLS EXPERIENCE
5 years dedicated development in Microsoft languages (.NET Core) Experience in UI Frameworks like Angular, Bootstrap, jQuery, and Service Oriented ArchitecturesStrong experience on Microsoft stack of Technologies includes .NET Core/PL-SQL, JavaScript (Cloud and Client Server5 years as senior developer of medium to large scale projects.Familiar with architecture/design patterns and re-usability concepts.Experienced with microservice architectures, RESTful APIs. SOAP, and test automation tools (e.g. Selenium)Proficient in Data Modeling and Object-Oriented design. Familiar with Responsive UI DesignProficient in decomposing Monolith applications into Modular applicationsExperience with Azure Platform (Azure Kubernetes Service, Service Bus etc)Expertise in containerization technologies such as Docker, Kubernetes, and container orchestration tools.Understanding of security best practices for containerized environmentsExperience/Exposure to SSO using SAML / Ping FederateExperience with scripting (C# or Java)Optimizing Application performance to meet Non-Functional RequirementsJob Qualifications
Education: Bachelor of Engineering/Technology in Computer Science/Information Technology required OR equivalent experience
Experience:
The successful candidate must have a minimum of 5 years of experience in professional software development.
The ideal candidate must have a proven track record developing software to meet business and project needs. As such, the candidate must have the ability to understand project requirements and be able to deliver software solutions that meets those requirements. The candidate is part of the */dxg CS Lien Solutions Technology team and is expected to be a team player.
Other Knowledge, Skills, Abilities or Certifications:
Proven experience in documenting technical project artifacts.Strong analytical, detailed, problem solving, and troubleshooting skills.Solid verbal and written communication skills (Internal & External)Adaptive, forward-thinking, and team oriented.Ability to work in a fast-paced and demanding environment.Continuous attention to technical excellence (self-development)A passion about your work with a strong desire to learn, grow and make a difference.Familiar with micro-services architecture, SOLID design principles, TDD, OWASP top 10Familiar with CI / CD platforms.Significant full-stack experience with SaaS and web-based technologiesKnowledge of database design and object/relational database technology.Highly organized and productive, requiring little supervision.Demonstrated experience with project management methodology.Demonstrated experience with a formal Software Development Life Cycle, SCRUM, Agile development experience a must.Customer-Focused with demonstrated ability to deliver results, on time, high quality and on budget working with geographically distributed teams.Experience with software engineering process improvement initiatives