Working from Home – how to stay focused

Working from Home is not a holiday. It is a chance to succeed without travelling to the office and with the current policy of social isolation, it has become a normality.

How is it possible to stay focused with the horror of the news and the collapsing economy? By maintaining tight contact with your colleagues using online video and communication software such as Slack. By working with established goals and mini-goals – a task management system can be a todo list or it can be full-blown project management. But the sense of micro-achievement is really important. Project managers are increasingly important to the process of keeping people focused on a specific achievement.

There is no place for conflict. Resolution must be swift or completely unnecesary. If someone feels a bit weird, if a friend needs a chat, give them a video call. Do not try and resolve their problems, try and listen.

Take breaks. It is important to maintain the self with proper meals and take time to talk with your family. Your office should have a door you can close, but you should also walk around and be with others to stay in balance. Avoid bad news.

Play games. I do not mean Playstation, I mean race with yourself to achieve targets. Find reasons to feel little achievements. Do not stress. Relax and be effective.

And if you are self employed, make sure that you keep your timesheets, billing and accounting up to date! At the end of the day, that is how you get paid.

And never be afraid to have a bit of a laugh with your boss, as well as your peers. Bosses are human, too. Let’s remember, we are all in this world together and only by cooperation and coordination can we beat this infection disease.

We are smarter than the virus. Let’s stay smart by being calm and in control of our day. And then share time with your family during the evening. Most of all, be safe, be optimistic and encourage others to do that too. By example is more effective than by lecture.

Hope this helps someone. Have a good day!

Working from Home

I have been working from home for the last two years. With the Covid-19 crisis resulting in Governments asking people to work from home, I thought it would be useful to document things that may help those who are not used to working away from others, in the safety of their own home.

Firstly, you have to manage yourself. You need a quiet space so you can conduct online meetings and using one of the many meeting tools available (Microsoft Teams, Slack, webex, Skype, plus many more) have daily meetings with your colleagues. Meetings should start with 5 minutes of chat, humour and human contact. And if you are Agile, a standup is very useful to quickly share progress on tasks, and plans for the day.

Use a time management system. I recommend Harvest, as it provides timers, so you can see what you have done at the end of the day. A project management system like Jira or Trello is very useful to control progress and coordination. Use Harvest (or another timing system) so you can see how much time you are spending on each task.

Take time for yourself. Make absolutely sure you take your lunch break, and time between tasks to take a brisk walk, have a coffee or chat with people. Do not allow the distraction of being alone to embed, reach out, talk with your flatmates or partner, or phone your mum. Spend a little time each day, especially if you are living alone, to connect with people online. Use Social Networks but do not engage in online rage or indulge your imagination with conspiracy links. This is a disease, pure and simple. It is an accident of nature that our bodies have evolved self-learning defenses for, but some people will become very sick and a percentage of the most vulnerable will die. It is like a war, a quiet war.

And if you get sick, you are entitled to take time away from work, do not add to your stress by trying to work and manage symptoms if you are having difficulty.

And finally, value your work. Just because you are not in the office under the watchful eyes of your project management team or HR, it does not mean that your contribution is not valued. You are a useful person and part of a team with a goal.

Be responsible for your own success.

How to Specify

The establishment of a system revolves around two core concepts:

  • the data model
  • the view of it that is manipulated by users

To achieve an interactive front-end system, it pays to have a backend that is very clear, a testable data model that acts predictably.

You can of course link in unlimited data to the core of predictable modules, using their individual or a combination of key fields together and attaching unformatted data to that, providing unlimited expansion.

  • The developer has to look at the data model from an inside first perspective.
  • The user wants to explain the view and how it is manipulated by users, often in an abstract or fictional manner.

The trick is to understand the interactions between entities in an abstract way but to not try an explain implementation detail in any way but to explore how the primary elements of the system interact. By defining these interactions, it is possible to make a machine that treats data in the same fashion, although implicit rules are no longer a complication in the process.

It is probably best to define the data elements to increase understanding of the form of the system. Then the front-end (the content of the dash-boards) has some logic behind it. The very basic thing is data.

