Thursday, 4 June 2015

Software Engineer

Job Title: Software Engineer

Job Code: SWE/TL/150603
Number of Positions Open: 3

Reports To:  Project Manager

Location:  Nairobi, Kenya

Closing Date:  Open Until Filled

Summary: Our client is a Kenyan ICT firm that develops ICT solutions that automate business processes in every sector of the economy to promote efficiency, sustainable innovation, and best practice. 

They are also a trend setter in mobile solutions used by millions of Kenyans, every day and are licensed by Communication Authority to provide premium rate and content services.

Job Summary: As a Software Engineer, you will be directly responsible for the actual designing, developing and installing software solutions for target clients within set deadlines and specifications as well as ensure that all related activities are well planned, managed and happen within the agreed standards. 

You shall be expected to produce high quality software solutions within time and resource constraints that shall be acceptable and useful to clients.

You will be involved in numerous day to day tasks including overseeing the entire software product development process from design to delivering the product to clients. 

You will be expected to communicate each activity progress to the project manager and build strong client relationships with the clients that you serve while you interact with them. 

You will brief your supervisor on all the happenings of the day giving suggestions and ideas on how we can move the business to a new level. 

You will need to ensure open and efficient communication channels exist between you and your supervisor in order for the business to run smoothly

Primary Responsibilities:

1.  System Research and Analysis
  • To interact with various clients and / or stakeholders to determine their problem statement through requirements gathering, conduct analysis of the requirements and come up with requirement and system specification documents
  • To use relevant documentation standards and tools to come up with various necessary project and system documentations prior to the software development processes that correctly document software projects
  • To conduct analysis of various requirements, problem definitions e.t.c. of solutions to determine operational feasibility of solutions and advise management appropriately
  • Improve operations by conducting systems analysis and recommending changes in systems and solutions
  • Research documentation
  • Case findings and feasibility studies
  • Requirements gathering
  • Ability to analyze various solutions and requirements
2. System Design, Development and deployment / implementation and documentation 

System Design
  • To use various standards of software modeling and simulation using different techniques to come up with solution models and designs that can be used as the base for the system development phase
  • To use database skills and knowledge to come up with sound database designs for various software projects prior to the development phase
  • To create various required system design documents and tools for solutions for approval prior to their development
System Development
  • To program and develop according to specification with the main aim of developing a problem solving and customer acceptable solution and that meets the clients’ requirements
  • Develop software solutions according to the given specifications and come up with deliverables within deadline and resources constraint
  • To integrate various software and hardware solutions with other pre-existing or new software and hardware solutions to ensure that they work together as planned on blueprint
  • To document the developed work using various standards and procedures to ensure that solutions are easily understandable and usable both at a user level and from a developers point of view / interaction
System Implementation / deployment / roll out
  • To deploy various system solutions within client sites and other platforms applicable as per the requirements of the project and conduct developer white and black box testing as well as user acceptance testing together with the customer to ensure that the solution meets the expectation of the users and is hence accepted
  • To integrate various solutions developed with other systems that exist and that are meant to work hand in hand with the developed solution in the best manner possible
  • To conduct system integration tests where applicable for solutions developed and that integrate with others that exist or that are built away from our solution
  • To train the users of the solution on the use of the systems deployed and furnish them with various system documentations including user manuals and “how to” guides
System documentation
  • To write and produce system documentation for solutions developed including user guides and manuals, developer guides and system functional specifications documents for use by the various stake
  • Document all project workflow and applications for easier follow up, coordination, maintenance and support
System and database Design
  • Ability to come up with proper and useful designs of systems to be implemented and their documentation
  • Ability to design databases for the achievement of various project purposes and their documentation
System Development
  • Ability to develop sound programmatic solutions that meet the clients requirements and that conform to both design specifications and acceptable standards, best practice and current trends
