0- Advanced Software Development

0- Advanced Software Development

The reason I say "Advanced" and not "Senior" is because I believe that being a Senior Developer is not just based on knowledge, it needs time. It is true that some of our knowledge increases over time, but the experience that comes with time is necessary to become a Senior. In this article, I will talk about the tools necessary to develop advanced software.

I'll start by addressing an issue that is likely to happen to almost anyone who deals with software.

The steps to the software, which usually start with working in a programming language, turn into a dead end after a while.

After learning the basics of functions, variables, abstract classes and many more and starting to create applications,?what should I do now??questions like this start to get confusing.

What should be the next step?

Will I always use the same codes and develop similar applications?

While you are confused by such questions, you see a lot of terms you hear for the first time in job postings. In this process, you will notice a lot of methods and terms that are not mentioned in the trainings because they focus on the programming language, but are frequently used in business life.

In such a situation, the person begins to feel inadequate. Or he thinks the job postings are exaggerated. We start making excuses like “Nobody knows that much!” . (By the way, I believe some of the jobs advertisement are really exaggerated. But only some of them :)))

No alt text provided for this image

At this point, I felt the need to write something. Hope it will be useful for everyone :)

Now let's get back to the main issue.

What an advanced programmer should know. Tools he should at least have an idea for or use when writing code:

1- Software architectures

What are the architectures that should be used when developing software with the programming language or framework you use? How to use?

Example: MVVM, MVP, MVC, VIPER etc…

2- Why/How to write "Comment" ? What is Clean Code?

3- Why Should I Write Tests While Developing Software?

What are the benefits of writing test codes while developing software? Why should I write test codes? What are the test methods? TDD, BDD, DDD etc…

No alt text provided for this image

4- What is DevOps? What are the benefits? What tools does it use?

Phantom, Slack, Vargant, Ansible etc…

5- What is Continuous Integration and Continuous Delivery? Why should it be used?

Jenkins, Codemagic etc…

6- What is Agile Scrum methodology? What are the benefits to software development teams?

7- What makes SOLID principles special? Are there any other software development principles? What are they?

8- What is Git? Why should I use it? What is Github, Gitlab, Bitbucket used for?

9- What is Docker? What is containerisation and why is it important? What are the methods?

No alt text provided for this image

I intend to publish these as a series, each as a separate article. The 10th article will come with the title of “Advice to students and those who are at the beginning of the road in software”.

Best regards…

Nikhil Jha

Software Consultant

3 年

Thank you for writing these articles - I have found them very useful in getting an idea of what working in software will be like.

回复

要查看或添加评论,请登录

Hamit Seyrek的更多文章

社区洞察

其他会员也浏览了