Nice Experience with a Freelancing Ionic/Angular project
Published: 2021-01-08 14:56:20



![99bugs](https://i.pinimg.com/564x/7c/6b/bf/7c6bbf73f430a9c2f176484e44a61ef1.jpg
)
- I have an `Angular` freelancer developer friend, he once joined a freelancer `ionic` project.
- Now he is not with them anymore, he regrets that he could not help them anymore. And he also made some mistakes that every new developer to a new project will likely make. But let me tell you the whole story ;) 
- The project lead/manager (was a developer), well that could be an advantage if he was a good developer/leader, but unfortunately, he knows nothing about being a good leader and nothing about automatic testing. "uh, yeah, tests sound like cool, but we don't need that, that will just slow us down ...You can check in some unit tests, but I don't understand them anyway XD. I have my developers all over the world, you have your tickets and finish them!"
- The manager hoped that you will test your feature/bugfix manually in every way possible. If something was not working, he would be on your tails, even if you are just new to this project.
- The manager was anal about so-called code conventions, like tabs over spaces (those spaces cannot be checked/handled by `ts-lint` btw.). But if you are not writing any tests, it is absolutely perfect. There was not even 1 automatic test case, not even 1% really 0%, nothing, nada, there wasn't even a test config in `angular.json` or `jasmine`/`karma` config like any angular developers are familiar with when starting over with `ng new`. How were you able to create the project, did you create it with your bare 10 finger typing techniques? So you basically have to go through the app and test on your own, oh yeah, don't forget to MANUALLY create and test with this newly created test user! 
- code review: oh yeah, there were some, not from the developer's team who developed that app, but they were done from a paid `GitHub` network. "Yeah, that will only cost more money and time right, if we do them by ourselves. " You can request a code review by the manager, but he will find it unprofessional if you disable any `ts-lint` rules in your `jasmine` tests.
- There are continuous integration and continuous deployment, but there is no continuous delivery, "Yeah, we don't need that, because we do not have any tests yet ;) ".
- Over 50% percent of all tickets were bugs. Once, he solved a bug ticket, but while going through it, he had to solve 3 other bugs along the way, to satisfy the manager, because they are related and intertwined full stop. 
![bug](https://miro.medium.com/max/770/1*RQRfhtpZNgauNsWFCZTUBg.png)
But of course, if you ask the manager, they are all features, right? 

- The application supported multi-language functionalities of over 10 languages including Chinese, Russian, but most translations in `ch-zh.json` and `ru.json` were in English. Seriously, if you cannot cover it, you may want to speak with the customer, can we only support English and German, please?
- Average rating in android- (2.8) and ios (2.6) - store, that says everything.
- There are some `ts-lint`-rules integrated like `complete-docs` that were not clean code conform. Every developer is fixing the comment when he is refactoring the method below it right. The comments will not live like carcasses.
- Does it looks like fun to you ;) no no absolutely no
- Approach: more waterfall-like, all remote, in most async way that is possible, that he has ever experienced. Because sure, his developers are in different time zones. Always talking about adapting to agile, but you will never know if he's ever read the scrum guide ;) 

But he did develop some sympathy with them. Because developing a hybrid Ionic/Angular app is hard. You have all those bugs in your `Angular` app, you have all those unresolved bugs in open source `GitHub Cordova` and `ionic-native` plugins. Life is hard for hybrid mobile apps.