In the previous article, Bytesoft has shared with you some tips to become an excellent programmer. And in this writing, we would like to share more experiences - To become an excellent programmer - Part 2

Step 3: Make a research on framework

Make-a-research-on-framework

Make a research on framework

Now it’s time to focus on a particular framework. At this level, you have gained some certain knowledge, at least the knowledge about programming language, and some experiences to work on a framework for mobile and web applications.

Learn more: Blockchain 2.0

Choose a particular framework to dig deep in so that you can work effectively in some certain environments. Which framework to choose might depend on what type of programmer  you want to become in the future. For example, if you want to become a web developer, you might need to learn more about a web framework that is built on the top of the programming language you are writing. If you want to become a mobile application developer, you need to learn about a mobile operation and the framework associated with it.

Try to dig deep in that framework. It might be time-consuming, but it’s worthy of your effort. Do not try many different frameworks at a time - it will make you distracted. Think about the job you wish to get, then learn the necessary skills using the framework and programming language you have been learning. Remember that you can widen your knowledge and skills later in the future.

Step 4: Learn about a database technology

Learn-about-a-database-technology

Learn about a database technology

Almost all of the software developers need to have basic knowledge about some database technologies because many applications require a back-end database. Therefore, make sure that you did not skip this step.

You might soon realize the advantages of learning SQL database - even if you plan to attach your work with such NoSQL databases as MongoDB or Raven, knowledge about SQL database will create a better and stronger foundation for your future career.  There are many jobs out there requiring SQL rather than NoSQL database proficiency.

Learn more: Blockchain 3.0

Don’t worry too much about the fact that there are many types of SQL database out there. Actually, they still share some features in common. If you can gain basic knowledge about one SDL technology, you can easily get used to another one. Make sure that you can be proficient in basic functions such as table, query, etc.

It is highly recommended that you read an informative book about SQL technology which is suitable and necessary for some small projects. Remember to put all the thing you can draw from the book into practice.

With appropriate knowledge about SQL, you can:

- Create table

- Deal with simple queries

- Join tables to extract data

- Understand how index works

- Insert, update and delete data

Additionally, you need to explore the Object Relational Mapping (ORM). Basing on the the framework you have made researches on, you can decide which to learn first. It would be better if you choose the popular ones.

Step 5: Get a job to support an operating system

Well now you have gained necessary knowledge and skills to get a simple job as a software developer. If you can show me you have basic knowledge about programming languages, get some basic idea about database, be able to work on a  framework and create your own application, then I will choose you, as many other employers will do.

Perform maintenance on an operating system: Do not focus on highly qualified jobs, your dream jobs, at this stage. Instead, performing maintenance on an operating system might be a good idea. This system should be written in the programming language and operated on the framework that you have learned.

It is highly likely that you will not find exactly that type of job, yet maybe a better one. Try to apply for positions which require the exact technology you have chosen.

Working as a maintenance engineer might be boring. It might not be as exciting as other creative jobs; however, please note that the work target at this stage should not be fun or salary, but to gain as much experience as possible.

Working in an existing system with a group of developers will help you widen your knowledge and see how major systems work. Also, you can employ your knowledge to the operation of the system.

Be enthusiastic in this work and try lo learn as much as you can. Do not focus on salary now, just try to take different roles in that project, work effectively and gain the most positive outcomes, widen your knowledge and skills. Things will come to you later.

Step 6: Draw lessons from structural case study

Draw-lessons-from-structural-case-study

Draw lessons from structural case study

Now, focus on enhancing your code quality. Do not pay great attention to software design at this time. You should improve yourself in order to write "clean code" which  is easy to understand and perform maintenance. To reach that target, it is advised that you read more and view more samples of good code.

Go find and bring these following books to your book self:

Code Complete

Clean Code

Refactoring

Working Effectively With Legacy Code

Programming Pearls (do all the exercises)

JavaScript: The Good Parts

Effective Java

Effecttive C#

At this level, you should focus on dealing with structural issues to write a good code and work in different existing systems. Try to write an algorithm in the programming language you follow and make it as simple as possible.

Learn more: Lập trình C#