Senior Software Engineer and Project Manager: Difference between revisions

From Future Worlds Center Wiki
Jump to navigationJump to search
No edit summary
 
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
The title '''Senior Software Engineer''' is reserved for persons working in one of the companies associated with the organization and/or in [[Ekkotek Ltd.]], which serves as the [[Technology Transfer]] for both the [[Cyprus Neuroscience and Technology Institute]] and [[NETS]].  
The title '''Senior Software Engineer and Project Manager''' is reserved for persons working in one of the companies associated with the organization and/or in [[Ekkotek High-tech business incubator|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 key responsibilities are:
==People with this title==
# Work closely with upper management to ensure prioritization of work according to Board priorities
{{#categorytree:Senior Software Engineers and Project Managers|mode="all" |hideroot=on|mode=pages|style=bold}}
# Responsible for planning, processing and performing all jobs and tasks in an efficient manner with no need for assistance from the supervisor




In more detail the responsibilities include:
<u>The key responsibilities are:</u>
 
# Work closely with upper management to ensure prioritization of work according to Board priorities.
* Work closely with [[Software and Systems Developer| Software and Systems Developers]] to design and develop programming systems making specific determinations about system performance.
# Responsible for planning, processing, performing and supervising all jobs and tasks in an efficient manner with no need for assistance from a supervisor.
Responding promptly and professionally to bug reports.
# Efficient and explicit prioritization of tasks and supervision and support of [[Software and Systems Developer|Software and Systems Developers]] to ensure their timely implementation and completion.
Expected to conduct system analysis and development, with limited support from professional staff, to keep our systems current with changing technologies.
Analyze, design, coordinate and supervise the development of software systems to form a basis for the solution of information processing problems.
Analyze system specifications and translate system requirements to task specifications for junior programmers.
Responsible for analysis of current programs including performance, diagnosis and troubleshooting of problem programs, and designing solutions to problematic programming.
Responsible for developing new programs and proofing the program to develop needed changes to assure production of a quality product.
Responsible for development of new programs, analyzes current programs and processes, and making recommendations which yield a more cost effective product.
Writes, edits, and debugs new computer programs for assigned projects, including necessary records and desired output.
Tests new programs to ensure that logic and syntax are correct, and that program results are accurate; assists lower-level programmers with programming assignments.
* Ensure that code documentation is happening consistently throughout the development process by listing a description of the program, special instructions, and any changes made in database tables on procedural, modular and database level.
Search, summarize and keep the team abreast of strategic information from all sources
Capable of writing proposals or papers.
Making presentations to customer or client audiences or professional peers.
Maintain positive client interactions.
Strong and effective inter-personal and communication skills and the ability to interact professionally with a diverse group of clients and staff.
Responsible for communicating with engineers and manufacturer's technical support staff regarding programming needs and performance.
Provide general administrative support to the organization
Provide feedback to analysis/training staff about performance considerations / usability issues concerning software specifications and implementation.
Research and recommend software tools to management.
Provide assistance to testers and support personnel as needed to determine system problems.
Review, to the extent possible, changes in code and the environment that will affect system performance.
Provide recommendations to management concerning issues of programmer productivity and software development management.
 
Additional skills and/or areas of expertise:


<u> What the Board expects</u>
* Ability to solve problems quickly and completely.
* Ability to solve problems quickly and completely.
* Ability to multi-task and stay organized in a dynamic work environment.
* Ability to multi-task and stay organized in a dynamic work environment.
* Possess a positive attitude.* Ability to identify tasks which require automation and automate them.
* Possess, and send out to others, a positive attitude, as well as ensure pleasant working conditions for all.
* A solid understanding of networking/distributed computing environment concepts.
* Solid understanding the principles of routing, client/server programming.
* Possess excellent communication skills, with an emphasis on verbal and written communication.
 
Ability to "think outside the box".
Consult with the Lead Programmer and the Technical Manager regarding professional skill development.
Prepare reports and analyses setting forth progress, adverse trends and appropriate recommendations or conclusions.
Participate in development of long range planning for new projects and facilities.
Experience and ability to teach or instruct co-workers.
Providing advice, training and technical support for various projects.
Working closely with management team in evaluating current systems and making decisions on future development.
Possess extremely advanced technical skills.
As new technologies emerge and impact our systems, expected to learn these technologies very quickly and resolve any problems involved in integrating new technologies with our systems.
 




====Additional Technical Skills wished but not required ====
<u>Responsibilities include:</u>
* Expert knowledge of several computer languages
* Analyze, design, coordinate and supervise the development of software systems.
* Expert knowledge of data structures.
* Work closely with [[Software and Systems Developer| Software and Systems Developers]] to design and develop programming systems.
* Expert knowledge of computer logic and flow-charting.
* Respond promptly and professionally to bug reports.
* Expert knowledge of computer program design methods and techniques.
* Expected to conduct system analysis and development, with limited support from professional staff.
* Expert knowledge of all database vendor versions.
* Analyze system specifications and translate system requirements to task specifications for [[Software and Systems Developer| Software and Systems Developers]].
* Expert knowledge of all compiler versions.
* Test new programs to ensure that logic and syntax are correct, and that program results are accurate.
* Ability to learn new programming languages quickly.
* Assist [[Software and Systems Developer| Software and Systems Developers]] with programming assignments.
* Good knowledge of mathematical and statistical principles and formulas.
* Ensure that <u>code documentation</u> is happening consistently throughout the development process by listing a description of the program, special instructions, and any changes made in database tables on procedural, modular and database level.
* Assists the Programmer Analysts in designing programs and databases.
* Ensure that <u>code is always structured</u> and any other programmer can continue coding without need for consultation and new learning.
Ability to write, edit, and debug computer programs to achieve desired output.
* Consult with, and advice the [[Lead Software Design Engineer]] and the [[Senior IT Manager]] regarding professional software for sharing and maintaining code, bug and version control.
Ability to work productively in a team.
* Search, summarize and keep the team abreast of strategic information from all sources.
Expert knowledge of maintaining and debugging live software systems.
* Capable of writing proposals or papers.
Expert knowledge of writing program documentation.
* Making presentations to customer or client audiences or professional peers.
In-depth technical knowledge of the current hardware.
* Maintain positive client interactions.
Expert knowledge of used operating systems.
* Strong and effective inter-personal and communication skills and the ability to interact professionally with a diverse group of clients and staff.
Expert knowledge of standard development tools.
* Provide recommendations to management concerning issues of programmer productivity and software development management.
Expert knowledge of networking technologies from the programmers prospective.
* Consult with the [[Lead Software Design Engineer]] and the Management regarding professional skill development.
Ability to determine whether a particular problem is caused by hardware, operating systems software, application programs, or network failures.
* Participate in development of long range planning for new projects and facilities.
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.\




[[Category: Definitions]]
[[Category: Definitions]]
[[Category: Organizational Roles]]

Latest revision as of 05:52, 21 March 2015

The title Senior Software Engineer and Project Manager is reserved for persons working 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.

People with this title


The key responsibilities are:

  1. Work closely with upper management to ensure prioritization of work according to Board priorities.
  2. Responsible for planning, processing, performing and supervising all jobs and tasks in an efficient manner with no need for assistance from a supervisor.
  3. Efficient and explicit prioritization of tasks and supervision and support of Software and Systems Developers to ensure their timely implementation and completion.

What the Board expects

  • Ability to solve problems quickly and completely.
  • Ability to multi-task and stay organized in a dynamic work environment.
  • Possess, and send out to others, a positive attitude, as well as ensure pleasant working conditions for all.


Responsibilities include:

  • Analyze, design, coordinate and supervise the development of software systems.
  • Work closely with Software and Systems Developers to design and develop programming systems.
  • Respond promptly and professionally to bug reports.
  • Expected to conduct system analysis and development, with limited support from professional staff.
  • Analyze system specifications and translate system requirements to task specifications for Software and Systems Developers.
  • Test new programs to ensure that logic and syntax are correct, and that program results are accurate.
  • Assist Software and Systems Developers with programming assignments.
  • Ensure that code documentation is happening consistently throughout the development process by listing a description of the program, special instructions, and any changes made in database tables on procedural, modular and database level.
  • Ensure that code is always structured and any other programmer can continue coding without need for consultation and new learning.
  • Consult with, and advice the Lead Software Design Engineer and the Senior IT Manager regarding professional software for sharing and maintaining code, bug and version control.
  • Search, summarize and keep the team abreast of strategic information from all sources.
  • Capable of writing proposals or papers.
  • Making presentations to customer or client audiences or professional peers.
  • Maintain positive client interactions.
  • Strong and effective inter-personal and communication skills and the ability to interact professionally with a diverse group of clients and staff.
  • Provide recommendations to management concerning issues of programmer productivity and software development management.
  • Consult with the Lead Software Design Engineer and the Management regarding professional skill development.
  • Participate in development of long range planning for new projects and facilities.