FAST Technology

There is always new technology. We are adopting a tech stack that produces incredibly fast sites. As well as content management (i.e. being able to post your own content) there is delivery speed. Why is this important? Because successful people do not waste time.

An example FAST site created by remotedevelopment.co.uk is https://sfsw.net which is a business prototype offering remote development services to help your online business on a subscription basis.

The technology stack that creates this site:

Sveltekit Static Site Generation
Laravel with mysql

We publish updates to the site every day or so, these take a few minutes due to new technology. If your business wants to transact online, a FAST subscription site may be an inexpensive way to collaboratively develop and host your content.

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.

2020 Planning

Remote Development has been successfully providing one developer with remote work but on contract while making contact with other capable developers. It is however not yet operating, it is in development as an online project. Our other principal remote developer has written a developer onboarding and sprint management system in Laravel.

What is needed now are clients who buy into the idea and a signed remote development contract: but we have to write the contract, advertise and sell.

To take online remote development to the next level requires three steps are completed:

Preparation for Launch

1a. Client onboarding system updated. (DONE)

1b. Client onboarding tests and any necessary refinement for promoted release.

1c. Marketing user needs survey advertised to capture interest

1c. Create an advertising campaign for Linked-in based on research.

1d. Sign up a prospective client with a planned out project we wish to partner in.

2. Prepare agreements for clients and developers.

2a. Connect a payment system linked to the onboarding software and stripe payments.

2b. Investigate using blockchain style accountability audit trail.

3. Write front end component code for the Developer onboarding, and open the developer portal to sign up available skills and advertise for clients.

Funding may be required to onboard the first project for each team, thereafter it must self-fund. It is the team’s responsibility to own their client and project.

Remote Development is an idea, it is not an organisation. It is run as a project of Software Antelope Ltd (a UK registered company) but agreements for lead developers need to reflect their responsibility so they own their project. It may become an organisation with funding during 2020.

Laravel and VueJS

Full stack development means we create a structure or framework that carries the application data and create views of it to manage resources or client information.

Using Laravel, we are able to progress an applications “back end” swiftly and evolve the database. This means that during a sprint we can add new data to core tables or add new ways to store data.

Using Laravel’s template system, we can rapidly create Views of that data on sophisticated screens that allow user interactions. This is not enough, today’s applications require interactivity and for this we employ the very powerful and fast VueJS framework.

For example: you run a booking system for hotel rooms. You want the end customer to drag and drop features visually into a search listing to find their idea room. This requires a display that interacts both with the data and the user.

Projects

Your business opens a new market for a new product or service and now needs a new web application.  Your budget is committed to marketing and you do not have time to build a team, that can take months or even years.  

You think about hiring contractors, but just as they are about to start, they move to greener fields.  Or you do manage to secure a good contractor or two, add them to your team, and your perm staff get itchy feet.

Change costs time and money. When it is your growth time and your investors’ money, then you are accountable.

When projects get stalled, blocked it is a cost without a benefit. In our fast-changing world, this is no longer acceptable.

The purpose of Remote Development is to take on your project, and grow it quickly in useful stages. Using techniques such as Agile, and Continuous Improvement, a project can be useful at every stage of development.

By focusing on delivery phases, and releasing upgrades each sprint, remote developers can provide you with a web application that no only works but one that evolves as your business evolves.

Development of a new product takes time and thought. It takes multiple levels of expertise in a number of fields. Our developers focus on specific delivery methods that can evolve a prototype quickly and by publishing often, your software can work for you.

Developers

we = remotedevelopment team, you=a developer

Onboarding

Initial contact from linked in, link to our website, email or other sources.

You get to the website and fill in a form

  • Personal details (name, age, nationality, company/sole trader)
  • Payment details (paypal, stripe, bank account number)
  • Skills and experience matrix
  • CV upload (PDF for direct presentation)
  • Rate expectations (low/high) for a Sprint (2 week delivery period)

We look at the form and ascertain it is not spam, and setup skype interviews with viable prospective developers.

We need to know if you are capable of remote work, your skills set: what your expectations are

Availability calendar

Organisation

We are looking to build small teams with excellent skills in 

  1. Laravel/VueJS full stack
  2. Later: GOlang, Dart, MEAN stack?
  3. Design and Graphic preparation
  4. Front end (Vanilla JS, VueJS, Less, CSS)
  5. Social Networking, CMS sites, Adwords and Analytics

Our infrastructure

  • Linux cloud servers
    • Web server (assets, code)
    • Repository
    • Database server
  • git
  • Jenkins
  • Travis CI

We use an external service for email and document sharing (Gmail, Google Drive)

We use cms.remotedevelopment.co.uk to publish documents

Communication is via Slack, supported by email

