Suggestions Around Building a Good Development Team in Parallel to Building a Good Product

Image for post
Image for post

I’m not a great programmer; I’m just a good programmer with great habits — Kent Beck.

Behind any project there has to be processes in place to build a culture of good coding habits for developers and to help “enforce” these goals. Without such a foundation in place the product will never result into a long term sustainable solution. Below are some items I would like to highlight that I believe can help make a solid application and grow a solid team.

Training and an Introduction to Our Coding Culture

The first two points are not easily automated. Training is key to a successful application. Developers cannot just jump in and deliver features they first must have time to learn what is expected of them when it comes to the day to day team and culture they are becoming a part of. …


Mainline Workflow

“Once you achieve a certain frequency of releases, around once a week or so, it no longer makes sense to branch for release.” — Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation

tl;dr

I want to do a tl;dr of a workflow, that two years ago seemed insane, but now would seem impossible for me to work without and still feel efficient. The topic of Continuous Delivery and Mainline workflow.

To sum it up:

“Developers that practice working in small blocks of code, writing tests and committing often. Your app has the right amount of tests in place, a CI that runs with each commit, building and testing for every push. Reviewing each others code daily, and the ability to Feature Flag items that are not ready yet that with each push to the only branch, Mainline, the code then goes to production. …


#note2self

Thanks to Andrew Cavanagh for proofing this and Matt Lantz

Basically this skeleton tool was something I made to help out my day to day work and hopefully it will come in handy for others writing PHP Command Line Tools. You can get to the repo here.

Since I often need command line tools and like writing them with PHP — for example, see Pickle — I really wanted to remove all the boiler plate work needed to get started. PHPLeague and their Skeleton install took care of almost all of what I needed. …


Meetings are needed, most of them at least, and when I worked with a team that was all in the same timezone I was easily able to say, “Between 1–4 I am coding/focusing” or “Between 6am and 9am” I am coding. Then the rest of the day was for meetings, interruptions and just helping out on things.

Blocking out time to Code/Focus and get the work done is key and without that it is hard to not find yourself working after hours when it is “quiet”

One book that pointed this out to me was REWORK by the people at 37 Signals. …


This is something we have been doing a lot for a team I am on, and I feel that Laravel 5.4 Slack feature might be more than I need in most cases like this one. The Laravel implementation seems more about notifications to users and not so much about just taking and / or sending a message to Slack.

In this example I get a message from Slack (but this can be any message) and then send results back to Slack.

One thing to keep in mind you really want to get your code working out side of Slack since you cannot easily do a push, test, fix, push, test as we normally do when working locally with a browser. …


This article can be listened too here or in your favorite podcast player

Whether you are working Waterfall, or Agile we still need to quote out the time it will take for new features. We still need to give the product owners, or the people with the money, a sense of timing. And it is this skill or lack thereof that drives the experience we are going to have when we code.

There are many, many, many formulas around on how to quote and how not to quote. And I am not talking about **Fixed Bids** here those are a story in an of themselves. I am talking about sprint planning, task planning anything that is part of the relationship between you and the owner to have a sense of how much something might cost. …


You can Listen here!

First let me define what a “Side Project” is. In this case a “Side Project” is something you are not being paid for and something that you have complete control over. It can even be something you are just trying out some new ideas on. The reason it can not be something you are being paid for and ideally something you are fully in charge of is so you’re not under any pressure to deliver but you have time to explore, to learn, to try new ideas and overall build confidence.

In this case of “Side Project” is something you are not being paid for something and that you have complete control over. …


A Web Developer Looking into the Future of VR and AR

Image for post
Image for post

As a developer of web applications, and a tech enthusiast, I am in awe when I see videos by Microsoft about HoloLens implementing AR or Samsung Gear and VR. Even my Google Cardboard and 360 videos that I can even take with my phone! Well to a degree. And yes I know some of this is pure marketing hype and not there yet but it will be.

And I have to think, is this the next big focus of the industry? Is this what dynamic websites were to the industry around 7 years ago when everyone decided to get a website or to move beyond their existing static sites? …

About

Alfred Nutile

Application Developer, PHP, Javascript, Laravel, Angular https://alfrednutile.info/about http://www.developershangout.io/

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store