Or is it better to define data in the abstract pattern afforded by NOSQL style database records. The central part of the database should be expressed in language without difficulty. It is important to enable interactivity to be written without it being stuck in conceptualisation phase.

Eco-Friendly Development

Travel by electric car is great – of course when it is supplied by solar energy and not mineral sources. Remote Development is also incredibly eco-friendly.

The Remote Development initiative is to work on projects alongside companies and agencies remotely – providing talent and skills to a project – sprint by sprint. Remote workers can coordinate more effectively and efficiently, meeting with you remotely, or even visiting your office before a project commences. And then delivering software with precision, test-driven components that form a rich User Interface and provide a pleasing user experience to oil the wheels of e-commerce.

If your company is considering contractors for a project – you may want to consider engaging with remote developers via remotedevelopment.co.uk – it will work out less expensive, costs are predictable and delivery is agile, so you get what you need in the very next sprint.

Contracting and IR35

What is the Government doing?

The UK Government thinks that contractors have unfair advantages over employees and are tightening the IR35 regulations so that most onsite contractors are treated more like employees without any of the benefits of employment: sick days and holiday pay, share options, long-term predictability.

If you are paying a mortgage and/or have a family, then the likelihood is that the benefits of employment would be a priority.  Contractors move from company to company and accumulate a different set of skills and experience that have an immediate benefit on a project.  Of course, some contractors are simply employees and may be on a short-term arrangement so that they can then take up permanent employment, thus reducing risk to employers.

Project completion, not time spent

Remote Development does not offer employment or contracts to developers.  We seek whole projects which are developed for clients strictly off-site and without supervision.  Our teams are coordinated using Agile Methodology, but it is up to each developer to deliver.  If during a Sprint, a developer has no contribution then there is no fee.  Of course, their contribution may dominate a subsequent sprint.  This means a contract with a client for a planned number of sprints.  We deliver project completion by the Sprint and charge for planned results, rather than a wage for a day worked.

Does this mean our work is subject to IR35?  The law may change but as it stands, we only deliver on a basis of projects, not replacing any staff or employee function.  Outsourcing is a business-to-business corporate arrangement.

How we pay our taxes

Individual contractors are also businesses and are not employed by Remote Development.  Of course, their own businesses have to pay tax and individuals they employ are on salaries which are subject to PAYE.  Shareholder-employees can also be paid dividends (a share of profits), which are now also taxed in the UK.

What is not taxed?

Investment back into the business.  Remote development has a side product – teamwork.  As we build teams, they are able to create businesses by investing their time and mutual skills.  Business investment is spending revenue to create future revenue growth.  The best defense against taxation is investment back into the business.  It is also a path to paying more tax while retaining a much larger slice of the profit pie.

What is good about tax?

We should not be in business to avoid paying tax. The zero-sum game of avoidance is to simply make nothing – of course, that is self-defeating.  Taxes support the government of the land.  Education, defense, health – all need to be paid for.  Deficits are the selling of the future but rampant tax avoidance are a primary cause of Government borrowing against tomorrow.  A better way is to cause business growth and to run a fair tax regime.

What is bad about tax?

Governments make political choices, not business choices.  Taxation takes money away from future risk takers, sometimes for the benefit of society, sometimes due to crippling levels of Government debt.  Businesses borrow money to build a future.  Governments borrow for the same reason, but the debt levels these days mean they are selling the future to pay for the past.  Hard decisions could reduce these levels, but who would vote for tax increases?  Why do we vote for austerity?  A business that adopted policies that reduced sales would not survive.  Supporting a government that is dishonest with their mandate seems counter-intuitive.

Why Laravel?

Fourteen years ago I used a remarkable programming tool that implemented many of Unix’s tools like awk, sed and regular expression parsers in a language called Perl.  It also implemented objects but suffered from a philosophy TIMTOWTDI – “There is more than one way to do it.”

In other words, it allowed you to implement processes that altered data in alternative ways and some of them were more expressive, some more “elegant”.  Programmers could boast “I did that in only three lines of code.  Yes, they are really difficult to read, that is a demonstration of how clever I must be.”

