I feel some outdated, I have been working in web development around 9 years ago and I started with LAMP stack for backend and jQuery and plain CSS for frontend. During these years, I have learnt and used different tools like Git, CakePHP, WordPress, SASS and Twitter Bootstrap to complete different projects. I have been in the comfort zone for a while and it is not good when you combine in it with a universe(web development) that evolve and change so fast. Although I think LAMP stack is still relevant, it is not a bad idea to amplify your portfolio and skills.
There are tons of tools now to build websites and web apps, you can check the 2019 web development roadmap by Javin Paul in Hackernoon to have an idea of some(not all) different options that you have for backend and frontend development. As you would see, there are not few options to learn, so I’m going to try to be realistic and not burn out myself in the process. Next is the list of stuff I want to learn and to apply in my next personal project:
- Test Driven Development(TDD): Quality is a must and learning a new way to think and code is very interesting.
- Slim Framework(+ Swoole Framework): Again PHP, I was thinking about changing to Node.js but after checking the amazing and promising benchmarks results of Swoole, I decided to give it an extension to PHP before starting to learn another language. Additionally, Swoole follows the event-driven architecture of Node.js, so it is a good start in that way.
- Angular(and TypeScript): I didn’t use any technical factor to pick Angular over React and Vue…I like Google.
- Progressive Web Apps: Building web apps that behave like native apps in different OS sounds really well.
- Basics of DevOps: This is another huge world inside the web development universe, so learning some few things and good practices to automatize deployments is a good start.
- Microservices architecture: The idea is to learn new things and using this architecture, it is easy to extend the project with different techmnologies.
Probably this list will change in the road, so let’s use it just as a guide.
When you start to use the tools that you have learnt in real projects, then you assimilate these tools even more. The project I will use to experiment with is not for a client, but it is a personal project with real use(I hope so). The project is another accounting software. Basically it will be a progressive web app to manage accounting and then generates reports about taxes I should pay.
So with this blog, I want to share my experience learning these tools and building the app 🙂