<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Taxdoo Engineering</title>
    <description>The latest articles on Forem by Taxdoo Engineering (@taxdoo).</description>
    <link>https://forem.com/taxdoo</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F3940%2F2bf5e5c5-cccf-4582-81a5-7b7637638cf8.png</url>
      <title>Forem: Taxdoo Engineering</title>
      <link>https://forem.com/taxdoo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/taxdoo"/>
    <language>en</language>
    <item>
      <title>Engineering Metrics: Take your team to the next level</title>
      <dc:creator>mariacasancho</dc:creator>
      <pubDate>Tue, 02 May 2023 12:26:42 +0000</pubDate>
      <link>https://forem.com/taxdoo/engineering-metrics-take-your-team-to-the-next-level-47m7</link>
      <guid>https://forem.com/taxdoo/engineering-metrics-take-your-team-to-the-next-level-47m7</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;You can’t improve what you don’t measure.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;These words of wisdom are often attributed to the famous management guru and thinker, Peter Drucker, and, especially in the context of modern software engineering, have never been more relevant. Measuring things is something we have been doing for thousands of years, it is a concept that we are very familiar with. Metrics mean that success and failure can be measured in a quantitative way. Data gathered and analysed within a metrics-driven environment enables engineering teams to regularly pulse-check important projects and make informed decisions, rather than relying solely on verbal discussions or waiting until a piece of work is complete. At &lt;a href="https://careers.taxdoo.com/"&gt;Taxdoo&lt;/a&gt; we like to take time to identify what we can improve, take steps to enhance our products and empower our teams according to the data that we collect. &lt;/p&gt;

&lt;p&gt;I’d like to invite you to share a glimpse of the Taxdoo Engineering culture and with an introduction to Engineering Metrics, including the top five metrics which I recommend.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are Engineering Metrics and why are they useful?
&lt;/h2&gt;

&lt;p&gt;Engineering metrics are a quantitative or countable measure of software characteristics. When we talk about software characteristics we include different aspects that influence software development. &lt;/p&gt;

&lt;p&gt;As you develop software there are many factors at play. We need to measure those factors to have a better understanding of the effort, size and cost estimation. Engineering metrics can also help us with other aspects: we can refine our productivity, influence our team culture and identify improvements in the quality of our software.&lt;/p&gt;

&lt;p&gt;As Engineer Managers, we want to identify areas of improvement, manage the workloads of our team, increase return on investment and reduce overtime and costs. They are necessary to understand how our team, department and company perform and they can provide valuable insights for the future.&lt;/p&gt;

&lt;h3&gt;
  
  
  Engineering Metrics vs. Engineering KPIs
&lt;/h3&gt;

&lt;p&gt;We often hear Engineering Metrics and Engineering KPIs and sometimes they are confused. Even though both are metrics your organisation needs to measure and perform to make progress with the company strategic plan. The difference between them is that &lt;a href="https://www.datapine.com/blog/kpis-vs-metrics-differences/#what-are-kpis"&gt;KPIs measure progress on specific business goals and metrics are quantitative measurements used to track performance of processes at an operational level&lt;/a&gt; (thanks to Datapine for the extensive explanation). Both provide what needs to be measured to achieve your long-term objectives. &lt;/p&gt;

&lt;h3&gt;
  
  
  Metrics should provide value
&lt;/h3&gt;

&lt;p&gt;As organisations, we need to make sure that we are making the right decisions based on the correct data. We need to be aware of the way we prioritise and measure this data as it can also be counterproductive: extracting insights from data is time intensive, so make sure that the data sources used are reliable and relevant for your team or department.&lt;/p&gt;

