This website uses cookies on its adverts and sponsored links. By clicking the "Accept" button you are consenting to their use.

Read more

Accept


Mobile Tech Tracker
≡ sections
Home

Tech Advice

Tech Thoughts

Apps

Tech News

About

Welcome to Mobile Tech Tracker. Our mission is to help technically-minded people to become better versions of themselves and to help ordinary people to use modern smart technologies to their own advantage. If you want to support us, please consider visiting the pages of our advertisers.


How to think like a hacker

Contrary to the popular belief, hackers are not always the people who breach website security and steal personal data. The word also refers to the software developers who build revolutionary software by putting together some components in such a way that nobody thought of before. This is why when you hear somebody referring to Mark Zuckerberg as a hacker, this doesn't necessarily mean that he is out there to steal your data, as many assume. What it means in the context is that he has built the most successful social media network in the world from his university dorms.

What is more interesting, however, is that the hackers think in a particular way and this way of thinking is not only applicable to technology. It can be applied anywhere. Regardless of who you are and what you do, if you learn to think like a hacker, the quality of your life will improve significantly.

This mode of thinking is not exclusively present in those who are traditionally referred to as hackers. Some of the best scientists, artists and other creative individuals have it too. And, at its base, it is quite simple. It is all about thinking out of the box and not accepting the status quo. This is the core skill that needs to be developed before anything else if one aspires to become a hacker or learn to think like one. This way of thinking is what allows the hackers to use various things for something other than their intended purpose. The rest of the equation, the specialist skills, are much easier to learn.


The convention exploitation of security

The most common way of exploiting security holes in software is to use various accessible components of the said software for something other than these components were intended for. For example, very common ways of exploiting web application is to type text into various text boxes in such a way that it becomes an executable code. This is how, for example, cross-site scripting and SQL Injection work.

Hackers, both cybercriminals and the ones of white-hat variety, keep software developers on their toes. Now, you don't only have to add all the input controls to your UI as prescribed by requirements, but you also need to think of all the ways your forms may be misused.

Of course, nobody ever intends to build a form that can directly accept the query language that will run in your database. However, if you fail to consider the possibility of someone trying to do it before you build the software, this is exactly what some hacker will do one day. The consequences of such malicious action may be catastrophic.

This is why, to be a good programmer, you need to think like a hacker. Yes, you can learn how to use various advanced technologies effectively. This will allow you to build software that satisfies all of the requirements given to you by project managers and business analysts. And those people, who are usually much less tech-savvy than programmers, will totally sign such software off. However, unless you can think of any non-standard ways your software can be used, it will only be a matter of time until somebody will use it as a tool of cybercrime.

There are also some much more benign ways of bypassing various checks on websites and making life more convenient for oneself, at the expense of the website's owner's revenue. For example, there are online publications that allow you to read a number of articles for free before you have to apply for a paid subscription. However, doing as little as clearing your browser's cookies often give you unlimited access to all of the content. This action is not criminal. However, the developers of the websites who overlooked this are now responsible for loss of some revenue by the publishing company.


This is how revolutionary technologies are built

Although the word "hacker" is often used to describe cybercriminals, this is not what this word originally meant. For a long time, the word for a cybercriminal was "cracker". Hacker, however, was somebody who took some existing technology, did something unusual with it and got some amazing results. This is how most of revolutionary technologies are built, so it is safe to say that hackers are largely responsible for technological progress.

Bill Gates bought a widely unknown operating system, QDOS, from a small software house and, after making some changes to it, he has released it as MS-DOS, which quickly became one of the most widely used operating systems at a time. Elon Musk and the team of his engineers have combined a number of conventional technologies together in a way it has never been done before and this is how they have managed to come up with the world's firs electric car that actually looks like a car and not a golf cart.

In the world of software development, one of the most used technology of today was born from the process of hacking in the original sense of the world. Traditionally, JavaScript was only ever used in browsers. However, as a huge ecosystem of reusable JavaScript components has developed over the years, somebody came up with the idea of enabling JavaScript to be used elsewhere. This is how Node.js was born.

While initially dismissed as a stupid way of using JavaScript, Node.js has become one of the most widely used technologies in web development. It's main library of reusable components, NPM, is now the biggest repository of its kind. Node.js has now entered niches beyond web development and you can even write desktop applications in it.

What made Node.js so popular is significantly simplified way of becoming a full-stack web developer. If, in the past, you had a steep learning curve in front of you, having to learn entirely different languages for each layer of the application stack, with Node.js, you don't. In the MEAN stack, which stands for MongoDB, Express.js, Angular and Node.js, it's JavaScript all the way through.


Hack your career like a pro

The key point that defines a hacker is not that he is good with technology, but that he thinks outside of the box and ignores the status quo. This is why there is a term "life hack", which relies on similar mode of thinking that traditional hackers use, but applies it to a wider context of life.

For example, you may want to become a software developer. The conventional way of achieving this is to do a degree in Computer Science. However, if you start asking questions about why it has to be this way, you will find a much easier, unconventional route. Why exactly do you need a computer science degree? Because it demonstrates that you know a thing or two about computers. If that's all it is, how can you demonstrate your skills in a different way that is easier and cheaper? Well, there is nothing that stops you from learning how to program in your own spare time and building a website, a portfolio of repositories on GitHub or some mobile apps. Congratulations! You have now made yourself desirable by potential employers in the software industry and have completely bypassed the degree stage.

A similar principle applies to salary negotiations. Everybody wants to get paid as much as possible and the accepted convention is that you work in one job, do your job well and wait for your superiors to notice your efforts and get you promoted. Or you can look at the whole employment thing from a free market prospective and treat it no differently from consumer goods market. If this is how you see the job market, there is nothing that stops you from simply changing your employer for the one that pays you better and treats you better in other ways if your current one doesn't fully satisfy you.

