Fluid Attacks logo
Contact Us
Young hacker smiling
Zero false positives

Expert intelligence + effective automation

Contact logo Contact Us


Welcome to Immersion. At this point, you have already been selected from among more than 6000 candidates, and you have only a few more steps to go. Immersion is an intensive self-training involving a variety of assignments in programming and hacking. Immersion is funded by Fluid Attacks.

1. Philosophy

Your goal in this stage is to reach the highest levels of technical proficiency before you execute real pentests on financial and telecommunications systems. This stage also serves to substantiate your interpersonal communication and teamwork skills.

Because this is a lengthy and time-consuming process, Fluid Attacks, regardless of your progress in points and ranking, provides monetary compensation for the time you invest in completing the assignments.

2. Objectives

  1. Solve 30 unique programming challenges.

  2. Solve 30 unique ctf-hacking challenges.

  3. Solve 30 unique vbd-hacking challenges.

  4. Publish 3 blog articles.

  5. Finish 3 training projects.

3. Terms

  1. All terms from the technical challenge stage apply.

  2. Use the assigned tool in automatic mode to report all your work time.

  3. Your training day begins at 7:00 AM in Fluid Attacks office.

  4. By 6:00 PM of each training day, you must have sent at least one accepted-into-master MR, or a standard progress report if the MR has been rejected. You can fill your standard progress report through This link.

  5. You may then continue training and reporting your work time, done outside of the office, from a location of your choice, as long as you comply with the 2 previous rules.

  6. If for some exceptional reason, you are not able to complete the training in person, a weekly training schedule to work remotely, will be established.

  7. Training must always be done using your own personal laptop.

  8. Your daily dedication to your work will be evaluated based on a reference time of 48 hours/week.

  9. Fluid Attacks expectation is that you will be present in person, at the company’s office, each business day.

  10. If for personal or health reasons, you are unable to come to work in person, you will not be allowed to complete any challenges or report any training time for that day.

  11. On the third business day of each week, you are required to work at your maximum level of productivity and commitment.

4. Criteria

  1. For the challenges, use the same criteria listed in the challenge stage.

  2. For the articles, use the same criteria defined in the style guide.

5. Cycles

  1. Training is done in weekly cycles.

  2. Initially, you are offered one cycle of training.

  3. At the end of each cycle, one of the following will happen:

    1. You do not receive any notification, which means the training cycle continues for one more week.

    2. You receive a notification that we do not want to continue with another cycle, which means we are terminating the training process.

    3. You receive a formal notification that we do not want to continue with another training cycle because we want you to advance to the next stage.

  4. Usually 12 to 36 cycles are required to finish this stage.

    1. This is an estimate, it depends entirely on your productivity, perseverance, and performance.

6. Training sequence

On this stage you will deal with three types of challenges: Programming, Hacking and Vulnerable by Design (VbD). The purpose is to solve within a short time as many unique challenges as possible always seeking a balance between all categories. This means that every category must have the same ammount of unique solutions (standard deviation = 0). Every MR must contribute to the balance of this metric, otherwise the MR will be closed.

You can keep tracking of your metrics in the following page:


Just replace your {$GITLAB_USERNAME}.

  1. After you have 10 unique solutions of each type, write one (1) article for the blog by sending an MR to the web repository.

  2. Repeat the previous steps until you complete the objectives.

  3. Read carefully the programming challenge requirements below:

    1. Each programming challenge completed must be one (1) score point greater than the previous one.

    2. If no challenges with greater score exist, start again solving a challenge of lower score.

    3. If you reach a point where the need to obtain a higher score makes it hard for you to advance:

      1. Read about the topics you haven’t mastered yet (graphs, trees, modular arithmetic, etc).

      2. Try different approaches, (Recursion, Heuristics, Dynamic Programming, Greedy, Divide and Conquer, etc).

      3. Persevere! We are interested in disciplined programmers.

    4. If you reach a point where you definitely cannot advance:

      1. Remember that in the challenge, the process is just as important as the goal.

      2. Pick a different challenge, the new difficulty is up to you, and try to solve it.

7. Payment

  1. The time you spend that is reported as training will be paid at $9,468 COP (Colombian pesos) an hour.

  2. Based on the previously stated reference time of 48 hours/week (see item 3, sentence 8 above), we expect an 80% minimum level of work time.

  3. Regardless of expectation, you will be paid only for the actual time worked.

  4. The first 96 hours of reported training time will not be compensated. However, if you continue in the training stage, we will guarantee your payment for the next 96 hours.

  5. Your contract is for services with monthly payments.

  6. During your training stage, you are considered an independent contractor. As such, you are responsible for paying any withholding and social security taxes.

  7. On the first business day of the following month, we must have, in addition to your direct deposit account information:

    1. An invoice for the hours you worked in the previous month.

    2. Payment stub of your social security for the previous period.

If you live on the outskirts of Bogotá or Medellín, you can begin the immersion process remotely; no other terms can be changed. If you choose to begin remotely, you may do so if and only if:

  1. When we ask you to come into the office to continue the immersion process, you comply within 7 calendar days of the request.

  2. When you continue the immersion process in person, the hourly pay rate will be increased. It will be twice as much as previously indicated (see item 7, number 1) in order to compensate you for any transportation and accommodation costs you may incur.

  3. At this stage of the selection process we guarantee you a minimum of 4 immersion cycles.

  4. To be clear; if you are hired, you are required to work in person at our facilities located in Medellín or Bogotá. Immersion is one stage of the selection process. In this stage, we improve your interaction with our team and expand your training into other topics.

If you are currently employed, you can participate in the immersion process under the following conditions:

  1. Indicate how many hours per week you are willing to train. Your training minimum is 8 hours per week.

  2. Work remotely without coming to our facilities.

8. Get Started

This stage begins when:

  1. You finish the technical challenge stage

  2. Send us an email (careers@autonomicmind.com) with the following: .

I have read and understood all the documentation and terms of the immersion stage. I accept the offer and confirm that I can start on AAAA/MM/DD.


  • ProfessionalCard.pdf if it applies in your country and you are an undergraduate.

  • PaymentReceiptProfessionalCard.pdf if it applies in your country and you are an undergraduate, but don’t yet have it.

  • Neither, if you have not yet graduated from secondary school.

Important When you have finished all the items mentioned in this section and you begin the immersion stage, other procedural details such as, how you do the everyday training, the programming languages used, documentation format, and the required tools, among others, will be disclosed.

9. End

The immersion stage ends if:

  1. You have successfully completed the objectives.

  2. You are not meeting all terms and criteria defined in this stage.

If you have any questions, don’t hesitate to contact us at careers@autonomicmind.com.

Service status - Terms of Use