Senior Software Engineer and Project Manager: Difference between revisions

From Future Worlds Center Wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 7: Line 7:


In more detail the responsibilities include:
In more detail the responsibilities include:
Design and develop programming systems making specific determinations about system performance.
 
* Work closely with [[Software and Systems Developer| Software and Systems Developers]] to design and develop programming systems making specific determinations about system performance.
Responding promptly and professionally to bug reports.
Responding promptly and professionally to bug reports.
Review and repair legacy code.
Expected to conduct system analysis and development, with limited support from professional staff, to keep our systems current with changing technologies.
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, design, coordinate and supervise the development of software systems to form a basis for the solution of information processing problems.
Line 18: Line 18:
Writes, edits, and debugs new computer programs for assigned projects, including necessary records and desired output.
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.
Tests new programs to ensure that logic and syntax are correct, and that program results are accurate; assists lower-level programmers with programming assignments.
Document code 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 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.
Responsible for reading, understanding, and utilizing all part and assembly prints, forms, spreadsheets, bills of material, specification sheets, and technical references.
Responsible for utilizing tools and equipment involved in performance of essential functions of programming including measuring instruments.
Search, summarize and keep the team abreast of strategic information from all sources
Search, summarize and keep the team abreast of strategic information from all sources
Maintain client databases
Capable of writing proposals or papers.
Capable of writing proposals or papers.
Making presentations to customer or client audiences or professional peers.
Making presentations to customer or client audiences or professional peers.
Line 37: Line 34:
Additional skills and/or areas of expertise:
Additional skills and/or areas of expertise:


Ability to solve problems quickly and completely.
* Ability to solve problems quickly and completely.
Ability to identify tasks which require automation and automate them.
* Ability to multi-task and stay organized in a dynamic work environment.
A solid understanding of networking/distributed computing environment concepts.
* Possess a positive attitude.* Ability to identify tasks which require automation and automate them.
Solid understanding the principles of routing, client/server programming.
* A solid understanding of networking/distributed computing environment concepts.
Possess excellent communication skills, with an emphasis on verbal and written communication.
* Solid understanding the principles of routing, client/server programming.
Ability to multi-task and stay organized in a dynamic work environment.
* Possess excellent communication skills, with an emphasis on verbal and written communication.
Possess a positive attitude.
 
Ability to "think outside the box".
Ability to "think outside the box".
Consult with the Lead Programmer and the Technical Manager regarding professional skill development.
Consult with the Lead Programmer and the Technical Manager regarding professional skill development.
Line 56: Line 53:




Skills
====Additional Technical Skills wished but not required ====
 
* Expert knowledge of several computer languages
Expert knowledge of computer languages.
* Expert knowledge of data structures.
Expert knowledge of data structures.
* Expert knowledge of computer logic and flow-charting.
Expert knowledge of computer logic and flow-charting.
* Expert knowledge of computer program design methods and techniques.
Expert knowledge of computer program design methods and techniques.
* Expert knowledge of all database vendor versions.
Expert knowledge of all database vendor versions.
* Expert knowledge of all compiler versions.
Expert knowledge of all compiler versions.
* Ability to learn new programming languages quickly.
Ability to learn new programming languages quickly.
* Good knowledge of mathematical and statistical principles and formulas.
Good knowledge of mathematical and statistical principles and formulas.
* Assists the Programmer Analysts in designing programs and databases.
Assists the Programmer Analysts in designing programs and databases.
Ability to write, edit, and debug computer programs to achieve desired output.
Ability to write, edit, and debug computer programs to achieve desired output.
Ability to work productively in a team.
Ability to work productively in a team.