Article

Category: Succeed as a consultant

Tips from a consultant: How to optimize your workflow as an IT specialist

In this article, front-end specialist and emagineer Kamil Naja returns to share his advice on incorporating habits that will sharpen your expertise and act as a gateway to securing better projects; ultimately propelling your career forward.

Kamil Naja, Warsaw

As a software developer, I've always been interested in finding new ways to optimize my workflow and become more efficient.

It pays off to acquire certain habits to work more effectively, as these habits contribute to honing your skills, receiving better projects, and ultimately advancing your career.

In this article, I share my advice with the most important methods I've incorporated in my work, which will allow you to work more quickly and effectively in the IT environment. I'm also including some books which helped me organise better and you might find them helpful. Let's dive in!

 

You can forget the small things - if you write them down instead

It's estimated that a person can work in a focused manner for only about 3-4 hours a day, and further work results in decreased productivity and less effective performance. One person can perfectly organize their workplace and work environment, while others may proverbially stumble over their own feet.

Maintaining a continuous mental checklist can place unnecessary strain on your mind. You should use the appropriate tools to jot down these things to lighten your mental load.

Always keeping the smallest things in mind can prevent you from properly focusing on the work where you could be making a real impact.

A participant in a standard IT project needs to remember:

  • Passwords 
  • Various environments, links to CI tools 
  • User requirements 
  • Different information shared by colleagues 
  • Deadlines regarding certificate renewals 

Passwords can be stored in a password manager, such as Keepass, which takes care of encryption. You can list the environments and related links in a text file, notes in One Note/Evernote, or (my preferred option) in the form of a mind map. Clicking on links presented visually is much easier than checking the bookmarks folder every time. Searching through the clutter can be stressful and exhausting.

I recommend noting important deadlines in a place you frequently check. For me, this works with a calendar associated with the company chat, e.g. integrated into the Microsoft Teams system. Information provided to us by colleagues and related to tasks should be stored immediately in the form of a task. The Jira application allows you to add comments that will be useful in later project work.


 

  It pays off to acquire certain habits to work more efficiently, as these habits contribute to the honing of your skills, receiving better projects, and ultimately advancing your career.

 


Notes make sense only when you regularly check them. My secret way to remember project-related things is to use Spaced repetition, which involves creating flashcards in the Anki app. I put in errors and problems I encountered or new things I learned during work.

If you want to learn more about note-taking on a computer, I recommend the book Getting Things Done by David Allen.

 

Store information in an easily shareable form

The two most important things to share in projects are Jira task numbers and verification numbers or user logins used for logging into various IT environments.

