HN user

annymsMthd

25 karma
Posts1
Comments16
View on HN

I was using PostGIS for vehicle tracking at my last job. PostGIS made it really simple by allowing me to boil everything down to simple geometry. The performance is amazing. The CTO told me I was doing it wrong and I should be using some homebrew solution in the middle tier that would do a comparison of 2,000+ points each GPS update. Why reinvent the wheel? Let the experts handle the geospatial functions.

I've been in this situation before. The my way or the highway attitude is a bad mindset to have when managing engineers. Skilled engineers are free thinkers and will push back on bad design. If someone says they can write something better than your spagetti code you shouldn't yell at them or make them feel inferior. You should allow them to build a system that will be clean and maintainable for the sake of all engineers that have to work on the codebase. Good leaders should know humility and when to admit they are wrong.

I had a similar situation happen to me, minus the going crazy part. If you constantly have to clean up because of the bad decisions of a manager then you should just leave that company. Don't bust your ass trying to make a difference and change minds that don't want to change. If you are an employee you are expendable.

It all boils down to maintainability. Do I want to even attempt debugging or adding features to a 10,000 + line ASP.NET Web form page? What about a MVC project where someone took the time to observe separation of concerns and wrote unit tests for everything? Automated tests of any sort will save you when the code base grows, and it will. There are different code smells for different languages and platforms but the real developers will smell them out and see them for what they are, the wrong way to write software. Bad code is bad code and it is always the wrong way.

I do client side "MVC" with backbone every day. With proper architecture the possibilities are limitless and far beyond what one can do with a simple server side architecture. Using ASP.Net SignalR + Rest API I can have a fully reactive front end with little to no effort on my part. I work in the transportation industry and I can track a large number of buses and react to situations entirely with javascript being fed by a Redis Pub/Sub. I believe this is the direction the web is heading and one should not simply brush it off.

This is an excellent article. I follow alot of the guidlines already but there is some important ones that I am missing. Thank you.

Awesome suggestion, thank you.

From scanning through the Chapter on design I got this quote: "This paradox implies, essentially, that you have to 'solve' the problem once in order to clearly define it and then solve it again to create a solution that works."

It reminds me of advice I have gotten from someone before, write code to solve a problem then scrape it and rewrite it.

I have no problem understanding my code, even the stuff I wrote a year ago. I may not agree with the way I coded some of what I wrote before but it is easy to follow my own logic.

When naming variables I try to give them meaningful names but sometimes within the scope of a method I will assign single letter names to variables just used within the scope.

I am peticular about not posting code that I have done for my employer but perhaps I can solve a generic problem and post the code for that. My biggest problem is that I have not had to work with another coder before and I need to learn how to properly communicate my logic and ensure that the logic is the most efficient possible.

I definately know some of the inner workings of.Net, such as using StringBuilder compared to string concatenation. Some of the things I need to know is what is an acceptible name for a variable based on its scope. For instance currently to describe a private variable belonging to a class I will prefix it with an underscore. Is there a universal way of denoting varibles by scope?