A Software Developer’s main responsibilities are to review and analyze software requirements, design, develop and support software applications, both existing and new, by participating in the entire software development lifecycle from requirements elicitation through solution deployment and support.
Primary Duties and Responsibilities
Develops software applications :
o Able to change and maintain production codebases.
o Unit tests the code produced.
o Follows style and coding guidelines of the project.
o Follows bug tracking and version control procedures of the project.
o Support and maintain existing software solutions
Works with infrastructure teams to prepare and deploy software solutions
Prepares solution deployment instructions.
Prepares solution deployment packages.
Coordinates with infrastructure personnel for solution deployment.
Works with clients for deployment validation and verification.
Resolves client issues and provides client support
Obtains problem information from client support.
Analyzes and quickly resolves client issues in order to meet daily production requirements.
Passionate about process improvement.
Stays current with the latest trends and advancements in software development.
Establishes and maintains a positive work atmosphere with coworkers, managers, and clients.
Works closely with QA and Documentation to address all considerations of new features and enhancements.
Explains technical issues to both technical and non-technical coworkers.
Coordinates work between with other teammates.
Participates constructively in peer code reviews.
Assumes other duties as required.
University degree in Computer Science, Software Engineering, related field or equivalent studies.
1-2 years of experience in Software Development and software requirements gathering, analysis and documentation.
Basic software development skills in C#, Java, or related Object orientated code language
Basic development skills with relational database SQL (SQL Server).
Basic skills in TSQL query language (selects / Updates / Inserts / Deletes)
Basic skills in functional and technical software design patterns, principles and practices.
Knowledge of relevant software platforms (Windows and Unix environments preferred)
Experience working with unit testing, source control, continuous integration, defect tracking and change management tools.
Experience designing software solutions using microservice architecture.
Experience working an Agile Scrum / Kanban environment.
Familiarity with TDD methodologies.
Ability to communicate effectively and efficiently to a diverse range of clients and users.
Advanced oral & written English skills.
Problem solving and analytical skills.
Strong organizational skills.
Good time management skills.