Software and Systems Developer

From Future Worlds Center Wiki
Jump to navigationJump to search

The title Software and Systems Developer is reserved for persons working in the IT Department or who are involved in programming in one of the companies associated with the organization and/or in Ekkotek Ltd., which serves as the Technology Transfer Office for both the Cyprus Neuroscience and Technology Institute and N.E.T.S. Mediterranean Graduate School of Applied Social Cognition. The responsibilities might focus more on the systems or the development angle depending on whether the individual is involved more in working with 'off the shelf' software, modifying it and integrating it into the existing network or more with developing new systems according to new specifications.

People with this title


Elements in the job description related to systems

  • Reviewing current systems
  • Analyzing the needs of the organization and designing systems to meet those needs
  • Recommend and implement software upgrades to existing systems
  • Presenting ideas for system improvements, including cost proposals
  • Working closely with staff to ensure that all are knowledgeable and take advantage of all organizational technical capabilities
  • Preparation of training manuals for users
  • Maintaining all systems once they are up and running

Elements in the job description related to development

Concerned with all facets of the software development process. Software Developers, "make" software for the world to use. Their work includes researching, designing, implementing, and testing software.

  • Producing detailed specifications
  • Requirements analysis
  • Designing of program screens or prototypes to confirm requirements
  • Development and refinement of throw-away simulations or prototypes to confirm requirements
  • Designing step-by-step flowcharts that show how program code must be written
  • Software developers document all of their tasks to ensure that subsequent users can diagnose and fix any problems that might arise in a system, as well perform any maintenance.

Review and repair legacy code.

writing the programme codes

Testing the product in controlled, real situations before going live

 in order for it to work properly.


Software design Actual core implementation (programming which is often the most important portion of software development) Other required implementations (e.g. installation, configuration, customization, integration, data migration) Participation in software product definition, including business case or gap analysis

Feasibility and cost–benefit analysis, including the choice of application architecture and framework, leading to the budget and schedule for the project Authoring of documentation needed by users and implementation partners etc. Testing, including defining/supporting acceptance testing and gathering feedback from pre-release testers Participation in software release and post-release activities, including support for product launch evangelism (e.g. developing demonstrations and/or samples) and competitive analysis for subsequent product build/release cycles Maintenance

Key skills required

Additional Technical Skills wished but not required

  • Expert knowledge of several computer languages.
  • Expert knowledge of data structures.
  • Expert knowledge of computer logic and flow-charting.
  • Expert knowledge of computer program design methods and techniques.
  • Expert knowledge of all database vendor versions.
  • Expert knowledge of all compiler versions.
  • Ability to learn new programming languages quickly.
  • Good knowledge of mathematical and statistical principles and formulas.
  • Assists the Programmer Analysts in designing programs and databases.

Ability to write, edit, and debug computer programs to achieve desired output. Ability to work productively in a team. Expert knowledge of maintaining and debugging live software systems. Expert knowledge of writing program documentation. In-depth technical knowledge of the current hardware. Expert knowledge of used operating systems. Expert knowledge of standard development tools. Expert knowledge of networking technologies from the programmers prospective. Ability to determine whether a particular problem is caused by hardware, operating systems software, application programs, or network failures. Good knowledge of security and encryption. Updates and modifies computer programs to improve efficiency. Performs work of high difficulty in designing, writing, editing, modifying, and debugging computer programs. Define functional specifications of the system for the appropriate hardware. Expert knowledge of component writing. Demonstrated ability to use standard computing tools: Word processor, spreadsheet, browser, email, and file compression software. Overall knowledge of the computing environment at large, e.g. typical uses and user populations of operating systems, communications protocols, hardware platforms, etc.\

  • Expertise in latest computer hardware and software
  • Ability to use one or more of the development language used by the organization(s) (Objective-C, Swift, Java, Javascript, Lingo, C#, C++, PHP, HTML5, etc.)
  • Strong communication skills
  • Ability to work in a team
  • Eye for detail and identifying problems
  • An appreciation and understanding of the core interests of our organization: (1) harnessing collective wisdom with the aim of designing better worlds; (2) designing revolutionary educational systems
  • Analytical abilities

Hours and environment

In most cases Software and Systems Developers appear at work at regular hours. However, they have the right to work from home upon arrangement with their supervisors. They are expected to be able to work under stress and meet deadlines, which in many cases might mean tha they are required to working longer and later hours or weekends.