Professional Documents
Culture Documents
SOFTWARE ENGINEER
P R E S E N TAT I O N B Y
J OSHUA KU MI A SARE
OBINNA GODSPOWER
EVOLUTION OF THE SOFTWARE
INDUSTRY
Growth of the software industry has been sharp for the past 3 decades.
Changing industry dynamics
Changing customer needs
Automated processes
TOOLS
Editors/IDE
Continuous Integration
Source Control
Frameworks
EDITORS/IDE
IDE provides comprehensive facilities for software development.
IDE basically consists of a source code editor, build automation tools, and
debugger.
Development was via terminal before IDE’s
Dartmouth Basic first program to be created using IDE’s
Other Uses
Syntax highlighting
Code completion
Refactoring
Version Control
Debugging
Code search
Eclipse, wing IDE, NetBeans, Code Blocks, IntelliJ IDEA, Microsoft Visual Studio,
Pycharm etc.
Continuous Integration
Automating the build and testing code
Should happen several times a day
Committing code triggers an automatic build, test and validation of the full
master branch by the CI server.
Continuous delivery and Continuous deployment incorporates the concepts of
continuous integration.
Why Continuous integration?
E.g. Jenkins, TeamCity, Travis CI, Go, Bamboo, GitLab CI
Source Control/Version Control
Basically tracking and managing changes to code.
Provides a running history of code, development and help resolve conflicts when
merging.
Collaborate on code with dev team
Isolate work until it is done
Quickly trouble-shoot issues by identifying who made changes.
Provide centralized source for code
STRUCTURE OF BASIC VCS
Trunk/Master – Hub of your current, stable code. Contains tested and unbroken code
Branch – Copy of trunk code. Developers can work here without disrupting each other’s progress