&lt;p&gt;There are also other metrics that could influence the mood of the team. Measuring how many lines of code a person produces not only causes unnecessary stress to developers but also will show that their managers do not understand code quality. A developer producing &lt;a href="https://medium.com/taxdoo-engineering/clean-css-how-to-spring-clean-your-project-ebdb25b3a485"&gt;more lines of code&lt;/a&gt; does not necessarily mean that a programmer is more productive. At Taxdoo, as one of our values is trust, we are against micromanaging our team members and we follow principles like KISS (Keep It Simple, Stupid) or YAGNI (You aren't gonna need it) to promote a healthy, solution-orientated engineering culture. Therefore metrics like “lines of code” or “how many commits a developer does” aren’t metrics that we are interested in.&lt;/p&gt;

&lt;h2&gt;
  
  
  Types of Engineering Metrics
&lt;/h2&gt;

&lt;p&gt;There are several types of categories that we can classify our engineering metrics depending on which areas they focus. Although some of those metrics could fall into different categories, I’ve divided them into these three categories:&lt;/p&gt;

&lt;h3&gt;
  
  
  Team metrics
&lt;/h3&gt;

&lt;p&gt;This category focuses on the metrics that help the team, improve developer happiness, contribute to a good environment, evaluate processes implemented by the team and identify pain points that the developers experience day to day.&lt;/p&gt;

&lt;p&gt;Here are some examples:&lt;/p&gt;

&lt;p&gt;Context switching: context switching indicates how often team members have to move from one issue to another because of blockers. If there's a lot of context switching, it signifies that the team is inefficient.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--L82ZAFh6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5tbrthz9w5xv4m86eoxh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--L82ZAFh6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5tbrthz9w5xv4m86eoxh.png" alt="code review" width="800" height="221"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Code Review Response: Many developers are idle because they are waiting for a code review, to unblock developers or dependencies to other tickets. A code review that takes too much time or effort to get response could become obsolete and it will be harder to merge back to the main branch.&lt;/p&gt;

&lt;p&gt;Meetings: How many minutes developers spend in meetings every week. Reviewing this is a quick way to optimise developers’ time and remove unnecessary meetings.&lt;/p&gt;

&lt;h3&gt;
  
  
  Product metrics
&lt;/h3&gt;

&lt;p&gt;This type of metric will focus on the product itself: size, quality of the features, reliability, design. These metrics focus on providing the best value for the user.&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;p&gt;Monthly active users: This is one of many engagement metrics,which focus on how and how often users interact with your product. Those who engage with your product are considered active users and increasing the number of them is important for your company's growth. &lt;/p&gt;

&lt;p&gt;Number of sign ups: With this acquisition metric we can measure when somebody first starts using our service. With the number of sign ups we can also have an idea of how many users our system should be able to deal with.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ruJouagD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ech0a74b65x1kdhrb0zg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ruJouagD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ech0a74b65x1kdhrb0zg.png" alt="bugs" width="752" height="692"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Bug response time: This is a metric that will help to provide a better service to the end user. It will measure how long it takes to react and resolve a bug. If a user has problems and finds a bug we want to solve it as soon as possible.&lt;/p&gt;

&lt;h3&gt;
  
  
  Project metrics
&lt;/h3&gt;

&lt;p&gt;This category is for measuring if we are using the resources to their fullest potential. They track the performance of the engineering projects.&lt;/p&gt;

&lt;p&gt;High risk files: This metric indicates the files that have a high rework percentage. The risk is bigger when you have to make more changes. Therefore, files with a high rework percentage also have more risk that could lead to low quality.&lt;/p&gt;

&lt;p&gt;System cost: this is part of the monetization metrics, we need to know how much our system costs so we can calculate how much net revenue we can get from our users.&lt;/p&gt;

&lt;p&gt;Number of hotfixes: With the number of hotfixes we can see how many unplanned urgent changes need to happen, which will indicate what may have been overlooked when we merged that code.&lt;/p&gt;

&lt;h3&gt;
  
  
  How to implement them?
&lt;/h3&gt;

&lt;p&gt;There is no right way to implement Engineering Metrics. As the needs of each organisation and engineering team differs, it is important to select KPIs and metrics which consider these unique requirements.  A good start is for each organisation to evaluate which metrics are relevant for them and work with the APIs or data available from the tools that they are using.&lt;/p&gt;

&lt;p&gt;However, there are some tips I would like to mention regarding the implementation of  Engineering metrics. &lt;/p&gt;

&lt;p&gt;Engineering metrics should be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Easy to produce: Those metrics should be automatic, the work to generate them should be minimum. &lt;/li&gt;
&lt;li&gt;Easy to integrate as part of day to day work: It doesn’t matter if the metrics are easy to create if using them in the day to day work is cumbersome. People will stop using them.&lt;/li&gt;
&lt;li&gt;Easy to visualise and all in one place: If you have several metrics, it is very important to have one dashboard to display all of them. Reading them should take a couple of minutes.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  My top 5 Engineering Metrics
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Downtime:
&lt;/h4&gt;

&lt;p&gt;Downtime will indicate that our systems are not available, this can be because our provider has some problems or because we introduce something that requires a system shutdown.&lt;/p&gt;

&lt;p&gt;It will mean something different depending on the project: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The user can't access the system&lt;/li&gt;
&lt;li&gt;Real-time processing stalls for at least 10 minutes&lt;/li&gt;
&lt;li&gt;Number of 500 Errors &lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Developer Disturbance:
&lt;/h4&gt;

&lt;p&gt;Developer Disturbance will point out ad hoc or not planned tasks or requests that reach developers. The same as Downtime, this will depend on the project and team. We need to identify what is a developer disturbance. It can be the number of meetings and it can be measured as meeting time as previously mentioned, it can be the amount of requests from other departments or the recurrent tasks that haven’t been planned and they need to be taken immediately.&lt;/p&gt;

&lt;h4&gt;
  
  
  Bugs created vs Bugs resolved:
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--G9IBT5vJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/45871avibwt65it9kdtl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--G9IBT5vJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/45871avibwt65it9kdtl.png" alt="bugs created" width="457" height="489"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We can track how many bugs usually appear and how we react to them.&lt;/p&gt;

&lt;h4&gt;
  
  
  Failed Deployments:
&lt;/h4&gt;

&lt;p&gt;Failed deployment: the name says it all. It can be measured as the time delay for live code to be released into production or decreased lead time for changes, etc. And it will show if this team might need help with their CI/CD.&lt;/p&gt;

&lt;h4&gt;
  
  
  Project Vulnerability Status &amp;amp; Grade of Projects
&lt;/h4&gt;

&lt;p&gt;With this metric one can integrate a security scan to check the vulnerability of the dependencies. We also check with this metric our compliance framework and scan licensing.&lt;/p&gt;

&lt;h3&gt;
  
  
  In conclusion
&lt;/h3&gt;

&lt;p&gt;As mentioned earlier, all metrics will vary based on the needs of your business and structure of your engineering team. What's important is to take at least two quarters to a year for the metrics to allow new processes and goals to embed, with regular monthly pulse checks along the way. By regularly evaluating metrics over a specific period of time, you can make adjustments to ensure these metrics suit your team and are contributing value by bringing you closer to achieving business goals.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do you also have recommendations or success stories on engineering metrics?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Recommended Reading:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://leaddev.com/reporting-metrics/four-best-practices-leveraging-data-responsibly"&gt;Four best practices for leveraging data responsibly&lt;/a&gt;, Hillary Nussbaum, LeadDev.com&lt;br&gt;
&lt;a href="https://www.datapine.com/blog/kpis-vs-metrics-differences/#what-are-kpis"&gt;KPIs vs Metrics: Understanding The Differences with Tips and Examples&lt;/a&gt;, Bernardita Calzon, Datapine.com&lt;/p&gt;

</description>
      <category>engineeringmetric</category>
      <category>kpi</category>
      <category>downtime</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Feature Flags</title>
      <dc:creator>mariacasancho</dc:creator>
      <pubDate>Mon, 17 Oct 2022 11:55:37 +0000</pubDate>
      <link>https://forem.com/taxdoo/feature-flags-186h</link>
      <guid>https://forem.com/taxdoo/feature-flags-186h</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ESKdDfpU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6mgyw364qlzh4kd4u49j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ESKdDfpU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6mgyw364qlzh4kd4u49j.png" alt="Isa Berges - Graphic Design Team Lead at Taxdoo" width="880" height="659"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  These toggles are more useful than we give them credit for
&lt;/h2&gt;

&lt;p&gt;At Taxdoo, having a safe mechanism to test our products before they reach our clients is of the utmost importance. To achieve this, we started utilising something that we call feature flags. Today, I would like to take you on a journey to explore what exactly feature flags are, and what are the benefits they could bring to your projects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Are Feature Flags (a.k.a Feature Toggles)?&lt;/strong&gt;&lt;br&gt;
To make it as simple as can be, feature flags are a technique that provides features, or part of code, behind a toggle or flag that is easily controlled outside of the code itself. These toggles, or variables as we also refer to them, are used in conditional statements to toggle what is inside based on the value of that feature toggle.&lt;/p&gt;

&lt;p&gt;In even simpler terms, Feature flags come in handy most when you want to test changes in your code but it’s often not possible or practical to deploy them to all of your users at once. Instead, you can use these useful toggles to enable or disable the new code on a per-user basis.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Advantages of Using Feature Flags&lt;/strong&gt;&lt;br&gt;
There are many benefits to implementing these useful toggles as part of your daily practice, however, the biggest one must be that they are a great way to test all these new features you’ve been working on for so long. For example, you can use feature flags to control whether users get access to new features, and when they do. This allows you to avoid having problems in the rest of your application if there is an issue in one area only.&lt;/p&gt;

&lt;p&gt;Feature flags don't block the deployment of your codebase or prevent any changes from being made while they're running live on production servers. You can always add or remove them as needed after launch without affecting other parts of your application's functionality or performance, so it's easy for teams at all levels to work on critical parts of our applications and still be able to deploy them with confidence!&lt;/p&gt;

&lt;p&gt;Feature flags are just one tool in your arsenal, but they're a very useful one. You can use them to test new features and roll out changes gradually to prevent problems from affecting the rest of your application. They also make it easy for different teams at all levels to work together on critical parts of our applications without affecting their functionality or performance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Business toggles&lt;/strong&gt;&lt;br&gt;
A business toggle is what we describe as an enhancement that we want to add only for specific users. This could be anything from pricing changes (e.g., allowing more than one price tier), to a marketing campaign (e.g., showing only during certain times of day).&lt;/p&gt;

&lt;p&gt;The point is that we need to know as much as possible about our users to create a personalised experience. As a result, we can tailor content and design elements based on user preferences, which makes them more likely to stick around longer. Or at least until they get bored with the site. Well, let’s hope we don’t get to that point. Another way to call this technique would be a Canary Release.&lt;/p&gt;

&lt;p&gt;As there’s much more to cover on different types of feature toggles, one of my favourite developers, Martin Fowler, has actually made a very in-depth review for those who want to know more. If you’re one of them, feel free to read his article here.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Feature flags aren't just about making things easier&lt;/strong&gt;&lt;br&gt;
Feature flags are a great way to make your code easier to change and improve. But, they can also introduce complexity to your project. For instance, if you have multiple features, you must understand what they're doing, who has access to them, and where their data comes from.&lt;/p&gt;

&lt;p&gt;The problem with feature flags is that they aren't just about making things easier; they're also about making sure everyone knows what's going on in the codebase. So, if there's a wide excess of information circling around different developers and none of them assign clear ownership of these bits, this is when we reach the state of “feature creep”.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Little tip: Feature creep is when the scope of a project expands beyond its original goals. This can happen in any software project, but it's especially common in large projects with many stakeholders who have different ideas about what should be included or excluded. In other words, we don't like feature creeps!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;GitLab Feature Flags service for Front-end&lt;/strong&gt;&lt;br&gt;
You can use feature flags in many ways but today, I would like to talk about an MVP (aka Minimal Value Product) solution, which makes it easy to handle Feature toggles across different projects in Front end by using Gitlab.&lt;/p&gt;

&lt;p&gt;GitLab has a Feature Flag service which comes in handy in many situations. To create one and manage them, you just need to go to Deployments -&amp;gt; Feature Flags. You will see this view where we can enable and disable the Feature Flags and we can also see the environments where we can see these feature flags.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mX7jsA6b--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ifj3mrhfzqvn8gw6nx5q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mX7jsA6b--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ifj3mrhfzqvn8gw6nx5q.png" alt="Gitlab page" width="880" height="308"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once the Feature Flags are created in GitLab we need to use the Unleash service to retrieve the information. The Unleash allows us to know how many Feature Flags we have configured in the project and the information about them. For the Front End to use Unleash service they need to be connected via the Unleash Proxy or we could build a small Backend that uses the Unleash SDK for our Front End projects to use.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CEj9g_Wf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qtvftd198z6g1o2xujbq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CEj9g_Wf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qtvftd198z6g1o2xujbq.png" alt="unleash feature toggle" width="880" height="88"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As in this case we want to use Feature Flags in several Front End projects, we choose the solution of building a small node.js project that retrieves the list of feature flags of a specific project. So we just need to install the client, initialise it with the info from GitLab and ta-daaaah! We have our project Feature Flags!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tQcmzrgV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0g6v5mrt78vq0fdpyarx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tQcmzrgV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0g6v5mrt78vq0fdpyarx.png" alt="feature flags JSON" width="548" height="442"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Later in your Front End application you just need to access it with featureFlags['myFeatureFlag'].enabled to toggle a button that you don’t want to show, or a page, for example. I would recommend calling this service when you load your application and storing it somewhere globally, so you don’t end up in a situation where you need to call the backend many times.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Some closing words&lt;/strong&gt;&lt;br&gt;
As you already saw, Feature flags are a great way to help teams find the right features and priorities for their products. Worth mentioning is that this is the approach that we use at Taxdoo,however, there are many different ways to handle this technique and I would love to hear your opinion, if you’d like to share. Do you use Feature flags? If yes, how do you implement them?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Stick around for some more interesting Dev-related content as we turn our blog more and more into the guide to the &lt;a href="//careers.taxdoo.com"&gt;world of Taxdoo&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;See you soon!&lt;/p&gt;

</description>
      <category>testing</category>
      <category>productivity</category>
      <category>cleancode</category>
      <category>performance</category>
    </item>
    <item>
      <title>6 Ways to Look After your Mental Health as a Developer</title>
      <dc:creator>EmilyCook321</dc:creator>
      <pubDate>Fri, 08 Oct 2021 08:20:39 +0000</pubDate>
      <link>https://forem.com/taxdoo/6-ways-to-look-after-your-mental-health-as-a-developer-3bde</link>
      <guid>https://forem.com/taxdoo/6-ways-to-look-after-your-mental-health-as-a-developer-3bde</guid>
      <description>&lt;p&gt;&lt;strong&gt;Working in tech is awesome, especially as a software developer.&lt;/strong&gt; &lt;br&gt;
The opportunity to build amazing products, being paid to learn and working with very smart colleagues are just some of the reasons why this profession is so rewarding.&lt;/p&gt;

&lt;p&gt;However, software engineering isn’t always a walk in the park. Tight deadlines, adjusting to remote work, fixing major outages and generally, the velocity of the tech industry are some factors that can cause you stress as a developer. Therefore, it’s important to look after yourself and create simple, daily rituals that support a healthy working routine.&lt;/p&gt;

&lt;p&gt;Ahead of &lt;a href="https://www.who.int/campaigns/world-mental-health-day/2021"&gt;World Mental Health Day&lt;/a&gt; on October the 10th, we asked our software engineers on how they take care of their mental wellbeing. &lt;/p&gt;

&lt;p&gt;Here’s what they said:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Fresh air&lt;/strong&gt; 🍃&lt;br&gt;
Our interim VP of Engineering swears by fresh air and regular doses of sunshine; living in Hamburg means that biking to work or going for a lunchtime stroll around the Alster is easy to integrate into your daily routine. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Meditation&lt;/strong&gt; 🧘‍♀️ 🧘‍♂️&lt;br&gt;
Some of us have trouble not thinking about things, so meditation can help you put things into perspective and arrive in the current moment rather than being swept away by thought. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.The Pomodoro Technique&lt;/strong&gt; 🍅&lt;br&gt;
&lt;a href="https://francescocirillo.com/pages/pomodoro-technique"&gt;This&lt;/a&gt; technique focuses on working in 25 minute sessions throughout the day.&lt;br&gt;
This can be helpful for focussing efficiently and it encourages you to take regular breaks so that you avoid sitting for hours and hours without moving, drinking water or looking away from your computer screen.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Connect with colleagues&lt;/strong&gt; 🙋‍♀️ 🙋‍♂️&lt;br&gt;
At Taxdoo, we encourage everyone to set up or attend ‘Donuts’ (informal online meetings), regardless of department.&lt;br&gt;
Catching up with a colleague over a random Donut or setting up a Developer Donut is a great way to get to know your colleagues and helps you to feel connected and part of a team.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Take a break&lt;/strong&gt; 🌳🚶🚶‍♀️🌳&lt;br&gt;
Coding is awesome and the feeling of completing a task is great, however rest is also important. Why not use your lunch break to talk a walk around the block? You might be surprised at how refreshed you feel.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Find a job you love&lt;/strong&gt; 💙&lt;br&gt;
We all spend a lot of time at work, so it is important to feel comfortable and motivated by your tasks, colleagues and environment. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you’re wondering what it’s like to work at Taxdoo, we can confirm that we’re hiring! For more details, check our &lt;a href="https://boards.greenhouse.io/taxdoo"&gt;jobs&lt;/a&gt; page or follow us on &lt;a href="https://twitter.com/TaxdooEng"&gt;Twitter&lt;/a&gt; for more updates.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How do you look after your mental health as a developer?&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>news</category>
      <category>programming</category>
      <category>career</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Clean CSS: How to Spring Clean your Project</title>
      <dc:creator>mariacasancho</dc:creator>
      <pubDate>Thu, 12 Aug 2021 13:26:22 +0000</pubDate>
      <link>https://forem.com/taxdoo/clean-css-how-to-spring-clean-your-project-k4</link>
      <guid>https://forem.com/taxdoo/clean-css-how-to-spring-clean-your-project-k4</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyt7ci19q0xl9iiqs0d6q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyt7ci19q0xl9iiqs0d6q.png" alt="Clean your code!"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Illustration by Ashley Allen, Taxdoo Junior Graphic Designer&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We’ve all been there; a new project drops onto your team’s plate and it’s a scramble to hit the deadline. What usually gets hit hardest? CSS styling. Short deadlines, sub-standard architecture or lacking guidelines means that often CSS becomes the problem child in terms of delivering clean code. &lt;/p&gt;

&lt;p&gt;At Taxdoo, we use a range of styling methods for our frontend projects, however a prime example of CSS styling can be seen in our website. Like many company’s websites, Taxdoo.com is the digital shop door for the thousands of customers who visit our site daily. &lt;br&gt;
An inhouse-built site made with React, we are constantly looking for ways to optimise the performance, aesthetics and functionality of our key marketing tool.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is clean code?&lt;/strong&gt;&lt;br&gt;
Epitomised by software expert Robert Cecil Martin’s (otherwise known as Uncle Bob) book, &lt;a href="https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882" rel="noopener noreferrer"&gt;Clean Code: A Handbook of Agile Software Craftmanship&lt;/a&gt;, clean code refers to agile principles of software development that aim to create code that is simple to understand or change. Dead code refers to code that is not used when an application is run.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is clean code for CSS?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
In CSS, short for &lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS" rel="noopener noreferrer"&gt;Cascading Style Sheets&lt;/a&gt;, is the way that property values are applied to the content as a hierarchy. Child elements can either inherit or override properties values from the parent elements. If this hierarchy is not properly adhered to or the team uses bad practices, it can seriously affect a website’s performance. That's why it is important to optimize and try to keep the CSS clean.&lt;/p&gt;

&lt;p&gt;Over time, while we add more features or just small modifications to HTML elements, the CSS can grow quickly and it becomes a challenge to maintain, especially if you don't stick to the YAGNI principle ("You aren't gonna need it", only code the functionality that it is needed) in mind. &lt;/p&gt;

&lt;p&gt;Eventually, you need to delete unused CSS or optimize it.&lt;/p&gt;

&lt;p&gt;CSS frameworks can take a project load to 140KB of CSS or more, which is a lot and can take a long time to render. This size is also possible when you have a lot of templates and pages, and if you aren’t using all of it, having tools to reduce size and delete dead code is totally worth it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why is it good to remove dead code?&lt;/strong&gt;&lt;br&gt;
Dead CSS will affect the rendering time of your website. Using &lt;a href="https://developers.google.com/web/tools/lighthouse" rel="noopener noreferrer"&gt;Lighthouse&lt;/a&gt; provides a good overview of potential savings you could make in load-time by removing dead CSS, as well as scoring your website on other categories such as SEO, Performance, Accessibility and Best Practices.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;How do we detect dead code?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;One of the tools that we like to use is &lt;a href="https://developer.chrome.com/docs/devtools/coverage/" rel="noopener noreferrer"&gt;Coverage&lt;/a&gt; from Google Chrome. To open this feature from Chrome, you need to open the Developer tools and click coverage in the 3 dots at the bottom left. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flx13phl3e43iafjelb44.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flx13phl3e43iafjelb44.png" alt="So much to clean!"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There we will see a list of JS/CSS files with bars in red and blue color. The red color means the amount of code unused  and the blue color is used. It also shows the percentage of unused Bytes. Whenever you click one of those elements from the list, it will open that file and you can check which part is not being used because it will show a red bar next to it.&lt;/p&gt;

&lt;p&gt;This is only visible for the page you are in, when you visit more pages or do more actions in the page this will get updated. Seeing a lot of red doesn’t really mean you should delete it. It could be used in another part of the website, so &lt;strong&gt;do not take this chance to delete them because you could end up with big styling problems.&lt;/strong&gt; To know if a CSS selector is not being used you need to check every single page or state of your site and execute all javascript.&lt;/p&gt;

&lt;p&gt;This tool is useful to get an idea if a piece of CSS is being used, for example, if we have a specific component, we visit that component and see how much unused CSS we have.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Other ways to detect dead CSS&lt;/strong&gt;&lt;br&gt;
To analyse your code and find unused CSS, you can use several automated tools;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/purifycss/purifycss" rel="noopener noreferrer"&gt;PurifyCSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/FullHuman/purgecss" rel="noopener noreferrer"&gt;PurgeCSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/uncss/uncss" rel="noopener noreferrer"&gt;UnCSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://unused-css.com/" rel="noopener noreferrer"&gt;UnusedCSS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;PurifyCSS and PurgeCSS are the most frequently used ones and they can be integrated in the build process, while UnusedCSS is a website that checks and gives you a report of your CSS usage.&lt;/p&gt;

&lt;p&gt;To avoid having unused CSS, make sure that you scope your components and maintain a good structure. It is difficult to have unused CSS with smaller components since if the component is removed, so is the component’s CSS.  However, if you end up with a bigger project or your components grow a lot, it’s worth regularly checking your CSS and trying to clean it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What do you use to detect or remove dead code?&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;&lt;em&gt;At Taxdoo, we emphasise knowledge sharing and hope that you found this article was useful. Stay in touch by following us on &lt;a href="https://twitter.com/TaxdooEng" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;. Alternatively, you can check out our open vacancies &lt;a href="https://boards.greenhouse.io/taxdoo" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>css</category>
      <category>cleancode</category>
      <category>performance</category>
      <category>codequality</category>
    </item>
    <item>
      <title>7 Tips our Developers recommend to Newbie Devs</title>
      <dc:creator>EmilyCook321</dc:creator>
      <pubDate>Thu, 15 Jul 2021 08:14:50 +0000</pubDate>
      <link>https://forem.com/taxdoo/7-tips-our-developers-recommend-to-newbie-devs-50ji</link>
      <guid>https://forem.com/taxdoo/7-tips-our-developers-recommend-to-newbie-devs-50ji</guid>
      <description>&lt;p&gt;Today is &lt;a href="https://www.un.org/en/observances/world-youth-skills-day" rel="noopener noreferrer"&gt;World Youth Skills Day&lt;/a&gt; so we want to celebrate young people’s access to training and career opportunities by providing some inspiration for anyone interested in working in tech.&lt;/p&gt;

&lt;p&gt;We asked our developers, product managers and even our CEO about the resources that sparked their interest in tech and helped to hone their skills; here are their recommendations. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Practise this&lt;/strong&gt; ⏰&lt;br&gt;
If you have 30 minutes a day, try completing a few exercises on &lt;a href="https://www.freecodecamp.org/" rel="noopener noreferrer"&gt;FreeCodeCamp&lt;/a&gt;. This is a great way to learn to code in bitesize amounts of time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Try this&lt;/strong&gt; 💡&lt;br&gt;
A good starting point are the Hello World courses on &lt;a href="https://www.codecademy.com/learn/learn-java/modules/learn-java-hello-world" rel="noopener noreferrer"&gt;Codecademy&lt;/a&gt;, which helps with learning tooling set-up and understanding how things work in that language. You can also test your knowledge by modifying the code and adding other statements.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Get stuck into this&lt;/strong&gt; 💻&lt;br&gt;
A slightly more advanced course for learning frontend development is &lt;a href="https://todomvc.com/" rel="noopener noreferrer"&gt;ToDoMVC&lt;/a&gt;, which also has a lot of other examples for each tech stack.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Build this&lt;/strong&gt; 👾&lt;br&gt;
Learning by doing is the best method which this &lt;a href="https://www.gamedev.tv/p/complete-c-unity-game-developer-3d-online-course-2020" rel="noopener noreferrer"&gt;C# Unity Game 3D course&lt;/a&gt; from gamedev.tv definitely will help you to do so.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Read this&lt;/strong&gt; 📚&lt;br&gt;
&lt;a href="http://cleancoder.com/products" rel="noopener noreferrer"&gt;Clean Code&lt;/a&gt; is the classic book written by Uncle Bob, otherwise known as Robert Cecil Martin, who epitomizes the concept of clean code. From a product perspective, check out &lt;a href="https://leanproductplaybook.com/" rel="noopener noreferrer"&gt;Lean Product Playbook&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Watch this&lt;/strong&gt; 📺&lt;br&gt;
&lt;a href="https://www.hbo.com/silicon-valley" rel="noopener noreferrer"&gt;Silicon Valley (HBO)&lt;/a&gt;; our co-founder, Matthias Allmendinger, recommends this series as it sparked the entrepreneurial spirit that brought Taxdoo to life.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Eat this&lt;/strong&gt; 🍱&lt;br&gt;
Sushi. Ok, just kidding. Although our developers do love a good Bento box, feel free to pick your favourite brain food for learning to code. Happy hacking doesn’t happen on an empty stomach!&lt;/p&gt;

&lt;p&gt;We hope this list was helpful! It is, of course, by no means complete- what else would you recommend for budding developers?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgc1ysfryomlx80qrfmvx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgc1ysfryomlx80qrfmvx.png" alt="Screen and VAT is Love logo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We’re growing at Taxdoo! Follow us on &lt;a href="https://twitter.com/TaxdooEng" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt; or &lt;a href="https://de.linkedin.com/company/taxdoo" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; for the latest news and job posts from us. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Please note: none of these posts are paid endorsements and are solely recommendations from individual colleagues at Taxdoo.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>codenewbie</category>
      <category>programming</category>
      <category>tutorial</category>
      <category>beginners</category>
    </item>
    <item>
      <title>"Hello World!" Introducing Taxdoo Engineering</title>
      <dc:creator>EmilyCook321</dc:creator>
      <pubDate>Thu, 27 May 2021 15:35:47 +0000</pubDate>
      <link>https://forem.com/taxdoo/hello-world-introducing-taxdoo-engineering-5b8p</link>
      <guid>https://forem.com/taxdoo/hello-world-introducing-taxdoo-engineering-5b8p</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_7s0HhfN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zfgw0cuzrx6ap7a2ud6t.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_7s0HhfN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zfgw0cuzrx6ap7a2ud6t.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Hello and good day from all of us at Taxdoo Engineering! 
&lt;/h1&gt;

&lt;p&gt;As it's our first outing here, we thought we'd take the opportunity to introduce ourselves and introduce you to the world of Taxdoo Engineering.&lt;/p&gt;

&lt;p&gt;Our headquarters in Hamburg is home to over 100 employees across 24 nationalities and all of our in-house engineers. &lt;br&gt;
Dedicated to building products that deliver an outstanding customer experience in tax compliance automation, our Engineering team's work revolves around making compliance as easy as ABC.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So what exactly do we do at Taxdoo?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In 2015, a lightbulb idea sparked Taxdoo into being. &lt;br&gt;
Three entrepreneurial PhD students, named Matthias, Roger and Christian, combined forces and came up with an idea that would simplify the complex VAT compliance process. &lt;br&gt;
The solution was a software product designed to automate compliance in combination with the knowledge of tax aficionados for selling goods online (read more on the history of Taxdoo and our recent five year anniversary &lt;a href="https://en.blog.taxdoo.com/taxdoo-five-years/"&gt;here&lt;/a&gt;). &lt;/p&gt;

&lt;p&gt;Combining VAT compliance with automation software meant that Taxdoo could bridge the gap between the breakneck speed of e-commerce and the structured world of tax compliance to provide a solution that simplified VAT compliance for online-trade within Europe. &lt;/p&gt;

&lt;p&gt;Since then, Taxdoo has rapidly become a market leader, offering a holistic solution for automated tax compliance for online retailers and their tax advisors.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;#VATisLove?!&lt;/strong&gt; &lt;br&gt;
At Taxdoo, we really do believe that #VATisLove; as engineers, we pride ourselves on our unique combination of tech expertise and deep knowledge of tax compliance. We use this to develop Taxdoo products that delight our customers by offering a service that simplifies an essential yet typically time-consuming task for traders. &lt;br&gt;
And yes, your inkling is correct, it is a spin-off of &lt;em&gt;that&lt;/em&gt; Haddaway song.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What's in the Taxdoo toolkit?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Our tech stack comprises React, Node, Java, Go, GraphQL, AWS, Docker, Typescript; paired with a broad ecosystem of engineering talent and a regular cadence of code reviews and training opportunities, we ensure that all engineers feel challenged and supported to build the best possible products and services for our customers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Who are the people behind the product?&lt;/strong&gt;&lt;br&gt;
Hamburg is home to our team of in-house engineers; spanning 9 nationalities, our team comprises colleagues from around the world. &lt;br&gt;
Introducing some familiar faces from Taxdoo below, we hope you stop by and say 'hello' in the comments and feel free to follow us on &lt;a href="https://twitter.com/TaxdooEng"&gt;Twitter&lt;/a&gt; for updates on our work, open roles and life at Taxdoo.&lt;/p&gt;

&lt;h1&gt;
  
  
  Andrew is a Fullstack Developer and Tech Lead.
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zOcjla4U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/abuhm8psxjxmhuhk2nh1.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zOcjla4U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/abuhm8psxjxmhuhk2nh1.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Andrew has been a Taxdude since 2019.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What made you decide to pursue a career in tech?&lt;/strong&gt;&lt;br&gt;
I always had an interest in tech, but had never really considered it. Programming seemed like something only for genius students of math and science, which I never was. However, I found some free online resources that taught web development and I immediately knew it was what I wanted to do. It took quite a lot of hard work to get good enough to land that first job, but it was definitely worth it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;As a self-taught developer, what were the most helpful resources you used to master your craft?&lt;/strong&gt;&lt;br&gt;
There are a lot of brilliant online resources; &lt;a href="https://www.freecodecamp.org/"&gt;FreeCodeCamp&lt;/a&gt; was great for learning about frontend development. I also built a portfolio of my own projects and used resources from podcasts, completed some of &lt;a href="https://wesbos.com/courses"&gt;Wes Bos' courses&lt;/a&gt;, attended tech meet-ups and read blogs which helped me to learn the skills needed to land my first developer position.&lt;/p&gt;

&lt;h1&gt;
  
  
  Raghda is a Fullstack Developer and Tech Lead.
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--X8oEWs2F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9qmrrzev3eqwkt7nfblt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--X8oEWs2F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9qmrrzev3eqwkt7nfblt.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;br&gt;
&lt;strong&gt;Raghda joined Taxdoo in January 2021.What made you decide to pursue a career in tech?&lt;/strong&gt;&lt;br&gt;
My mum is my main inspiration; I grew up seeing my mum working as a web developer and that gave me a lot of passion for joining the field. When I first chose my major as computer science at university, I found it a bit challenging but as soon as I dived deeper into the courses, I enjoyed them and became more motivated to code and develop my own projects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You're originally from Egypt; what do you like about life in Hamburg?&lt;/strong&gt;&lt;br&gt;
At the beginning it felt strange being in a foreign country but as soon as I settled here, I enjoyed being exposed to a different culture, following the rules and getting the chance to enjoy nature, especially now that I appreciate that Hamburg is a quieter city to live in than Berlin.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What are you most excited about for 2021 at Taxdoo?&lt;/strong&gt;&lt;br&gt;
Getting to learn a lot, technically and non-technically, and of course our new office in Hamburg.&lt;/p&gt;

&lt;h1&gt;
  
  
  Ahmed is a Full Stack Developer
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZMB568Rd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6k4rjx7fzvpiudu5ty5j.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZMB568Rd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6k4rjx7fzvpiudu5ty5j.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ahmed joined Taxdoo in November 2020.&lt;br&gt;
 &lt;br&gt;
&lt;strong&gt;How would you describe Taxdoo Engineering culture?&lt;/strong&gt;&lt;br&gt;
Rich; it's a rich culture because we have a variety of people. This is not just to do with cultural backgrounds but also personalities and this shapes the way that people think. People think differently from one another; you notice this when people review your code or make suggestions. It's not just based on experience but also mentality. Having this array of different perspectives means that it makes for a much richer product. The way that I write code compared to everyone else is different, so having a variety of perspectives and opinions makes you take a step back, review your own work and understand how to write a better solution.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What have been the highlights and biggest learnings of your career so far?&lt;/strong&gt;&lt;br&gt;
One of the biggest highlights was definitely changing countries; it's been very rewarding and I am gaining so much experience the more that I work. I recognise that I can think faster now. I have become more comfortable writing code in TypeScript since joining Taxdoo and I am now faster at solving issues. It was also my first time using AWS as a service provider. &lt;/p&gt;

&lt;p&gt;Like the sound of our team? We are hiring! Check out our Engineering roles &lt;a href="https://boards.greenhouse.io/taxdoo"&gt;here&lt;/a&gt; or follow us on &lt;a href="https://twitter.com/TaxdooEng"&gt;Twitter&lt;/a&gt; for the latest updates and news from our team. &lt;br&gt;
The full version of this article was posted on our &lt;a href="https://medium.com/taxdoo-engineering/hello-world-introducing-taxdoo-engineering-ec81b607db1b"&gt;Medium site&lt;/a&gt;. &lt;/p&gt;

</description>
      <category>startup</category>
      <category>hiring</category>
      <category>culture</category>
      <category>welcome</category>
    </item>
  </channel>
</rss>
