September marks my first full year at PSI, which is also my first year out of academia and developing enterprise level software. This year has taught me a lot about the differences between the two. Since a new academic year just ended, I wanted to use my unique position to give three tips I wish I knew coming into enterprise development.
Learn the Jargon
Tech Jargon often gets a bad reputation as it is viewed as needlessly complicated but, like any tool, when used properly, it can make your job easier. Consider this message I sent my team member recently: “Are you using the VM? I was hoping to test one feature of 98737 before I built an AMI for PE because I think I may be able to avoid the deploy.”
This message contains a lot of terminology which can be difficult for beginners, but it conveys a specific process and the tools needed to achieve it succinctly. One way our project helps beginners learn all the terminology is that the teams maintain a confluence wiki page with all the common acronyms that a developer may encounter. This can be added to by anyone as new processes and technology are added to the project. If your company doesn’t have a repository of information like this, it might be a fantastic idea to implement one yourself. It’s a great learning experience and a useful tool for those who will be in your position in the future.
Odds are your first enterprise project will be the largest project you have ever worked on. Enterprise software is a collaborative effort and typically needs to meet more use cases than academic development. Getting familiar with a large project can be daunting but, fortunately, modern software processes typically employ a type of code review for changes, which is a terrific way to learn. As your team submits changes for review, even if you are not the one approving them, you should read the ones you have time for, especially the smaller ones. The benefit is that you will learn how a variety of subsystems interact with each other as well as the proper way to change those systems when a new feature needs to be added or a bug needs to be fixed. Eventually, you will start to approve and suggest changes for these code reviews, which is an overlooked but appreciated skill.
Your Bash Profile is One of Your Biggest Assets
One unavoidable reality of modern development is that a lot of it still happens at the command line. While flashy GUI programs can be user friendly, they can also be inefficient and bloated. As you find yourself working from the terminal, you will notice that there are several you are constantly running and may want to reduce the amount of typing you have to do. This is where your bash profile comes in. By adding aliases and functions, you can reduce a complex set of instructions down to something as simple as two characters. On Linux and Mac, this file is typically saved in ~/.bash_profile and will come with a few useful aliases already, but if you’re working on Windows, you’ll want to follow David Nichol’s tech tip for setting up WSL here. An additional benefit of this is not just that it saves time, but also that it keeps your commands consistent, which will reduce errors and prevent needless debugging.
Written by Taidgh Robinson
Web Application Developer