Secrets to Advance Your Software Development Career
Tags: career, codenewbie, beginners, codequality
Published: 2020-10-11 21:21:55

**Check out my books on Amazon at https://www.amazon.com/John-Au-Yeung/e/B08FT5NT62**

**Subscribe to my email list now at http://jauyeung.net/subscribe/**

# Introduction

If you want to become a successful developer, you have to learn more than writing code to become successful.

In this article, we’ll look at how we can all become successful developers

# Data Structure and Algorithms

Most of the time, developers are thinking about how to solve problems, and data structures and algorithms are the basic building blocks of solving problems with code.

They’re also needed to pass interviews if you ever want to get a job, where you may need to solve some data structure and algorithms on the fly.

Therefore, we all need to know about basic data structures like linked lists, arrays, and trees.

Basic algorithms like sorting, recursion, and iteration are also must learn skills.

To practice them, go to [Geeks for Geeks](https://www.geeksforgeeks.org/) or [LeetCode](https://leetcode.com/) for plenty of problems to solve.

# Popular Programming Languages

Learn some popular programming languages so that you can start using them anywhere. They’re popular because they’re used by companies to develop their software, so it’s time to learn them by practicing at home.

You may also be asked some trivial questions about them in interviews, so it couldn’t hurt to learn them.

Popular languages like JavaScript and SQL are used by web apps a lot, and Python is used for data science.

JavaScript is the only programming language for front end development and SQL is the most popular query language for databases.

Java is popular for enterprise apps. So at least those are worth learning somewhat.

# Source Control

Source control is needed to keep track of changes in codebases so that we can revert bad changes and merge everyone’s changes together.

Git is probably the most popular version control system. It’s a decentralized version control system so that the code repositories are distributed in people’s computers.

With decentralized version control systems, we have to learn how to check-in and check out code. Also, we have to learn how to push and pull code from remote repositories.

Also, we have to learn how to fork and make pull requests to make a copy of other people’s repositories and to ask others for review before merging code respectively.

# Text Editors

Text editors are used for editor source code. Many projects can be written with just text editors alone.

Projects that are written in interpreted languages can be written with text editors, while ones that are compiled like Java may need an IDE.

Learning keyboard shortcuts for them is also important for speeding up development with text editors.

Popular text editors include Notepd++, Visual Studio Code, Sublime, Atom, etc. So take your pick and see which one is right for you.

# Integrated Development Environments

Integrated development environments (IDEs) lets us create and modify code projects and files. We can also run and debug code with it.

They provide all the tools to write, debug, and compile code all in one program. They are especially useful for projects that are done with compiled languages like Java and C#.

Popular IDEs include Visual Studio, Netbeans, and IntelliJ.

# Databases

Most programs have to save data. And a lot of data are saved in databases. We have to learn databases to save data and then update them.

SQL is the most popular query language for creating, updating, reading, and deleting data.

Therefore, we should learn them fast. To make our job easier, we should learn about SQL queries, including nested queries, grouping, etc.

Popular database management systems include MySQL, PostgreSQL, etc.

NoSQL database is also used in some situations like caching. They may save data as JSON or key-value pairs. Popular ones in this category include MongoDB and Redis.

# Conclusion

There are many ways that we can improve how we work as developers.

Adopting these tips and watching out for mistakes will definitely pay off in the future.