In this last post, I'll try to offer a variety of reading suggestions around How to Become a Senior Developer and offer a few small life tips.
Steps to becoming a senior developer
Of course, it cannot be said that there is a standard in this regard, but over there If we take the limitation as a basis, the steps of being a developer can be classified as Trainee / Trainee, Junior / Apprentice, Mid-level / Intermediate, Senior / Senior, Leader / Leader. Trainee level and Junior level are sometimes used synonymously or closely. At the junior level, it's the period when you don't take on a lot of responsibility and you handle relatively small tasks and every task you complete is watched closely. You are not naturally expected to be an expert on a particular subject.
Mid-level is defined as a developer with 2-3 years of experience in the related article. The practical equivalent of this is the developer who can finish a project under limited direction. Senior is “a person who can analyze mistakes and learn from them”. In order to reach this level, besides working for 5 years (10.000 hours), it is also necessary to master all the technologies it uses. Leadership, on the other hand, is the period when you go to endless meetings and make decisions instead of writing code, and focus on the product, not the code. In this period, it is seen that most developers turn to consultancy.
To make a distinction between Mid-level and Senior; It should be emphasized that the senior developer is the person who writes code, writes the unit tests of his code, documents the code and has a command of the agile software cycle, taking into account that not only himself but also his teammates will read it.
Please also read the links referenced in the article! I chose to add reference links in order not to lengthen the article. Reading a lot of documentation is a "must have" for being a Senior developer.
How to become a senior developer?
It is completely a dream to become a senior developer without working, learning new technologies and techniques, just leaving it to time. It is not possible to specialize in software by learning as much as necessary, as the need is necessary.
What do you need to learn to become a senior developer?
While preparing this article, I had the opportunity to scan many resources about PHP. There is so much new technology out there, and no matter where you start, you can't go wrong.
Playing path.dev on the site To the Intermediate PHP trail give it a try. It is remarkable that the SQL course is given over PostgreSQL, MySQL is generally preferred. Deployment tutorial covers Docker, Kubernetes, and Heroku. Career Ladders in the Software World basically, it contains advice that will guide your business life. Not included in the pathway Freelance and Remote Working Business Processes training is a must-see training if you are planning to work Freelance or Remotely.
Advanced PHP path Likewise, it covers REST API, NoSQL, Design Patterns, Microservices. Microservices are gaining in popularity. Most large projects seem to use microservice architecture for efficiency.
Advanced Software Development I definitely recommend you to take a look at the article, it is of course impossible to be a senior developer without being familiar with Advanced Software Development processes.
Frameworks are claimed to make people lazy. Laravel has gone from being just a Framework to being a sought after feature in its own right. Learning Laravel will make it easier for you to find a job going forward. Laravel is a continuously developed framework and its 9th version was released at the time of this writing (February 8, 2022). There is currently no special and free tutorial for Laravel 9. Via Udemy site E-Commerce Project Training from Scratch with Laravel, Advanced Laravel Tutorial from Zero ve Learning Laravel 8 From Scratch 2021 I stumbled upon your training. You may want to consider these trainings since they are in Turkish.
There are some practical approaches that can be taken when developing PHP. about these 30+ PHP Best Practices for Beginners or a 20+ PHP Best Practices That You Must Follow You can view his articles. Additionally Backend Sample Methods The text is also useful in general.
There are many Turkish resources about PHP and OOP (Object Oriented Programming). Yusuf Sezer's PHP Lessons It is beautiful and approaches the subject from a practical point of view. Awesome PHP; It is a list of basic frameworks written in PHP, content management systems, micro frameworks, routers, email sending libraries, image processing libraries and many more tools.
For PHP and Design Patterns from this site you can benefit. Prepared to write Clean Code with PHP Clean Code PHP page is also a resource that should be assimilated early.
Current tutorials for PHP
Support for PHP 5.X series officially ended in December 2018. Support for the PHP 7.X series is scheduled to end in November 2022. Learning PHP 8 seems inevitable at this stage. I was able to find the following resources on PHP 7 and PHP 8. You can most likely find these books in various online libraries:
Programming PHP, 4th Edition
This book, published by Kevin Tatroe and Peter MacIntyre in March 2020 with the O'Reilly tag, has been updated to the latest PHP 4. I highly recommend you to read the Security section of the book.
The Art of Modern PHP 8
Written by Joseph Edmonds, the book covers topics such as OOP, MVC, Composer, Design Patterns, Clean Code, and Dependency Injection, while also covering Union issues that come with PHP 8.0 and PHP 8.1. It's a completely up-to-date book and covers OOP fundamentals as well.
PHP 8 Objects, Patterns, and Practice
This book by Matt Zandstra focuses on Objects, Design Patterns and Best Practices. III of the book. PHP Standards, Composer, Version Tracking and GoIt covers writing unit tests with PHPUnit and Vagrant.
Pro PHP 8 MVC
The book by Christopher Pitt focuses entirely on MVC. It goes down to the basics of Framework and covers Router, Template Engine, Validator, Database Library, ORM, Dependency Injection.
Keep up to date
To follow the current developments in the PHP world PHP Weekly It's a good idea to follow the site. It is always helpful to stay up to date with the latest developments in the form of weekly newsletters. Prepared by Muhammed Hilmi Koca and reached 74 issues. Weekend Readings for Programmers on the other hand, it helps you to follow the current trends not only in PHP but also in software and DevOps.
Life tips for developers
Protect your project!
Having your idea stolen is as bad an experience as having your computer stolen. It is a very painful experience for the institutions you offer projects to say no to the project you propose and to try to put your idea above the ground. Don't forget to protect your opinion and think twice before telling strangers about your project!
Don't get into too many projects!
Engaging in too many projects that you can't handle makes it difficult to deepen in software and drags you into a burnout syndrome in a very short time. Don't let your non-software projects take your time to disconnect you from the software world.
Bring your project to life and share the load!
Keeping it afloat is as important as coding the project. Let's say you are building a news website on technology. Let's assume that you read the news from the authors one by one, edit it, enter the site, approve the comments one by one, write as many replies as necessary. Doing all the operations on your own will cause you to distance yourself from the software. Instead, it is much more accurate to make friends to share the load.
Open to new horizons!
Many companies find it difficult to maintain the open-minded attitude when recruiting. On top of that, if you get a raise even below the inflation rate, it's not even sincere that you don't get demoralized. If things start to get monotonous after two years and you don't have much to add, don't hesitate to open up to new horizons. Always target larger companies where you can learn more. Often times this will also have a positive impact on your salary.
Learn new languages, new technologies!
The software world is not just PHP! Don't be afraid to learn new languages and technologies.
Opening image: pikepicture