The road to becoming a self-taught developer is a long and arduous one. Sometimes, when I reflect on all the hurdles and frustrations I faced along my journey, I wonder whether I would’ve embarked on it — knowing what I know now. Ultimately, the answer is absolutely.

While the learning curve is steep for someone (like me) who starts completely from scratch, I do believe that the long term benefits vastly outweigh the uphill battle one most overcome. That is, as long as you are finding some enjoyment in the things you are learning.

It took me several years to learn that being a good software engineer takes more than just being able to build something quickly and with ease. Don’t get me wrong—checking in changes efficiently and expediently is an important part of the job, and something you get better at over time. Still, what a lot of beginners don’t realize is that learning the ropes of software development requires more than just getting your program up and running.

With all of this in mind, here are five things in addition to coding that I didn’t realize I would need as a beginner developer!

1. Collaboration Tools

A lot of the popular self-teaching coding platforms focus on learning crucial syntax and data structures of a particular language. Some allow you to create basic programs from scratch — maybe a fun tic-tac-toe game or a simple “To-do” list tracker. These lessons are invaluable for getting started on your programming skills, but they don’t really mimic the environment you would realistically work at in the industry.

Developers, after all, must collaborate on large products, and sometimes on several different code bases. In the same way that other teams use tools like Google sheets or Invision to collaborate, developers also have their own industry-standard suite of collaboration tools. At my company, and at tens of thousands of other US companies, we use Github.

I will never forget the day I was introduced to Github by my coworkers. First, I was told to open my computer’s terminal — something I didn’t even know existed on my machine. My coworkers then began typing what seemed like a bunch of gibberish inside this mystery window on my screen. That gibberish seemed to do magical things, like populate several folders on my computer with all sorts of files full of code. They began talking about “branches” and “pushing up”, and about something something “remote”. Everything seemed to start with the word _git. _I knew they were speaking English, but I couldn’t wrap my head around what they were talking about.

If you’re a beginner who has never collaborated on a coding project with others, learning the ropes of collaboration languages and tools (such as git and Github) will inevitably become a part of your learning process. It may seem overwhelming, especially if you’ve never explored the command line on your computer. Eventually, though, it will become second nature to you.

#learning-to-program #programming-tips #tech #machine-learning

5 Unexpected Skills to Master as a Beginner Software Engineer
1.35 GEEK