4 Areas to Master for New Developers!
Coming from a 16-week full-stack coding bootcamp, I learned a bunch of skills and technologies jammed into such a short time. I learned and used several modern programming languages, frameworks, databases and other important pieces of tech. I spent time building a couple applications, working on projects with cohort members and learning the skills to teach myself other new languages/frameworks. Even though much of the knowledge I gained from the bootcamp is greatly helping me now, there are some on-the-job skills the bootcamp didn’t emphasize as much on (definitely mentioned though!) that I use everyday and that I think is really important for any developer to hone.
Here are the 4 areas that I think every new developer should try to master:
I’ve only used Git when it comes to version control. However, the general knowledge here is still applicable to any version control system. For Git, I only learned the absolute essential commands needed to make a branch, to commit and to push up my code. For something I’ve used every single day in the bootcamp and in my current job, it’s really important to have many commands ready at hand because you’re going to need different tools for different situations. A couple commands that have been totally game changing for me are:
git add -p(this allows you to individually see all the changes you’ve made and approve each of them before commiting)
git commit --amend -m 'enter new commit message here'(this allows you to change the last message of your git commit and allows you to write a new commit message)
git rebase master(this allows you to update your secondary branch from the master branch incase you ever have updated changes in your master branch that you want to add into your secondary branch)
Advice: Lookup your version control documentation, go through each one and try out some new commands.
This piggybacks off of version control systems and the advice is pretty similar. Besides just creating folders, moving into and out of a folder and deleting files, find out if there are other efficient ways to navigate the terminal. When you are adding new software to your local device using the terminal, ask yourself: “Do I really understand this command?”. Often times, I will copy paste commands into my terminal because a website said so and that’s not going to help me really understand how everything functions. By understanding the commands and what it means, your ability to troubleshoot and tackle issues will be much smoother. A few examples that come to mind are:
- typing in
clearor CMD + L (for macOS) to clear your terminal
- typing in
cat filenameprints out the file to your terminal
- typing in ctrl + R allows you to search through commands you’ve used previously
Advice: Lookup official terminal documentation and try out terminal commands that you don’t already know.
I struggle with this the most because many times when I get stuck, I want to solve the answer myself without help or spend way too much time before asking for it. Sometimes I have 15+ tabs open searching for answers and I spend way too much time on something that could easily be answered in minutes/seconds by just asking. I think there is a good balance between being self-sufficient and asking for help.
A practical example might be to set a 30-minute timer investigating the problem by yourself. After the timer is up, ask the question to another developer. Another developer may know the answer and teach/explain how to get to that answer much quicker than trying to solve it on your own.
Advice: Timebox a set time for yourself and know what exactly you want to ask.
I didn’t know how important of a ‘skill’ this would be and I’m still in the process of getting better at it. Each situation will warrant searching a different source in a different way. If you don’t understand some piece of syntax, looking up official documentation might be best. If you encounter a bug in your terminal/command prompt, searching through stackoverflow for other who might have been in similar situations could be better. Searching is a skill so keep practicing it!
Advice: Use keywords in your search rather than phrasing your search as a question.
4 Takeaways as a Mentor of a New Developer
07/16/2021 - Sarah Sunday
A complementary post to Jonathan’s 4 Areas to Master for New Developers blog post: My takeaways after around two months of onboarding/mentoring a recent bootcamp graduate without professional software development experience. I’ve mentored before, but never at this experience level,...
Trunk-Based Development in Practice
03/08/2021 - Sarah Sunday
Before I get into how trunk-based development works for us, I’ll direct anyone looking for a comprehensive primer and argument for trunk-based development to this Atlassian article. This article compares the two primary development flows and gives the benefits for...