Categories
Practical Reviews Theories

Uncertainty?

As human beings we assume a lot, but realising after it’s not the case anymore.

We accept those that have worked longer in employment to know more.

But when we talk about agendas, we realised that’s not the case.

Opening up and talking about topics we enjoy can show how in depth knowledge we may know and also highlight to those that may didn’t know.

But it’s a start.

By accepting they don’t know raises awareness to those that can teach. Be open to understand why we do certain things in the way we do.

There are concept designs, there are many theories on different agendas, then there’s the practical side of implementation with time limits.

The puzzle is knowing each strength and to pull together our minds to solve existing problems in the manner of time.

Continuous reviews draws continuous improvements, adds value across the board.

Change is unavoidable, but can be greatly rewarded in time.

Categories
Design Development Reviews Upgrade

We’re in transition.

Following on from my previous post, we’ve updated and maybe tidied a few duplicates.

There’s also been many discoveries along the way too. Stuff that doesn’t work nor spotted in system, which makes one think are these features ever been used?

Prioritising the ‘must’ from ‘nice to have’ fixed bug features is good, but could be better managed. Questioning whether they are in use or not, and to fix any major issues found along the way.

Of course business doesn’t just stop when there’s a major change, so there’s new features made in the pipeline ready for deploy.

The issue is having merge conflicts, between branches especially if there’s been many tweaks across branches.

Sometimes doing less is as valuable as doing more. So the point to take away here is accept temporary changes inbetween branches.

Yes, it’s not great for the user experience as things may look different between merges, but then again question whether there’s greater value in doing these changes in a time of merging features?

Reducing number of conflicts reduces number of hours spent revisiting repositories to review changes and a larger gain to being productive developing and improving features.

A valid point, do users prefer working software oppose to something just looking nice?

Ideally, best of both worlds would be great, but the reality is, there’s a limit to most things in development and a far greater possibility to revise designs/styles once features are merged and streamlined into few branches.

That’s where we can now develop new features in priority starting with aesthetics.

On a side note, how many developers have worked with Bootstrap 4 and noticed something interesting?

There’s a class for nearly every style, no need to customise the CSS, but for colours.

Why so many classes?

It also reduces the amount of conflicts found across the system when styling with classes especially if you’re not used to CSS (from an entry level) or the system if it was made before your time.

It’s also safe when upgrading a system, if a team were to use existing classes instead of custom classes or CSS.

Categories
Development Reviews Testing Upgrade Web Technologies

Many methods, many implementations.

Just like in coding there’s many methods, there’s also many implementations.

From NuGet to NPM, to CDN’s.

A mammoth system using all three can get confusing very quickly.

Let’s start by the most famous framework out there Bootstrap!

Imagine there are different variations of it.

The original, the Sass, the older version (just because it was release with a version name), the third party types (usually plugins that provide additional functionality with their version of compatibility to Bootstrap).

And let’s associate this is within NuGet.

Then bring in NPM an alternative, where front end tech stacks can be searched online and installed through command lines using webpack or something similar to bundle and serve.

Of course you may find Bootstrap in NPM and many variations of it, so be careful.

Then add the CDN, often used to serve code from different servers across the globe for performance boost.

It soon becames apparent there are multiples of frameworks or packages being used.

Then you’ll find them also added in different places, let’s say in different pages.

It really doesn’t get any easier and wondering how it became like this is probably best to ignore and forgive as there could be multiple factors involved.

So the aim is to consolidate the variation to one and keep any plugins used by checking their compatibility.

Where there’s multiple implementation, replace it with one direct access checking it’s version in the process or upgrade it to its latest.

In an ideal world, keeping on top of version control is an advantage.

Developers can stop hacking and develop features faster and for users to gain access earlier.

It was time to address this mess, for our development purpose mostly, but also our users.

Allow me to explain.

In development, developers often find using a framework and looking at new online documentation just because it’s available.

Usually with the less experienced developers you may find them hacking their current version to look or behave the same as to the online documentation.

That’s a no no right there, don’t even go there situation.

Developers should check their current version and find the relavent document version and work from there.

Then there’s the fact of customised features built on top of the framework.

This is the bit that can get complex, if not done the Bootstrap method using it’s classes.

On the other hand for the users, it would be a big performance boost.

Again, allow me to explain.

Refresh rates feeling like a flicker rather than a loading spinner.

But that also depends on the scenarios.

If a user is just loading a page that’s great.

If a user is querying the database it could take some time, depending how complex the search is and how much data is there.

So expect loading spinners there.

If it’s a simple search with very little data to filter from, expect a performance boost.

Apply the users to busy environments and you may find an increment of performance a cross the floor.

Categories
Reviews

Quick Changes

