Senior Software Developer
The Senior Software Developer supports the Product and Technology Department by managing day to day activities within the organization's software development function. Senior Software Developer is part of an agile development team building and working on enterprise grade software. Senior Software Developer is involved in all areas of development from design to development to testing. They lead a small team of Software Developers.
- Oversees the work of a team responsible for designing, building, testing, deploying, maintaining, and supporting applications or systems software.
- Works to establish functional requirements and reviews solutions to ensure organizational needs are met.
- Selects and oversees implementation of one or more software development methodologies.
- Develops short- and long-term product roadmaps to ensure continuous improvement of software.
- Document and demonstrate solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments and clear code.
- Prepare and install solutions by determining and designing system specifications, standards and programming
- Improve operations by conducting system analysis, recommending changes in policies and procedures
- Protect operations by keeping information confidential
- Mentor junior developers
- Keep up to date on the newest technological innovations in the field and be ready to apply relevant innovations.
- Optimize new and existing applications.
- Fosters a positive team environment
- Ensures confidentiality of internal and external data
- Performs ad-hoc projects and other duties as assigned
- Verbal Communication – Advanced
- Written Communication – Advanced
- Teamwork – Advanced
- Relationships – Advanced
- Negotiation – Advanced
- Learning Agility – Advanced
- Problem Solving – Advanced
- Process Orientation – Advanced
- Prioritization – Advanced
People Management Skills
- Proficient in basic people management processes
- Proficient in leading a small team on a day to day basis, within a broader organization structure
Role Specific Skills
- Comprehensive understanding of object-oriented and service-oriented application development techniques and theories
- Solid understanding of relational database design and querying concepts
- Exposure to Microsoft .NET development using C#, or JAVA or other major languages
- Familiar with Design Pattern, algorithm
- Knowledge of client/server application development
- Knowledge of agile development methodologies
- Knowledge of unit testing theory
- Experienced with source control management systems and continuous integration/deployment environments
- Experienced with debugging, performance profiling and optimization
- Internally motivated, able to work proficiently both independently and in a team environment
- Strong communication skills with both internal team members and external business stakeholders
- Strong initiative to find ways to improve solutions, systems, and processes
- Bachelor's degree in Computer Science, or with equivalent professional experience
- 5+ years of experience as a software developer
Other Relevant Qualifications
Please note, this job description is not designed to cover or contain a comprehensive listing of activities, duties or responsibilities that are required of the employee for this job. Duties, responsibilities and activities, and schedule may change at any time with or without notice.
SMS Assist is an Equal Opportunity Employer (EOE) that welcomes and encourages all applicants to apply regardless of age, race, color, religion, sex, sexual orientation, gender identify and/or expression, national origin, disability, veteran status, marital or parental status, ancestry, citizenship status, pregnancy or other reasons prohibited by law.