What does Software Engineering means ?
Software Engineering is the capability of analyzing needs and constructing and designing a
certain application
that provides these needs through the use of software programming languages. And as we know, a
user needs is always
in permanent state, so the software Engineering involves also the process of analyzing existing
software and
modifying it to meet the current needs, as a result the software engineer is also in permanent
work. His work
demands using the best practices and processes that should be applied in software development,
in other words,
there must be discipline and control during all the process.
Why choose
Software Engineering
?
The most important precondition is to love software engineering,
to have a passion for
it, to be eager to explore learn invent and create new applications. Also everyone has this
mistake of thinking
that a software engineer is just a programmer or a «coding-monkey » anybody
can do that, which
totally wrong, you should be a real engineer that knows not only how to code but to know so
many other aspects like
: analyze the needs, code both front-end and back-end « full stack »,
work with database,
with servers, write automated tests, think about the application architecture, the development
environment,
technologies and frameworks and the gesture method of the project ...etc. Furthermore, to be a
software engineer
you must certainly work professionally on many software projects with many people that can be
part of the
developing team or your superior or the product owner that can have no relation with
programming world, all does he
want is a final product that provides all his needs, so the point here is to learn how to
communicate with all
member of the team and sure to understand each one of them. Another important point for a
better software engineer
is to spend some private time with himself to learn permanently new stuff about all the new
technologies used in
this domain.
So if you are able to do all this things you should be a software
engineer. Also,
software engineer is a smart career choice – it's one of the most in-demand skills in the
world.
What are the new technologies used in software ?
• Chatbots for driving conversations
• Artificial Intelligence (AI),
Machine Learning and
Cognitive technologies
• Blockchain
• Data security
• Big data
What are
the newest frameworks
used in software ?
Angular
AngularJS is an
open-source JavaScript
framework. Designed to build single-page applications. Its goal is to extend browser-based apps
based on the MVC
template, as well as simplify testing and development
Django
Released in
2005, Django is a framework that is written in Python.Django follows the Model-View-Template
(MVT) architecture.
Generally, complex and data-driven websites are built using this framework. Just to give you an
idea, popular sites
like Instagram, Disqus, and NASA, have been built using Django.
Laravel
Laravel is a free PHP general-purpose open source framework, which was born relatively recently
- in 2011, but
thanks to the rapid development today it is one of the most popular PHP engines, which can save
you from spaghetti
code.
Spring
Spring is the most popular Java
Framework and is
extensively used in enterprise solutions. Most of the enterprise solutions which use Java are
Spring Framework
based. Java is also a popular choice in enterprise solutions.
Spring and all its modules
including Spring
MVC, Spring Core, Spring Security, Spring ORM etc are used in enterprise applications. It is a
good choice for
building massive web based applications.
Ruby on rails
Ruby on Rails,
or simply Rails, is a server-side framework that is written in Ruby (programming language).
It’s associated
with Rapid Application Development (RAD), as it supports the reusability of code and
accommodates changes rather
easily.
It has an extensive development community, owing to its open source nature. Rails
prefers conventions
to configuration. In other words, developers can use various conventions instead of configuring
files. This
significantly speeds up the development process.
Symfony
Symphony is a
PHP framework that is quite rich in features. Two things which make it quite popular in the
developer community are
bundles and components.Another highlight of Symfony is its documentation, which is on par with
the best PHP
frameworks. It is very legible, well-structured, and supplemented with various eŃ…amples.
Moreover, it is frequently
updated.
How is Software Engineering in our Institute (INSEA) ?
The
formation in our Institute is known for the quality of the engineers graduated, this formation
provides for its
students a lot of knowledge that goes with current demands of the market and makes the graduated
software engineers able to confront We find concretely in our formation different modules like : project gesture
and quality methods,
Software Architecture, Java Recent Framworks like spring hibernate and others, ERP,
Urbanization of information
system, these are the essential fields that are programmed for the software engineers in our
Institute that make
them able to adapt in any job, and of course many other courses. As for the statistics in
Morocco confirm that the
software engineers from INSEA are permanently demanded.