There are times when things need completed urgently.

But there are methods to go about it.

First think about the 5 W’s.

Who, what, when, why, where.

Apply this logic to one of your tasks.

The ‘who’ will factor the ‘how’ situation, so don’t worry there.

But wait just there!

That’s great for adding features.

Anyone thought about removing features?

Check first if there are other features around the feature you’re about to remove.

If it’s the only feature there, question yourself again the following…

Does it look odd?

Before removing a feature that’s self isolated, try creating a replacement feature.

Without these scenarios, things will turn out half baked.

Categories
Design Development Reviews

Sometime it’s not clear

It’s not always clear what to expect when building software especially when you’re reliant on user stories that don’t describe the full story.

But then again, sometimes user stories can’t be clear without some visual concepts what the users needs.

From experience with visual concepts, many users thought this was it, concrete.

Maybe that’s because it’s down to how polished a design concept is.

Depending what you’re target audience is, it should be very basic to explain itself to the user what each element of a concept does.

Factor in the user’s knowledge of what they may currently know to build the amount of detail needed in the design concept.

We all have to remember that visuals are just concepts, therefore there may be some changes in the pipeline that weren’t considered back then and that they may need looking into present.

Trying a different approach without the visuals is another challenge.

So when you’re building from scratch it only makes sense somewhere along the line where smaller components fit together but still don’t describe what they do.

Adding titles, labels, icons makes sense.

Then you start to see a pattern of inconsistency delivered in Agile methodology, that’s where you’re suppose to constantly deliver.

Sometime it’s better to extend and add a sprint to rectify these issues before it gets complicated to work with.

Yes it adds some time to productivity, but would you rather have this or the latter?

Categories
Development Reviews

I have a theory, but correct me if I’m wrong…

Working in the Web realm is fascinating, but does have it’s tolerance.

Balancing many factors that one may not be aware of.

Add that with business needs and growing demands from order of hierarchy.

The cycle of success continues with continuous learning, finding, trialing new tech stacks to building and improving software architecture.

Driven by passion and ambition to self learn, is all that was needed.

Without a software degree it’s pretty hard to summarise.

That you may know more then you think you know, but then again you only know more when you are able to investigate and trial these new ideas.

Must thank those who understand and give the time to let one manage their own.

Lessons learnt and upheld adopting the new, due to valid reasons keeping tech stack consistent for upgrading and maintaining purposes with limited resources.

It’s time to let go of the small and think bigger. Push those boundaries. Invest in the new to increment features and aim to replace the old.

First to explore, first to trial, but wait a second, we have a team with individual mindsets and abilities to do the same or similar.

Teach, train and mentor maybe a new territory for one, but not often looked upon due to time management in many businesses.

So there’s concerns in the blind spots. Noted and mentioned to many, but how and who will address it?

Correct me if I’m wrong, but it’s up to the individuals in the team to embrace the journey together.

Setting aside some time and pushing back on the frequent demands.

Better yet, let the order of hierarchy set some time to continuous review information before passing down the chain of commands.

With continuous review of information, refinement of order become transparent, data become valid and less likely to consume time rectified.

While from the bottom continuing with the business needs in a regular pattern that aligns the learning goals, teaching one another, which is one of many challenging business objectives overlooked.

Certainly a challenge this year, but appreciate able to work in the current conditions.

Categories
Reviews

Event Driven Architecture

So here’s where my head is at… from working on MVC (modal, view, controller) using JQuery and JS to manipulate single pages to building reusable components and converting the current state of software to single page application… was something on the horizon, but yet not discovered – knowing/ hearing the tech industry is shifting in that direction.

The new process reduces the amount of callbacks to the servers, which on a large scale, is a huge factor for medium to large scale businesses that rely on online activity every day.

The main positive impact is saving server processes which leads to less server maintenance and the amount of servers processing.

Preventing servers from computing overtime or overclocking, which leads to increase in heat and burnout – one of the main reasons why servers need a maintain temperature room.

The new process allows online users to process the data from client side and then return the data back to the servers.

The end result is fast and efficient, browsing experience.

Here we are scaling up as a team, thinking on decision what is possible and what are shades of gray.

As we build, trail and error, finding problems along the way and realising there are many methods to get to the end goal.

The main issue lies in the decision making, which path as a team we should take given what other problems may occur when scaling applications up.

When you get to the specific details on how to pass data around components to manipulate and store gets complex, dealing with a framework that’s new and gives options, but yet as a language executes on load.

Welcome to event driven architecture…

Categories
Reviews

Tackling programming languages from the past

Tasked to solve – is pretty much what one has been doing to date.

Not knowing, but yet comfortable challenging them while time is ticking away.

Rewind back to years, where self teaching new programming languages was ever so daunting.

