Senior Software Developer Job Description Template
Our company is looking for a Senior Software Developer to join our team.
Responsibilities:
- Design, develop, review, maintain and tune our suite of Enterprise applications with quality, reliability, and performance in mind;
- Ensures documentation is well maintained;
- Support new features post-release including bug fixing and operations support;
- Strongly supports/promotes/implements a component-based architecture;
- Collaborates with Business Analysts and stakeholders to evaluate and understand business concepts and processes;
- Ensures code quality and writes well-documented easy-to-understand code;
- Full life cycle of projects;
- Participate in requirements gathering working closely with product subject matter experts;
- Work as a team member to align the development team towards an Agile development methodolog;
- Proficiency building unit and performance tests to ensure scalibility;
- Optimize performance of web applications applying best standards;
- Performs frequent code reviews;
- Proficiency with integrating public/ private cloud providers;
- Manage source code using Subversion and Git;
- Proficiency with Maven, and GIT/SVN.
Requirements:
- Expertise in designing and implementing REST APIs;
- Two plus years of experience with a major JavaScript Framework, preferably ReactJS;
- Must be proficient in Redis, and PostgreSQL;
- Experience with MATLAB;
- Design and develop code that is clean, understandable, maintainable and SOLID;
- Experience integrating with third party packages and API’s, especially social networks;
- Proficient in C# and ASP.NET MVC;
- Knowledgeable in software configuration management and test methodologies;
- Comfort working in any operating environment such as Linux, Windows, Mac, iOS or Android;
- Ability to work in teams and independently, able to coach new or less experienced developers in day to day operations as well as technical knowledge;
- Knowledge of NoSQL databases and Python is a plus;
- Active DoD Secret Security Clearance;
- Code in one or more languages besides Java (Python, PHP, C, Pro C, etc);
- Certified Scrum Master;
- MVVM and MVC design patterns.