System implementation / deployment / roll out
  • Ability to implement / deploy / roll out developed solutions within client and other applicable infrastructure and have them working as planned and in the best manner possible
  • Ability to test and have solutions accepted by the users and other stake holders of the solution as solving their problem
  • Positive feedback from customers on the solution implementation
System Documentation
  • Ability to produce various product documentations required by all stakeholders as well as documentation to support the system development life cycle
3.  Project Management
  • Manage project workflow and ensure that projects are executed within the set schedule with prudence to avoid or minimize wastage of resources
  • To use various project management methodologies and reporting to ensure that projects are implemented in the best manner possible
  • To take lead in various projects and be overall responsible for their successful execution and implementation from start to end
  • To coordinate project workflows and deliverables through the use of leadership and communication skills to ensure that projects are delivered in the best manner possible
  • The smooth execution of projects and project work flow
  • Coordination and alignment of project’s members
  • Maximization of project resources within projects
  • Overall success of projects
4.  Quality Assurance
  • To ensure all projects and deliverables adhere to highest quality standards
  • Provide software testing and quality assurance to clients
  • Ability to provide high quality and efficient solutions to clients requirements
  • Client’s level of satisfaction with quality of work
5.  Product and solution support and maintenance
  • Offer excellent support to clients in relation to the products offered to them
  • Liaise closely with system support team to offer system support when required to especially for support that requires development, system tweaking or correction
  • Ensure continued customer satisfaction by being committed and accountable in delivering results that meet their needs
  • Perform continuous solution reviews and upgrades to ensure that the solutions remain relevant and up to date with current trends, standards and requirements
  • Ability to remedy programmatic issues / faults reported by customers with regard to products that they are using Client’s satisfaction with the products that they use
  • Ability to maintain software solutions and keep them relevant, easy to use and continuously updated and in conformance with industry standards and acceptable functionality
  • Ensure continued customer satisfaction by being committed and accountable in delivering results that meet their needs
Reporting and any other Duties
  • You will be reporting to the Project Manager, and in the absence to the Head of Technical department both of whom shall be your supervisor and senior supervisor respectively
  • Your supervisors should be briefed on the progress of the team’s activities towards achieving the set targets and the status of the client relationships on the ground
  • The supervisors may review your duties from time to time
  • Supervisor’s recommendation
Knowledge and Skills:

  • Must have 3-4 years’ experience in software development
  • Must understand desktop and web development with the following skills: Java, Php, javascript, J2ME, Android programming, Ajax, .Net
  • Knowledge of database platforms: SQL server, MySql, Oracle, foxpro, XML
  • Excellent team player and willingness to take direction and use own initiative as appropriate
  • Desire to learn new technologies and adapt to them with regard to programs and programming as a whole
  • Ability to communicate clearly within team, to management and with clients on relevant subjects of the tasks undertaken
  • Project organization and management skill
  • Experience with RAD tools and MVC frameworks e.g CakePhp, code igniter e.t.c
  • Experience in using web publishing and content management tools e.g dreamweaver and joomla to come up with websites that can be commercialized
  • Course in project management
  • Good interpersonal skills
  • Other programming languages and tools e.g. C#, python e.t.c
  • Experience with financial management software and financial accounting packages
  • Graphic design skills (Photoshop, illustrator, fireworks e.t.c)
Professional Competencies:

The following are key competencies required of the role.

The candidate must exhibit the following professional competencies:
  • Hardworking
  • Honest
  • Ability to work under pressure
  • Commitment
  • Accountability
  • Project Management
Education and Training:
  • Diploma/Degree Computer Science/Information Technology or related course
  • A course in software project management would be a bonus
How to Apply:

Interested candidates holding the necessary requirements, good performance and / or references are encouraged to apply with detailed CV’s, inclusive of names and contacts of 3 referees, current telephone number and email address by scrolling down and clicking on: Software Engineer 

Kindly include your current and expected remuneration in your resume.

Be advised, this job is open to Kenyan nationals only



Like us on Facebook