Senior Software Engineer

Job Summary

At the level of Senior Software Engineer, you are seen as a natural leader by your peers.  Having strong technical chops, understanding our systems, and having empathy for our customers is a given.  You have a proven track record of successfully delivering projects which had a positive impact on our systems, product, team, and customers.  You have successfully brought on and mentored engineers.  You are well steeped in the eMoney culture and values.  You have strong, educated and pragmatic, opinionboth on what we do and how we do it.  You also have the pragmatism and experience to yield the floor and allow better ideas to prevail. You continue to grow your skills as a professional developer. Great products come from the fusion of rock solid engineering, clear product vision, and a hypersensitivity to the customer experience.  You live our design and development methodologies, understand our business, and are on a continued pursuit to build empathy for our customers. While you are entrenched in the development, maintenance, and testing of one product area, your view expands to the product vertical your team operates in.  You work with your team’s Tech Lead to ensure sound technical direction.

Job Description

  • Embody and live the Scrum values of commitment, courage, focus, openness, and respect in all interactions, both within and outside of the team. 
  • Be an team member.  Listen a lot.  Ask questions to seek clarity. Take the floor when you have information, experience, or perspective to share.  Communicate impediments as they arise.
  • A Scrum team collectively delivers on their sprint goals and commitments.  All team members are expected to always be intimately familiar with, and working towards delivery of those commitments, never against. 
  • In partnership with Product Management, actively seek to gain a deeper understanding of the business context under which your team operates.  Leverage this understanding to present feature recommendation to your Product Owner.
  • In partnership with Design, continue to build empathy for the primary, as well as secondary, personas your vertical supports.  Leverage this empathy to recommend small design changes to your Designer. 
  • Complete modifications, refactoring, and bug fixes to existing functionality without the need for oversight.
  • Perform complex changes and complicated refactoring without the need for direction of an experienced team member.
  • Mentor and coach less experienced team members.
  • While made up of many disciplines, the team delivers on commitments together.  Perform documentation, design, and testing tasks as required by the team.
  • Actively participate and contribute to technical discussions and code reviews.
  • Evangelize and promote the successes and learnings of your team in formal ceremonies, such as sprint demos, as well as in casual conversation.
  • Write queries, scripts, and data upgrades.
  • Take point on supporting deployments and releases.
  • Other duties as assigned.
  • Provide recommendations on technical direction to Tech Lead.
  • Partners with Tech Lead to steer technical decisions on the team.

Requirements

  • 5-10 years of experience.  Completed three or more projects on commercially available applications.
  • B.S./M.S in Computer Science, Computer Engineering, Software Engineering, or equivalent experience.
  • Self-motivation drive to get things done and deliver on team commitments.
  • Strong understanding of our systems, customers, and business goals as it pertains to the assigned vertical
  • In-depth understanding of the context of the assigned Scrum team.
  • Ability to work in a team and take direction well.
  • Self-motivated and responds to supervision.  Asks relevant questions.
  • Enthusiastic about company and programming company products.  
  • Can work with supervisor to plan tasks and estimate their completion.
  • Can adapt to changing conditions and coach others through change.
  • Possesses ability to communicate efficiently verbally and through written documentation.
  • Maintains a broad understanding of our systems, customers, and business goals.  Has a deep understanding of these contexts for assigned team.

Skills

  • Mastery of C#, data structure, basic algorithms, and object oriented programming. Able to perform any task or from scratchimplementation.  Seen internally as a leader in this area.  Assists in defining best practices.
  • In-depth knowledge of design pattern.
  • In-depth knowledge of working with legacy code.
  • In-depth knowledge of web development (Asp.Net Web Forms, Asp.Net MVC, JavaScript, Html, CSS, JQuery).  Able to perform tasks effectively with only occasional use of guides, research, and mentorship.  Can replicate from similar work and apply modifications.  Follows best practices.
  • In-depth knowledge of Window and IIS.
  • In-depth knowledge of relational databases (SQL Server).
  • Mastery of professional practices and methodologies (Test Driven Development, Pair Programming, Code Reviews, Refactoring Techniques, Agile/Scrum)
  • Mastery with our development tools (Visual Studio, Resharper, PowerShell, BitBucket (Git), Jira, Confluence, Roundhouse, Octopus Deploy)

Meet Some of eMoney's Employees

Dan

Technical Lead

Together with his team of developers, Dan builds new and improved financial planning tools so that eMoney Advisor’s clients can better manage their books of business.

Nicole

Relationship Manager

Nicole works with eMoney's enterprise clients, assisting them with the initial implementation of eMoney's technology, then offering continued support to ensure success.


Back to top