A Path's End

20 Jan 2021

Coming to an end

I am not in competition with anyone but myself. My goal is to improve myself continuously.
- Bill Gates

Continuously toward the path ahead, I have always found satisfaction in learning and improving myself. This path is software engineering. As you can recall from my A Path Discovered essay, I started with little knowledge of the inner workings to becoming a software engineer and to how a computer functions. Until today, 5 months later, my mind was unlocked to 3 concepts that led me to this path's end.

Open that source

One concept is called Open Source Software Development. Computer languages learn new things, the paradigm changes, and the only way to learn that is through already developed code. That defines what is Open Source Software Development, but how can we use it beyond just building software for web applications. The first benefit is source code, although beneficial to the basis of building a web application, by using source code, noob programmers can learn from experienced programmers code. Sites such as: Github, SourceForge helps with that and along with it constant changes from many people around the world. The second benefit is installation and usage, as there are many users looking for a template to begin with; the installation and usage is what brings it beyond web application development. For example, the getting started section of the game pushed by the initial author helps installation and usage without any programming knowledge. The last benefit dissimilar to that of external users is that of external developers where they are allowed to use their skills to help with other developers code. As per the GamePlay website, it has many contributors to the code, which allows the concept of Open Source Software Development to exist outside the realm of just building software for web applications.

Take care of your environment

The second concept is finding your Development Environment or Integrated Development Environment (IDE). Overall, I've been through a couple of development environments or as I refer to it as the universal microsoft office for programmers. I call it this because like Microsoft Offices' Powerpoint, Excel, Word applications. They all are unified to export under there respective formats. In a similar way, there are development environments out there to write, export, run, in its respective formats like javascript, cpp (c++), java, cs, c, etc... A few of them are Eclipse, IntelliJ IDEA, Visual Studio Code, and XCode. Development environments such as these are universal, but have different interfaces. Nonetheless, while some run certain languages others can run more expensive languages like Swift, which the IDE XCode uses to build Apple Software. So, outside of web application development, there exists development environments to build applications and software for programmers to use.

## What's the issue? The last concept is Agile Project Management, this is a concept you will need in all aspects outside of web application development. Github's issues menu helps with that since you can create issues, close issues, reopen issues, and basically have a layout for what needs to be done before a deadline. This can also be referred to as the issue driven project management. With that comes the benefit that, it isn't just made for web application development, but it can pertain to developing games, mobile applications, and software. An example that explains this well is the 3D game Minecraft. Mekanism from github created a java inspired mod for the game, it has over 50 issues completed, in addition to a project board, which can also come in handy when organizing your issues. As a result, web application development isn't the only way that github can use it's issues and project board menu.