A typical day would involve:
• Programming
a. Developers often develop an expertise in one or two of the technologies we use, and become the go-to person for setting up or solving problems with these technologies.
b. Make significant design and technology decisions in projects.
c. Developing/altering programs, web applications, web services and components, both for external clients and in-house projects.
d. User interfaces, web pages, graphics, multimedia and/or other GUIs.
e. Managing databases, verifying data integrity and providing SQL administration.
f. Performance tuning, balancing, improvement, automation and usability.
g. Integrating applications and establishing connectivity between systems.
h. Assist other team members with programming tasks and challenges.
i. Participate in code review activities.
• Researching
a. Updating job knowledge by researching new technologies/products, participating in educational opportunities, reading publications and maintaining personal networks.
b. Evaluate and recommend alternative technologies and strategies to resolve issues.
• Analysing
a. Analysing business/technical requirements and turning them into programming tasks.
b. Assisting in the creation of design, technical and functional specifications.
• Providing technical expertise and recommendations
a. Recommending system solutions by comparing advantages and disadvantages of custom development and available alternatives.
b. Mentoring and assisting more junior team members in all tasks.
c. Provide and validate estimates of effort.
d. Input to coding standards and perform code reviews.
• Coordinating
a. Participating on project meetings, coordinating requirements, schedules and tasks.
b. Discussing issues to be resolved, reporting progress, setting expectations, discussing priorities throughout development life cycle, determining methodologies and tools.
• Testing / Quality assurance
a. Testing the software and making sure deliverables are on time and in high quality.
b. Troubleshooting development and production problems across multiple environments and operating platforms, and identify necessary modifications.
• Deploying
a. Deploy projects and changes to appropriate environments (e.g. UAT, Production).
• Documenting
a. Creating/maintaining technical documentation, guides and tools.
• Provide support for clients/projects
a. Participate in new developments and investigation/resolution of existent issues.
b. Mentoring developers by providing advice, coaching and learning opportunities.
c. Support tech lead, back fill tech lead role if necessary.
Ideal background/experience:
a. Bachelor degree in Computer Science, Engineering/Software or related subject.
b. Certifications from accredited institutions.
c. Expertise in .Net is required and experience with C# or JAVA is desirable, along with a good knowledge of a wide range of technologies.
d. Experience in technical leadership of projects.
e. 5+ years of experience in all stages of the software development life cycle (SDLC).
Some useful soft skills/natural abilities for this role:
a. Communication skills and desire to participate in a collaborative environment.
b. Ability to create a level of abstraction, translating technical language into functional terms.
c. Strong analytical and problem solving skills.
d. Research skills.
e. Ability to take ownership, pro-activeness.
f. Attention to detail, yet being able to see the “big picture”.
If you are interested in this opportunity, please apply online today.