Tech Tips Digest: 10

Everything must come to an end one day.. I guess you already know where I'm going with this :)

But for those who didn't get it.. This will be the last post digesting my Technology Tips Tweets, hope you all had fun reading them and learnt new things.


Previous Tips: Tip No. 1 | Tip No. 2 | Tip No. 3 | Tip No. 4 | Tip No. 5 | Tip No. 6 | Tip No. 7 | Tip No. 8 | Tip No. 9

Tech Tip No46: Don't over think your design and don't under-think it either. Figure out as much as is needed to begin properly

Software engineers with little experience might tend to think that they have to come up with the ultimate design for each and every design problem they are trying to solve. This will prove wrong, because as time passes, new approaches and ideas will arise voiding some of the old design aspects.

You can never design a system and not expect it to change in the future, so it's always better to keep it simple, cater for the basics, leaving space for future enhancements and changes.

Computer software you create will evolve by time and you might wanna make this evolution easy on yourself.


Tech Tip No47: [#Java] Don't assume that the JVM is smart enough to cover for your mistakes. It just won't happen!

Failing to close an open file stream, the JVM won't close it for you cause it's got a Garbage Collector. No way, that won't happen. Creating a Map and using it as a cache while failing to clear it from time to time, the JVM won't miraculously solve your memory leak problem :)

Always follow good programming practices, it's true that things are a bit easier in Java than they are in C++ for example. There you had to keep an eye on all of the pointers you had created, you had to destroy objects immediately when you were done with them. But the Garbage Collector is as smart as your code is following those proper practices.


Tech Tip No48: When creating software, keep an eye for common security flows, you can't cover everything but at least try to

Especially in enterprise level and web applications where there are probably more users than you might anticipate. Having an application with a wide user base exposed on the internet is a security challenge.

XSS, Session HijackingSQL Injection ... etc the list goes on and on. You have to think of all those issues when you're creating your next web application (Don't forget to check on the ones you've already delivered :p )

Cause when someone is out to attack your system, they'll try all their best, so you might as well make it a bit harder on them :)


Tech Tip No49: When you create applications, keep the end user in mind. Think about what you like in your best app

Most software engineers will create applications disregarding the end user's point of view, that's where user experience engineers come in. But you might not have that luxury where you work.

A simple solution to this would be for you to look at your application with the eyes of an end user and not as an engineer. Think of your most favorite applications and try to look at how they're UI design is, try to look at the simple detail from using mnemonic for buttons and menu items to the proper layout of the buttons and screen controls.

There's always a natural flow to applications that you end up liking, and doesn't come from nowhere.


Tech Tip No50: Read all of my previous tips ;)

So I guess it's time for me to close the book on those tips, hope you all enjoyed them. And I sure will enjoy your comments on my blog posts, feel free to comment on any of the old posts as well as this last one.


Cheers :)

Comments

Popular posts from this blog

Tech Tips Digest: 2