Surviving Internet Downtime As A Developer
The Internet is an incredible tool and is used daily by many professionals. It is only when you are without the Internet for prolonged periods of time that you begin to realise just how vital the Internet really is, especially for web based jobs. Being cut off from the Internet can have a serious negative impact on your productivity and work flow.
I am currently experiencing Internet downtime myself, as I write this article,
I have recently moved away from London to the coasts of Cornwall.
Unfortunately my new accommodation will be without Internet access for a
prolonged period of time, while I await broadband installation, there are also no open Wi-Fi networks
within a reasonable distance.
As a Web Developer, running my own website and maintaining multiple client websites,
being without the Internet is quite inconvenient to say the least.
It is not all bad, however, there are still many methods to access the Internet when on holiday, off-grid,
without the Internet at home/work, travelling etc.
WHAT MAKES THE INTERNET SO USEFUL FOR DEVELOPERS?
Regardless of if you are a software developer or a web developer, the Internet is most likely one of the most
important tools you use, here are some reasons why:
Easy access to a large repository of information
The web is packed full of free information, and for a developer easily accessible information for
their development language and or platform is crucial.
Re-inventing the wheel
There is no point in spending hours developing functions that already exist on the open source market for free.
Many commonly used functions have been developed before. In many cases these functions have been
perfected by large teams of professional programmers or open group projects, by sharing the
contributions and improvements of thousands of developers around the world.
Self-Improvement
The technology industry advances at such a rate that there is always something new to be learned.
The web is a great place for keeping up to date with the latest industry and technology changes,
best practices for your field of work, updates to your development language and much more.
Networking with other developers
The web is currently one of the best platforms for networking with others across the world.
There are countless developers sharing their experiences and expertise, and many groups of developers
joining together to work on team projects.
Troubleshooting
Every developer at some point has encountered a problem that they just can’t get their head around.
There are many communities across the web devoted to helping solve development problems, or offering guidance
as to the correct route for a developer to learn the answer themselves.
Online Testing
This may not apply as much to software developers, but for many web developers it is vital to be able to test code
within online testing environments or on live test servers, especially if they do not have access to an
offline test environment.
Updating Online Environments
It goes without saying that if the environment you are developing for is only accessible via an Internet
connection; not having an Internet connection to update or manage the environment is going to be very inconvenient.
WHAT CAN WE STILL ACHIEVE WITHOUT THE INTERNET?
So imagine you are now or soon to be without internet access.
You may be thinking:
- How am I going to get anything done?
- What if I run into a problem I can’t solve?
- Where can I go to get help or network with other developers?
- How am I going to update/manage my website or web application?
Offline Networking
Networking with other developers on the Internet is easy, open a web browser and within seconds you have access to thousands
of other developers to network with across online social networks, forum communities, information repositories and more.
Networking offline, however, takes a bit more effort and requires the use of skillsets that may be out of your comfort zone.
For the sake of productivity, it is now time to break through that comfort zone.
Building an offline network of fellow developers will enable you to discuss your problems with others and source
the information needed to come to the perfect solution. If you are lucky you may even network with a developer that
has a secure and stable Internet connection local to you, that they do not mind you using.
To network with other developers whilst offline you first need to locate them. There are many places you can locate
other developers to network with offline:
-
Talks/Seminars related to development or your industry
Events related to development or your industry are guaranteed to attract other developers to network with. If you are looking to network with a large number of people without going to multiple locations this will probably be your best option. -
Group Meet-ups
Many developers join social groups which meet in person, to work together or to simply meet new people with similar interests. These groups are great for networking, especially for developers that work from home; as working at home on your own every day can become a lonely experience.
Having moved from a high population city such as London to the quiet coasts of Cornwall I did not think I would be able to find such groups anymore. To my surprise I have managed to join more than 20 groups, with over 500 members in each group, so it is definitely worth looking for groups such as these in your location.
I joined the majority of these groups via the website meetup.com prior to loosing access to a stable Internet connection. If you are in the unfortunate position to have lost access to the Internet without time to prepare, you can still find groups such as these advertised in offline publications (newspapers, magazines etc.) or local community hotspots. -
Locations with open Wi-Fi
When working from home every day you may sometimes need a change of scenery: if you walk past any café or bar with an open Wi-Fi network you are sure to see someone sitting on a laptop doing work.
It is going to be hit and miss to find developers in this environment but they do exist, so while you are reaping the benefits of an open Wi-Fi connection look for opportunities to connect with others. -
Technology related events and locations
Not all, but a lot of developers are technophiles, any technology related events or locations are going to attract many developers.
Offline Test Environments
You are most likely reading this article whilst still having access to the Internet. If you rely on online test
environments to complete your work, I highly recommend investing in setting up a backup offline test environment whilst
you still have access to the Internet to research what is required and also to download any software you may need.
As a web developer who uses mostly PHP, I rely on an online webserver to test my websites and applications. Fortunately,
I already have an offline LAMP (Linux, Apache, MySQL, PHP) stack server which I use as a backup test environment for when
I have no access to the webserver.
It may sound like an expensive investment; however, for a test environment it does not need to be perfect or
high end. My backup test environment is in fact installed on a 15 year old laptop, with a cracked screen
and a keyboard missing so many keys it’s faster to count how many remain than how many are missing. It gets the
job done and doesn’t takes up much storage space when not in use.
Keep Offline Backups of Information
Keeping offline backups of data that you regularly use online may seem like a lot of effort, but you will be thankful
when you no longer have access to these online resources.
The PHP.net manual is a programming bible for many PHP developers. I personally make sure to keep an up
to date copy offline, which I can reference if my connection to the Internet ever becomes unavailable.
Updating Online Environments
This is a tough one, but there may still be options available to you:
-
Open Wi-Fi Locations
Many locations, such as bars and cafés, provide a free open Wi-Fi network for visitors and customers.
Unfortunately, open Wi-Fi networks are not very secure and a prime target for man in the middle attacks and spoofing attempts. You can improve your security on an open Wi-Fi network by connecting to a VPN (Virtual Private Network). However, you are taking a risk of being hacked or having your details stolen when connecting to any confidential or password protected environment on an open Wi-Fi network. -
Mobile Networks
Many smartphones have 4G, 3G or older mobile Internet technology. Depending on your location you may be able to access these connections as a way to update your online environment. Many mobile phones also have the ability to tether their mobile internet connection as a Wi-Fi hotspot to nearby devices such as a laptop.
I am fortunate enough to have access to a 4G connection at my current location. However, the days of unlimited mobile data packages are unfortunately long gone. Since the introduction of 4G in the United Kingdom, mobile phone providers now charge a small fortune for mobile data, and many now charge you extra for tethering other devices.
Mobile phone networks also carry the same security risks as open Wi-Fi locations. 3G connections may be slightly more secure than 4G connections and open Wi-Fi, as they do not use Internet Protocol (IP) which many hackers are well versed in. Similarly, you can use a VPN to improve your security when using this type of connection. -
Satellite Broadband
Also known as “Internet anywhere”, satellite broadband does not require any physical fibre lines or phone lines. As long as you are within range of the Internet providers satellite you can access the Internet, this is a great option for developers that are frequently travelling or completely off-grid. -
Offline Networking
If you have successfully managed to network with developers in your area offline, there may be an opportunity to ask to borrow the use of their secure, private network at home or work to update your environment.
DOES RELYING ON THE INTERNET MAKE YOU A BAD DEVELOPER?
This is a question that is often asked on online communities, and there are many different opinions as to whether
relying on the Internet makes you a bad developer or not.
My personal opinion is that reliance on the Internet most definitely does not make you a bad programmer.
This is like asking a blacksmith if relying on their anvil makes them a bad blacksmith.
The internet is an extremely useful tool for developers; with the amount of free knowledge, networking
opportunities and crowd sourced projects available on the web it makes no sense to avoid using such a tool.
CHALLENGE YOURSELF
If you do rely heavily on the Internet, I challenge you to go 1 or 2 Weeks (or more) without accessing the Internet. You may learn some valuable offline networking skills in the process and build a stronger more personal network with other professionals that you would not normally find online.
SUMMARY
Losing a tool can be devastating to your work flow, and losing a tool as powerful as the Internet is definitely inconvenient for many developers. Hopefully this article has given you an idea on how to prepare and the different options available to you when loss of Internet occurs.