Software Engineer

Software Engineer

Summary

Software Engineers are responsible for writing, maintaining and fixing code in applications. They are skilled in one or more programming languages like Java, Go, or Javascript and are practiced in software lifecycle management. Software engineers implement key business requirements as given to them by Product Managers. They often work closely with Quality Assurance and Technical Writers. Software Engineers typically report to Engineering Management or the Chief Technical Officer.

Key Skills

  • Knowledge of a programming language like Java, Javascript, Go, C, C++, Scala or Ruby.
  • Working experience with Version Control Systems (VCS) such as Git or Subversion and tools like Github or Bitbucket.
  • Experience in writing fault tolerant, scalable systems that won’t crash under heavy traffic.
  • Good logic skills
  • Knowledge of how key computer hardware systems work, like memory, disk and CPU

Typical Credentials

Most software engineers have a computer science or related degree from either a 2 year or 4 year institution. Some also obtain Master’s or Doctorate degrees. None of these are required if one can demonstrate the necessary skills through other means, like open source projects or prior applications.

Related Titles

Example Job Descriptions

Software Engineer for IFG Companies

Job Brief
Software Engineer will be responsible for writing code in various languages, like Angular, .Net, and SQL. The role is to build high quality, innovative, and fully performing software that complies with coding standards and technical design.

POSITION RESPONSIBILITIES
We are looking for a software engineer who is passionate about full life cycle software development. We need someone who enjoys programming well-designed, testable, and efficient code. Software Engineer will be responsible for writing code in various languages, like Angular, .Net, and SQL. The role is to build high quality, innovative, and fully performing software that complies with coding standards and technical design.
 
KNOWLEDGE | SKILLS | ABILITIES
Able to write well-designed and testable code
Able to execute full software development life cycle
Able to troubleshoot, debug, and upgrade existing systems 
Can comply with project plans and standards
Able to use version control software such as TFS, VSTS, GIT
Possess the following:working knowledge of object-oriented design and development skills
knowledge of Angular design patterns and related technologies like WebPack, Polyfills, Bootstrap, etc.
knowledge pf JSON, XML, REST, RDBMS, MVC frameworks, JavaScript, JQuery, JSON
knowledge of C# using Visual Studio using MVC and Entity Framework
knowledge with Scrum/Agile development methodologies
 
EXPERIENCE
Experience with technologies necessary for Internet applications: HTTP, TCP/IP, POP/SMTP, etc.
Experience developing services using protocols such as REST, SOAP and API design for extensibility and portability
Experience writing SQL queries for SQL Server or another relational database
Experience with Javascript frameworks like JQuery, Knockout, Angular
EDUCATION | CERTIFICATIONS
Bachelor’s Degree in appropriate field of study or equivalent work experience.
Certifications in the appropriate technologies.

Downloaded from the IFG Website, Jan 2, 2019

Interview Resources