Now, let's assume that a colleague sends you a Jira number they want to inquire about, simply as text. In such a situation, you need to:

  • Log into the system 
  • Search for any random task
  • Enter the task
  • Replace its name in the URL with the name sent by the colleague (this is faster than using Jira's built-in search mechanism) and initiate the search again

Finding a task this way involves five steps, even for a straightforward job. Sharing the link to the task takes even less time than sharing names (just copy the URL), and the person receiving it simply needs to paste the content into their browser.

If a tester notices a bug that may depend on a specific user and only provides a screenshot in the task, reproducing the bug by the programmer requires the following steps:

 

  • Access the specific screen
  • Attempt to reproduce the bug on several different users' data
  • After an unsuccessful attempt, the programmer contacts the tester, who sends the correct user login

The situation can be slightly improved if user data is visible in the error screen capture. Then, the programmer must painstakingly transcribe it into the system (likely making mistakes along the way), which additionally complicates matters. Some specialists use OCR (Optical Character Recognition) technology for such tasks.

I aim to make life easier by creating tasks with all the necessary data to reproduce a specific bug in a ready-to-use form, which can be easily copied.

Artboard 1

Create task lists

At work, we usually use Jira or another high-level task management program. However, each task consists of several phases. For example, for a front-end task, these phases might include:

  • Creating a branch in GIT
  • Implementing the code
  • Deploying changes to the IT environment 
  • Moving the task to the appropriate status in the system
  • Notifying the tester about the changes

These steps are often not described in the task management system. We find ourselves working in parallel; for example, during the implementation step, we receive information from the tester that our solution for the previous task needs to be fixed. In such a situation, it's very easy to lose control of our processes.

I think it's a good idea to have an additional tool at hand - a task list in which you will keep both short-term and long-term tasks. Tasks can be tagged arbitrarily, so consider assigning priorities to them. Since they're not linked to the task management system used in the project, you can manage and change them freely as it suits you.

When choosing a tool of this kind, simplicity and good user experience (UX) should be considered. I highly recommend the Pomodoro Tracker application even if you don't use the Pomodoro technique. Another good solution is Todo.txt.

Pomodoro.txt

Another type of list consists of tasks that always follow the same process. For example, if you are deploying from the console, you can write down the individual steps in a text format and execute them one by one. If something changes in the deployment process, you first update it in your list. By working in this way, you can be sure that you are performing tasks in the correct order and not forgetting anything. I store all repetitive tasks in one place, which helps keep my mind clear and focused.

If you want to learn more about creating task lists, I invite you to read the following books:

Eat That Frog! by Brian Tracy
The Checklist Manifesto by Atul Gawande

Discover all the possibilities your tools offer

While writing this text, I was creating headers. Google Docs has a great feature: if you enter a single "#" character before a line break, it creates a first-level title; if you use two "#", it creates a second-level title, and so on.

When wanting to delete a line, a novice programmer painstakingly selects it with the mouse and then clicks the Delete button. A professional knows the shortcut to delete the entire line at once. There are hundreds of similar tricks.

Learning such basic things pays off because we work faster and with less effort. An IT specialist should periodically review tutorials on operating and efficiently using the tools encountered in their work. Many tools allow you to import keyboard shortcuts, ensuring consistent application behaviour across multiple systems and computers.

You can find more about this topic in the book The Pragmatic Programmer by Andy Hunt & Dave Thomas.


 

  Using keyboard shortcuts automatically lightens the mental load compared to constantly searching for equivalent options in an application's menu.

 


Consider deploying small tasks together

If you have many similar tasks to complete, and the process cannot be automated, it's best to tackle tasks individually. This saves time and allows you to identify various gaps in your process. You also don't have to switch between different tools, which is common when dealing with multi-step tasks. Saving even a few seconds on one task translates into many minutes throughout the day.

But if you have several minimal tasks to do, it's best to: 

  • Implement many tasks first 
  • Then deploy them together 
  • Test them together in the IT environment 
  • Finally, change the status of all tasks

And lastly - automate what you can

Modern working environments allow for the automation of many processes. Here are a few that I encounter most frequently at work.

A developer's everyday task is to create branch names in the version control system. The quickest solution available in systems like Bitbucket and Github is to create branches with names generated automatically based on the task.

It may seem obvious, but in some projects, developers come up with branch names themselves. This adds to the mental load because you must choose an appropriate name. In one of my projects, I encountered a situation where the branch name was generated based on the task, but another developer would manually copy the task name, replace spaces with hyphens (manually!), and then use that name in the project. He wasted a few minutes each day on this task.

Github

Another non-ideal practice is standard code formatting. You can, of course, format code as the most experienced team members envision it, monitor code formatting on every code review, and raise concerns when it's not correctly formatted.

Alternatively, you can set up tools like ESLint or Prettier, establish a consistent code formatting and analysis approach in TypeScript files, and save hundreds of hours of teamwork each year.

AI-based tools also offer significant time savings. For example, Github Copilot allows for instant code generation, test creation, and syntax suggestions, and provides various solutions to programmers. The main advantage of AI systems is that they considerably lighten the programmer's mental load and allow them to focus on more important issues.

To summarise, it's worth examining how we work and implementing continuous improvements to increase our efficiency, not at the cost of added stress, but rather the opposite. You can break down your work into the most frequently performed tasks and consider how to improve each of them by even just 1%. Over time, you'll become better at them, and you'll find daily tasks less exhausting. This way you can focus on the fun parts of your work and pay more attention to tasks that actually matter.

Ready to grow?

Get help with your CV and profile and be found for rewarding projects.

Blog

Explore our blog

left-arrow
right-arrow

Henrik Timm
Projects & Implementation
Succeed as a consultant

The project manager in the era of AI

The advent of artificial intelligence (AI) has sparked discussions across various industries about its potential impact on traditional roles and responsibilities. The field of project management is not exempt from these considerations, and as a project manager, it is only natural to ask yourself: How will AI affect my work? 

Project manager at a meeting with his team.
Projects & Implementation
Succeed as a consultant

Key considerations for aspiring project managers

This article serves as a guide to all aspiring project managers, discussing important considerations and essential skills needed to excel in this dynamic career.

Projects & Implementation
Succeed as a consultant

From risks to requirements: Project initiation from A to Z

As the first step in the project lifecycle, project initiation is critical in determining the ultimate success of a project. Learn the best practices and key considerations for successful project initiation.

Succeed as a consultant

How to build a unique LinkedIn profile

In this article, our hiring manager and recruiter shares his tips on setting up a compelling LinkedIn profile to help you stand out on the job market.

Code
Expert stories
Succeed as a consultant

Seven mistakes every tester should avoid in QA

Written by a Test Team Leader and emagineer, this article dives into seven key pitfalls within software testing. Discover how to steer clear of these traps, strengthen your strategies, and lead your team toward testing excellence.

Case: Tech & development
Expert stories
Succeed as a consultant

Nx for Angular: A reliable tool simplifying the work with IT projects

Front-end developer explores how Nx can benefit Angular projects and its compatibility with other technologies like React & Node.

Expert stories
Succeed as a consultant

Tips from a consultant: How to optimize your workflow as an IT specialist

Front-end specialist shares his advice on how to become more efficient in your work as an IT consultant, incorporating habits that will sharpen your expertise and act as a gateway to securing better projects

IT specialist working from home.
Expert stories
Succeed as a consultant

Non-functional requirements in the Application Development Process

Within the development process, non-functional requirements emerge as a pivotal factor. The challenge lies in effectively gathering and processing these requirements, ensuring clarity and direction for every member of the IT team. The ultimate goal: crafting a distinctive and dependable end product that offers a seamless experience to the end user.

Expert stories
Succeed as a consultant

Snapshot testing in front-end applications

In today’s fast-paced software development landscape, maintaining application consistency is of utmost importance. One approach that has gained popularity is snapshot testing, and emagineer Kamil Naja is here to take us through the ins and outs.

Code
Expert stories
Succeed as a consultant
Tech & Development

Effective ways to work with Backend

In the realm of front-end solutions, the vital role of back-end applications cannot be overstated. In this article, emagineer Kamil Naja delves into the world of backend development, uncovering effective methods to optimize the process.

Data & Analytics
Expert stories
Succeed as a consultant

AI support in the development of front-end solutions

Gain valuable insights into the evolving landscape of front-end development as we explore the transformative applications of AI technologies. This article delves into three prominent AI tools: ChatGPT, GitHub Copilot, and GitHub Copilot Chat, and how they can be leveraged by front-end developers.

A consultant meeting two managers at a job interview.
Succeed as a consultant

Consultant interview from A to Z: Cheat sheet for landing your next job

A practical guide to land your next job. The consultant interview is a good opportunity to make a lasting impression. Here you can learn how to navigate your next job interview and land the job.

Succeed as a consultant

LinkedIn optimizations: Make your profile stand out

Six easy gains – you can use them today! In this article, you will learn six straightforward tips on upgrading your LinkedIn profile quickly and efficiently – these changes might make all the difference.

Senior consultant with beard looking self assured
Staff augmentation
Succeed as a consultant

Five characteristics of successful consultants

What makes a good consultant? While there is no step-by-step guide or a fixed formula to lead you to the top of the game, some characteristics are prevalent in all of expert consultants. Let us take you through five of the most prominent components contributing to success.

An experienced consultant smiling in a meeting with two others
Succeed as a consultant

Freelance 101: How to start as an independent IT consultant

Are you an IT expert with several years of experience, and do you dream of working independently and being your boss? It’s not that complicated to start, and we’ve made it easier for you. As a new freelancer, you have many opportunities, but you also face challenges. Check what is required and how to get started.