The instincts of knowing a language that would update in increments or a full re-write that would extend maintenance time and having to explain that up the chain.

Working with PHP this week and some experience of WordPress remembered in the past – felt like a task that one should attempt, be it if one has only touch the surface of this language.

The attempt was successful and the feeling of confidence has gained tremendous.

So the lesson learned here was be calm and carry on.

Categories
Reviews

Office Politics

Things just keep changing constantly, another job another mess… a repetitive process of seeing code that may once have been produced to good business needs.

But while business changes are happening, there’s a lack of poor coding standard among the fast pace environment.

Factors may include limited time, short fall on talent, to miss communication between colleagues or teams, or just the nature of employment to human error.

I see that trending… a.. lot, even in well documented or reading materials, just check my Instagram feed out, pretty basic examples, but yet one may not see it straight away…

And here I am learning programming, how dynamic languages from learning JQuery to vanilla JS using React.js and Vue.js all work behind the scene, noticing state cycles and how interactive elements on markup react, whether it’s a button or a URL link.

Seeing data races when elements on pageload load slow or when users react to events on a page.

Or, when functions are buried within function and script files bundled randomly that causes conflicts among execution.

But, I’ve fixed the mess with some history behind what it should and shouldn’t do and where to look for these files to edit.

Sure it took several days or some week or two to get it correct, but not bad to say I don’t have the correct qualifications, just a heck of a lot minor qualifications and plenty of experience in and out my career progression.

Understanding ones code and then attempting to fix it, would be suicidal – it’s not easy as building something new with the common known tools one may use.

One true thing that does amazes me, how each user tries to navigate their way through a website or software looking for what they need/want in information or running certain tasks.

The way how one uses it, whether it was designed to do so or was designed to do something alternative – always look outside the box.

And now I’ve come to my senses there’s a lot I could do, but my time is worth so much more, only look at the bigger picture by prioritize crucial tasks first given working in scrum and using sprints to weed out the least irrelevant requirements, and when those fall together, the least irrelevant follow as if it becomes a waterfall of working code.

I still have lots to learn and cover, yet striding the tech stack swiftly with self motivation and some help from the smartest people I’ve come across, but one advice I’d give to all… Nothing is correct and not everything is also wrong, it’s finding that right balance of what is true and false using your own instincts, most likely from experience.

Those starting fresh, start early and make as many errors as possible, as later you’ll realise your strengths and collaborate where ever possible in teams or departments.

Categories
Reviews

Fighting for your attention

There’s a point throughout the working process where your attention to knowledge is needed elsewhere, but what do you do if you have scheduled work and clients fighting between themselves for your attention, but also here and there trying to bypass paying for such services?

Fair play, I don’t mind helping people here and there, but when expecting work to be completed at such short notice, especially which is an experimental approach (meaning something you’re willing to do that isn’t in your skill set) – what do you do?

Charge them a premium? Ask them to wait in line? Or, squeeze them in wherever possible? What if you’re unsure how long a work process would take given it’s not in your remit? Question, is this an accurate decision to take? Something that always keeps me awake at night!

Instincts tell me to be careful there may be a borderline, causing disaster without knowing and while others around you hang in there waiting for this moment to happen. A quick decision whether the attempt was worthy of you being in employment or a means to end employment if work wasn’t carried out accordingly to their expectations.

This is where backups are a highly important and should be available to recover if needed. A rule of thumb to anyone working in the digital realm, keep a backup!

Spending personal time to self-develop has shown many methods to approach different cases in work environment, but what if you have to develop others that constantly needing help? Leading the way for clients and their staff included.

I’ve been there myself too and realise the flaw in the working environment.

No one wants to teach others if they have to teach themselves to learn and develop while earning bread and butter to live (this doesn’t even include personal activities) – that’s like double work loading and shortening life balance. So what is the solution here you may ask?

There are genuine people asking me all sorts of questions, some even I don’t have the answer to, but I guess from my experience, if you really want to know something, start spending personal time to self-develop and stop relying on others.

Sounds harsh right? Welcome to reality.

Working in a software environment made me realise a lot of differences and advantages for potential improvements in business and self-development plans.

Ability to discover and make ground breaking improvement whether it’s just an idea/thought or tweaks in code. This is something that attracts me to keep working with determination no matter what is offered to the table.

This boils down to one personal question that always rises above others during interviews, what type of development plans are in place for personal development for employees (this is a big factor for my case that most businesses tend to rule out, simply because they expect you to know ‘apparently’ to become successfully hired).

There’s also the case one may already have these services in place and by experiences not all training platforms cover the true ‘know how’s’, which lead to thinking what other incentives do one offer… in-house training?

Doubt that, given the reasons above.