Beginner Programmer Tips and Tricks
When first dipping your toe into the expansive ocean of knowledge that is software engineering, you’re going to use your computer in ways you never knew existed. Gone are the days of guilt-free endless scrolling through Twitter, Reddit, and Instagram. Now when you‘re sitting at your desk there is always a puzzle to solve, an idea to conceptualize, a world to create.
Not only is the beginner programmer using their computer in ways they never imagined, but they are also probably spending more time on it than ever before. There is a great youtube account I follow called TechLead, he is an “Ex-Google Tech Lead.” In this video (https://www.youtube.com/watch?v=KuBI9lq80DM) he mentions how, when starting a new job, he will spend much more time than is generally expected just to get his desk and computer environment exactly how he wants it. Though the beginner programmer is not going to have all the specificities of the TechLead, it is still helpful to get an environment that you find works well for you and your workflow. In this article, we will be using Visual Studio Code as our text editor. There are other great options such as Sublime, Atom, and XCode but these examples will be geared toward VS Code. All of the options below can be found in the extensions marketplace found inside VS Code.
There is, what seems like, an endless amount of variations to make up color themes. Among the highest regarded are Dracula as the dark theme and Solarized Light as the light.
As you progress through your software engineering journey you’ll start to build and encounter projects with multiple files nested inside multiple folders. At first, this can be difficult to mentally separate these files into their intended purposes. It can be a bit easier, when not using command+p to jump between files, to have specific icons attached to certain file types. This can be installed easily using the vscode-icons extension.
Developers of all experience levels have the issue of constantly having to switch between and resize windows to make multiple views visible. One way to make this a bit easier on you is to use a program called Spectacle (spectacleapp.com). The commands are programmable but right out of the box you can use command + option + arrow keys to arrange your windows in the desired fashion.
As programmers, we want to automate as many of the repetitive, mundane tasks so we can focus on the higher levels of abstraction. Don’t subject yourself to needless error messages when your logic is working but you misspelled “customer.” Things like closing tags(Auto Close Tag), renaming the same tag in multiple places(Auto Rename Tag), misspelled words(Code Spell Checker), and unfamiliarity of which bracket or parentheses matches (Bracket Pair Colorizer) can all be automated using these four extensions.
By now we all know the basic shortcuts like copy and paste but below are some lesser-known options that will be helpful to the up and coming developer.
- Control + z: undo action
- Control + shift + z: redo action
- Command + tab: switch between programs
- Command + left/right: move the cursor to the beginning or end of the line
- Option + left/right: move the cursor to the next word or punctuation
- Command + x: cut selected items
- Command + shift + up/down: highlights everything above or below your cursor
- Command + click: move a window in the background without bringing it to the front
- Option + shift + up/down: duplicates the same line of code up or down
- Hold option + click: multi-cursor editing
The life of a software engineer is a journey of constant learning and discovery. Once it feels like you have a solid grasp on a subject, you find a whole new element to it to learn. Just have the mindset that any new thing learned is a positive thing. This subject reminds me of an old Vince Lombardi quote, “The difference between a successful person and others is not a lack of strength, not a lack of knowledge, but rather a lack of will.” It’s easy to give up when learning software engineering but stick with it and you’ll see the fruits of your labor.