Software Engineering
What is Software Engineering?
Software Engineering is the process of designing, creating, testing, and maintaining software. It is a field of engineering that is concerned with the production of software that is of high quality, Reliable, and cost-effective. There are many different approaches to software engineering, but the main goals are to produce software that is of high quality and to do so efficiently and effectively.
The first step in software engineering is to define the problem that the software will solve. Once the problem is defined, the software engineer can begin to design a solution. The design process is concerned with creating a blueprint for the software. This blueprint will describe how the software will be organized, how it will work, and what it will do.
Once the design is complete, the software engineer can begin to write the code for the software. The code is the set of instructions that the computer will use to carry out the tasks defined in the design. Once the code is written, it must be tested to ensure that it works as intended.
After the software is debugged and ready for release, it must be maintained. This includes ensuring that the software continues to work as intended as the operating system or hardware it is running on changes. It also involves providing support to users and fixing any bugs that are discovered.
Software Engineering Resources
Learn C++ - Codecademy
Learn C++ programming fundamentals including variables, functions, loops, and vectors through Codecademy's interactive hands-on coding exercises.
Learn CSS - Codecademy
Master web design with CSS through interactive lessons covering selectors, layouts, flexbox, grid, and responsive design principles.
Learn Java - Codecademy
Comprehensive Java programming course covering object-oriented fundamentals including classes, inheritance, and polymorphism through interactive exercises.
Learn HTML - Codecademy
Learn to build web pages with HTML through interactive coding exercises covering elements, structure, forms, and semantic markup.
Learn JavaScript - Codecademy
Interactive JavaScript programming course covering fundamentals from variables and functions to arrays and objects, with hands-on coding exercises.
Introduction to Protocol Buffers (LFS145)
Protocol Buffers (Protobuf) is a fundamental data serialization format that every Data Engineer or API Designer should know about. It is leveraged by many top tech companies such as Google, Netflix, and Uber and enables micro-services to transfer data in an efficient way.