According to the status quo, you rely on your employer for your professional training. Therefore, your professional growth is usually limited by what your employer thinks your training requirements are. However, if you take a step back and think about it, you will see that there is nothing that stops you from building some advanced professional skills in your own spare time. If your professional development in a given employment is restricted, this is probably done so your superiors don't have to promote you. However, if you take the matter into your own hands, you can make yourself promotable. Now, you can either try to negotiate at your current place of work, or just go somewhere else. You have the leverage.


Life hacks help with much more than just the career

All of the examples from the previous section are good life hacks that are applicable to your career. However, there are some other ones that will improve your wider life. One of such thing is a principle know as "The Law of Attraction".

The proponents of this principle believe that your external reality is a reflection of your dominant mode of thinking. Essentially, any thought about what reality is like sends a signal to the universe and the universe responds by making your personal reality match this thought.

Whether this is true or not is debatable. The modern scientific method is limited in scope and can neither prove nor disprove it. However, there is one aspect of it that definitely works in a way that is confirmed by science. This phenomenon is known as cognitive bias.

More often then not, you will hear people telling you that you need to be aware of your cognitive biases and try your best to eliminate them. However, anyone who will take a step back and carefully think about it will soon realise that, instead of eliminating cognitive biases, you can get them to serve you. Why would you want to eliminate a particular cognitive bias? Because it prevents you from having a totally objective view of the world. However, the follow-up questions that come from this are why should you want to have a completely objective view of the world and whether it is even possible to achieve it.

It is indeed impossible to see all things from a completely objective perspective. The reality is way too complex and it is impossible to know everything. And neither it is possible to eliminate all of our cognitive biases. This is why each of us holds a model of the world in the head that abstracts away certain complexities of the reality. And it is not the model that represents the most accurate view of the world that is the best. Your model of reality is better than someone else's if it serves you better than theirs serves them. Having exceptionally accurate model of the reality does nothing other than feeding your ego by making you know that you are more knowledgeable than the others.

This is why it sometimes pays to take advantage of your cognitive biases instead of eliminating them. And this is where the Law of Attraction comes into play as a great life hack. Things are really diverse in any economically developed society with a reasonable degree of free market. There is poverty as well as wealth. Fitness is popular, even though there is also an obesity epidemic. There are places that are totally run down, but there are also ones that are really well developed. The concious practice of the Law of Attraction will create some cognitive biases by making you focus on those aspects of life that you want and ignore the ones that you don't. And if you will keep telling yourself that there are plenty of opportunities around you to have the life you want, you will suddenly start seeing all the different ways to get there. Likewise, you will stop seeing the reasons why you may fail. Both of those things have always existed in the objective reality. All that happened is that your focus has shifted.

Whether universe really responds to your innermost thoughts, it is up to you to conclude. However, believing so will certainly help. This is the believe that allowed Conor McGregor to get from abject poverty to being one of the best paid MMA fighters. If you truly believe that you will attract anything you focus on, it will make you put all of required work in order to achieve this.

Working hard is not pleasant by any means (although it is partly due to perception of work that most people got by being socially conditioned to think this way). In itself, hard work is not what people want. They mainly do it because they believe that it will lead to something much more desirable. This is why believing that you can absolutely get anything you want, regardless of your current circumstances, will motivate you to do any necessary action to get there.

Sometimes people who don't really believe that they can achieve what they want also work hard. However, more often then not, working hard while having this negative attitude yields no positive results and only makes people more resentful. After all, if you are in this state, you have already programmed your subconscious mind to sabotage your efforts, even when you are doing your best consciously. So, at the end, you aren't working hard to achieve a great life for yourself, but rather to prove to yourself and to the world that it really cannot be done.

Of course, there are situation where having a cognitive bias related to a particular issue is disadvantageous, but they are probably not as prevalent as some people want you to believe. For example, when your career depends on an objective understanding of a particular area, this is where you should eliminate all cognitive biases related to that area. Another example of a situation where a particular cognitive bias should be eliminated is when your view of the world is hurting yourself or the others around you.


Wrapping up

The way the hackers think can be perfectly summarised in the following statement:

What are the best tools I can use to achieve my intended goal by completely ignoring existing rules and conventions?

This doesn't apply only to IT. You can vastly improve your quality of life by asking this question with regards to anything in your life.



Written by

Posted on 10 May 2018

Fiodar Sazanavets is a full stack software developer with several years of experience working in various industries. In his professional career, he has mainly worked with a number of different Microsoft stack technologies, both back-end and front-end, and Java for Android. Fiodar has an Honours degree in Environmental Biology and a Masters degree in Environmental Informatics.



More from Tech Thoughts


Biggest misconceptions about full stack developers

Biggest misconceptions about full stack developers


It's not Capitalism that's the problem

It's not Capitalism that's the problem


The most important skill for 21st century

The most important skill for 21st century


One human trait that slows down humanity's progress

One human trait that slows down humanity's progress


See everything that Facebook and Google know about you

See everything that Facebook and Google know about you


How society conditions you for mediocrity

How society conditions you for mediocrity


Why you shouldn't always trust scientists

Why you shouldn't always trust scientists


Dark side of software development

Dark side of software development


I cannot wait for AI to take over

I cannot wait for AI to take over


Remember that selfishness can be healthy and ethical

Remember that selfishness can be healthy and ethical


Share this:

Facebook Google LinkedIn Twitter Become a Patron!


More from Tech Blog











Privacy Policy

© Mobile Tech Tracker. All rights reserved. Unauthorised copying of any of this website's content is prohibited under international law.

For any queries, comments or suggestions, please write to info@mobiletechtracker.co.uk.