In my first job, my first project was an authentication and authorization service. I got to start from zero, so the codebase looked like I wanted. Built a REST API with PHP, MVC, etc. it was nice.
The second task was maintaining an GUI. It was a 2 year old project, built by an external company that didn't work with us anymore. It was a window manager that ran in the browser. The idea was nice, but the architecture was a disaster. They would run PHP on the server that generated JavaScript dynamically, a bit like the GWT does with Java. Problem was, the generated JS code was horrible. On every click it would generate hundreds LoC, deeply containing deeply nested "with" statements and send it to the client for execution. It was just after the release of PHP4, when classes were introduced to the language, so they tried to rewrite the code to OOP, but they had no experience in doing so. In the end there was one big class in a file with 10k LoC that did everything.
Over the course of a year, I rewrote the whole GUI in ExtJS4 with an REST server in PHP, and then left the company.
I like that they called the REST server a HTTP-API, because back in the days, people would use the word API for all kind of things, and not just HTTP APIs. I was quite confused when I left the company and saw that people were only using HTTP APIs anymore. Even with the rise of native mobile apps, HTTP stayed. I would have expected devs to drop to TCP or UDP when you have a native app, but whelp.
Anyway... after that I worked at a start-up where a prodigy coder tried to pull off a web service with the newest tech he could find. I think he rewrote that whole codebase at least 3 times each time he pulled an all-nighter during the weekend. First in CoffeeScript, then in ES6, and then he switched Flummox for Redux. The codebase was so overengineered, with so many indirections, I didn't really know what was going on. That was the project where I learned React, not even a year after it was released, lol.
Next project was in React Native. I thought, I know React and JS, and React-Native is supposed to make mobile development easier. Greenfield again, pretty nice from the start. But then I learned that React-Native doesn't save me from interacting with the native app code in Java and ObjectiveC. Well, it didn't, at least not until Expo became mainstream.
Another adventure was the REST API I got from the backend developer. He would send JSON responses hand-rolled via string-concatenation. No tests, so every time something on the backend changed, there the JSON was broken because some " or . was missing.
That was the time I started blogging here on Dev.to. For fun, and to promote my freelance work. After I did another freelance project, companies wanted to hire me for tech writing, so I stopped doing bigger projects and started writing full-time. Now, most of my codebases are for my articles, and not very big, which is a quite nice place to be in.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
In my first job, my first project was an authentication and authorization service. I got to start from zero, so the codebase looked like I wanted. Built a REST API with PHP, MVC, etc. it was nice.
The second task was maintaining an GUI. It was a 2 year old project, built by an external company that didn't work with us anymore. It was a window manager that ran in the browser. The idea was nice, but the architecture was a disaster. They would run PHP on the server that generated JavaScript dynamically, a bit like the GWT does with Java. Problem was, the generated JS code was horrible. On every click it would generate hundreds LoC, deeply containing deeply nested "with" statements and send it to the client for execution. It was just after the release of PHP4, when classes were introduced to the language, so they tried to rewrite the code to OOP, but they had no experience in doing so. In the end there was one big class in a file with 10k LoC that did everything.
Over the course of a year, I rewrote the whole GUI in ExtJS4 with an REST server in PHP, and then left the company.
I like that they called the REST server a HTTP-API, because back in the days, people would use the word API for all kind of things, and not just HTTP APIs. I was quite confused when I left the company and saw that people were only using HTTP APIs anymore. Even with the rise of native mobile apps, HTTP stayed. I would have expected devs to drop to TCP or UDP when you have a native app, but whelp.
Anyway... after that I worked at a start-up where a prodigy coder tried to pull off a web service with the newest tech he could find. I think he rewrote that whole codebase at least 3 times each time he pulled an all-nighter during the weekend. First in CoffeeScript, then in ES6, and then he switched Flummox for Redux. The codebase was so overengineered, with so many indirections, I didn't really know what was going on. That was the project where I learned React, not even a year after it was released, lol.
Next project was in React Native. I thought, I know React and JS, and React-Native is supposed to make mobile development easier. Greenfield again, pretty nice from the start. But then I learned that React-Native doesn't save me from interacting with the native app code in Java and ObjectiveC. Well, it didn't, at least not until Expo became mainstream.
Another adventure was the REST API I got from the backend developer. He would send JSON responses hand-rolled via string-concatenation. No tests, so every time something on the backend changed, there the JSON was broken because some " or . was missing.
That was the time I started blogging here on Dev.to. For fun, and to promote my freelance work. After I did another freelance project, companies wanted to hire me for tech writing, so I stopped doing bigger projects and started writing full-time. Now, most of my codebases are for my articles, and not very big, which is a quite nice place to be in.