3 things for an aspiring programmer - part 1
There are a few essential things a person has to know or learn before he becomes a software engineer.
Build management tool: Every team follows a process in gathering the source code and other components of the project to build it. Building a project produces a deployable and/or an executable piece of software that is ready to use. A new programmer needs to know the standard build tool or framework that is commonly used for their programming language. For example, Gradle and Maven are typically used for the build-management of Java projects.
Version Control: Version control also known as revision control is critically important for any team that has more than 1 developer and projects with more than a couple of source code files. The underlying idea of a version control system lies in the fact that source code is managed centrally in a repository which tracks all the changes to source files made by all team members. While the revision control system does depend on the programming language your team is using, each team is free to choose any tool of their choice among few that are available (Git, perforce, SVN, CVS, Microsoft Source Safe, ClearCase etc).
Deployment: Any piece of software code after it is developed and tested for its functionality, needs to be made available for its users to access its functionality. This process of setting up a piece of packaged software to be accessible to the users is called 'deployment'. The steps one needs to follow to deploy a piece of software depend on the programming language that is chosen and the mode the software is being made available to the end-user. As a developer, it is essential to understand how you or your team plan(s) to deploy your software.