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 :)))
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:
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…
领英推荐
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…
Phantom, Slack, Vargant, Ansible etc…
Jenkins, Codemagic etc…
9- What is Docker? What is containerisation and why is it important? What are the methods?
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…
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.