Our infrastructure is

  1. Linux Cloud server
  2. NGINX
  3. git
  4. mysql
  5. Jenkins
  6. Travis CI
  7. Grunt/Gult/Mix build tools
  8. Linting tools

Client infrastructure uses our infrastructure but we may move them onto:

  1. AWS 
  2. Postgres/MongoDB, other databases 

We are transparent with clients: they can use us or they can “move on” (meaning their security info is given to them, we do not own their data, we build and access their infrastructure)

Teams are from 1 to 6 developers (Lead, Backenders, Frontenders, Designer) but most projects will have 1 or 2 developers

Contracts

Remotedevelopment signs a contract with a client to deliver a project. The client is not given a quote or a specification, but goals are established and broken down into deliverables using Trello.

Let’s say it is a dashboard with lots of components requiring a infrastructure and sign in from users. We can put this together using Laravel in a few hours, and then keep extending it using migrations. We estimate this to be a project for 2 developers and 1 designer (for the first stage). We map it to 10 sprints, 2 of which involves the designer and one developer, 8 of which involves 2 developers.

Sprint 1 and 2 Lead + Design

Sprint 2 – 10 Lead + Developer

Lead Developer is a full stack developer, and the other developer usually would be Frontend or Full Stack. Due to the use of migrations in Laravel, this is quite feasible.

The client understands, due to the Agile process, that they can change or adapt ideas according to market research or priorities and that at the end of each Sprint there is normally a Deliverable which is invoiced.

To start, a client makes a downpayment for one sprint (2 developers) – each developer has declared their rate and the Team Leader can ask for developers to join the project. The developer is contracted for a number of Sprints.

The Contract describes a project with an end goal, but at the end of a Sprint the work is presented on a Staging server for the client to review. The Client has either started an account (monthly payments) in which case the next sprint can be started, or the client is on a cash basis, in which case the next sprint is started when the client has paid for the completed sprint. This is a basic mechanism, it is also possible to vary it but the basic unit is always a Sprint.

Laravel

Lovely to work with, clean and fast.  Laravel is one of the most popular PHP frameworks for MVC system development.

Developers are encouraged to stay fully up to date with Laravel and pounce on work opportunities.  With Remote Development, we can provide what you need right now, a server, bandwidth and a Laravel account and git repository.  When you are working with Remote Development clients, you can sell our site hosting services.  

Keeping WordPress up to date

Remote Developers who support clients using WordPress must consider some very simple rules.  Our hosted services support observation of these rules so that end clients, editors, authors and contributors have the simplest and richest, most secure and successful experience of using a great product which has become the industry standard in the publishing industry.

The lastest version of WordPress features also a new Gallery.  Out of the box.

Arriving
Midday sun on water
Rhodes
Rhodes
Rhodes port
Visiting cruiseliner

Or upload a plugin to render a slideshow.


The second rule is: avoid multisite unless you fit what it is designed for.  It appears ideal for instances where the incorporation of multiple brands marketed to a common user list who may be members of one or more of these brands.  It is often used in this manner.  But does a massively expanding list of users in one place not expose the organization to more risk?  It is an important consideration as it requires continuous management to get it right.  In other words, there are pros and cons.

An embedded Jetpack image
used as a feature background
is easy and intuitive 
for end users.

The first rule is quite simple: keep WordPress up to date.  Why?  Why not!  It is a nearly 100% safe method to protect your site from gaping holes in security that may have existed in earlier version, to avoid being tripped up by not being GDPR compliant, and to receive the latest features.  The latest update incorporates a vastly superior editing experience.  

An excellent reason for multisite is multiple publications with the same set of users as authors.  They can login once, and choose which publication they are working on, and follow the same rules.  If you want to lockdown plugins developers can use, then multisite enables this behaviour.

An obvious con is that if you sell one of the brands you have to remove exclusive users of that brand from your database.  Why would anyone do that?  Because of GDPR.  The value of a huge mailing list may make this counter-intuitive.

An appropriate application is when an academic institute hosts multiple doctorate students preparing individual content, with shared templates – when it is supported by a single person it is easier if you have one backend system instead of many.

For Remote Developers who support WordPress, it pays to spend more time planning the way the site will work, our developers can use a recommended list of plugins and themes we know work. 

If you host your WordPress clients or projects with Remote Development we help you move your starter site to a cloud for better performance and provide scaling opportunities, but simple things like updates can be automated.  We can advise on a list of plugins, automate updates, provide backups, basically provide you with a set of tools we know work.  

WordPress has become a powerful solution to publishing.  A Remote Developer for WordPress clients can use our infrastructure for hosting development projects, staging servers, as well as resell our client dedicated cloud solutions, which are scalable.  Join our team today.