In 2004 I found PHP.  Strange language that it was then, version 3 had just become version 4.  Lots of predefined functions, you could make the mistake of thinking it was a functional language.  Like Perl, it was an interpreter.  It was very fast and generally, there was an effort to increase code clarity.  Then Version 5.x arrived and its Object model allowed Inheritance and abstracts like Java.  It had a method of implementing Polymorphism, but it was “proper” polymorphism.

In the last couple of years, it skipped Version 6.x and PHP Version 7.x boasted double the speed of the stable version 5.6.  It was a trouble free upgrade.

Over the years, various “frameworks” sprung into existence, Zend was the best, most comprehensive and allowed you do use pre-written modules to utilise well written code that was stable to do tasks like making a queue system or talking to a database.  Then I learned Symfony and felt like it was a better expression of good coding methods, with excellent tools to more rapidly create systems.  Symfony was created by one person.  He is French but I found that the documentation and path into it was too many examples and not enough reference.  Sometimes hard to find answers or a path into great app development.

And then I discovered Laravel.  It reached version 4.2 when I started but the Version 5.x series of revisions made it a brilliant framework.  Why?  Because its author, Taylor Ottwell is a brilliant developer who created modules that are very well written and documented.  Because the Laravel documentation was fastidiously prepared, clear and factual.  Because its command line tool, Artisan, had very useful functions.  Because you could create a Laravel project with “laravel new project-name”, just like that.

And it used the Symfony component infrastructure.  So you can easily create a test database from artisan commands, and migrate new features into your database progressively.  Because you can create test data with database seeding and painlessly rebuild your tests.  Because it implemented PHPUnit so Test Driven Development (TDD) was painless.  Because it integrated successfully with socket-based event handlers and the also elegant Javascript framework VueJS to create systems where client browsers could update each other (dashboards which are live updated were now possible).

And now I have focused on Laravel and its supportive cast of helpful documentation, online training, where features and benefits are easily adopted and each version adds useful features.  We are now up to Verison 5.5.

It is a work of artistic genius.

SSL and Google

Google’s ranking algorithm requires that sites are SSL in order to clean up the web.  If you need to have SSL activated, please let us know.

Remote development sites

CMS sites

SSL is generally provided with SSL sites.

Cloud Sites

SSL is provided as an optional extra.  It may increase the annual charge for hosting.

Wix sites

SSL is now available on Wix.  See https://support.wix.com/en/article/turning-ssl-on-or-off-for-your-site

 

 

 

How to maintain web privacy

Privacy is an important right, while you are using the internet, it may well be compromised for commercial gain. Data collection results in you seeing advertisements for something you just bought online, for example.

The internet started to be used very publically in the 1990s. Security was not emphasized in a system that was being used academically, or as a publishing method. Nobody thought, then, of phishing scams because the idea that the internet would evolve as a place for a large proportion of commerce to be conducted, let alone banking, would be an online activity. Broadband meant that your internet was always on, creating a playground for spies, criminals, and con artists.

And now terrorism causes governments to be very paranoid about all communication and Western democracies no longer respect individual freedoms of privacy of identity or the sanctity of communication. There are some who believe that it is an agenda of fear until the next bomb goes off, and then we subscribe to it. Why not, most people have nothing to hide and do not even know their communications are being monitored probably by algorithms. For example, there are over 2 million video cameras in London. Can they call be monitored? Of course not, but they may be useful in an investigation.

It is up to the individual to protect their privacy, mainly to avoid subversion of choice by profiling, and financial data.

To learn more about protecting your security and privacy, read this article.

Remote Developers outperform Onsite

With Agile methodology, it is apparent that what can be achieved by developers remotely not only costs less than onsite developers but may be more productive. Developers tend to be motivated by technical achievements and learning, and being remote but dedicated to a specific project with focus, using modern communication methods, can actually result in faster and a higher quality of work. Peer review is essential.

See also https://www.inc.com/brian-de-haaff/3-ways-remote-workers-outperform-office-workers.html