While I doubt most of us can claim to come from the same circumstances as Mia, the rough-around-the-edges protagonist of Andrea Arnold’s 2009 coming-of-age film Fish Tank, I’m sure most of us can at least empathize on a spiritual or philosophical level with her eventual need to reach for something better in her life. That sense of identification isn’t in place to make us realize that even the very poor have hopes and dreams; it’s about linking in to Mia’s basic humanity. Rather than pompously trod through the council estates of East London, observing the lives of the poor for personal gain, Arnold instead yields a very matter-of-fact slice of life in which her heroine not only strives to break out of the cycle of her existence but also grow into womanhood. Details aside, that struggle is universal and human. By extension, so too is Fish Tank. The film’s title presumably refers to the suffocating bubble Mia inhabits; she doesn’t see much of the world outside of the flat she shares with her younger sister and abusive, neglectful mother and the areas immediately outside of her housing. It’s a limited, narrow landscape. Harsh realities of her home life aside, no one could blame her for wanting to escape– which is where the film’s title may find its other meaning. We quickly learn that Mia spends much of her spare time in an abandoned flat practicing hip-hop dancing as she listens to artists like Nas. The transformation she takes in these moments is staggering; Mia never looks more alive than when she’s practicing her b-girl stance. In other moments, she simply exists, as though she’s waiting for the next opportunity to work on her moves and really live.
It’s not until Connor (Michael Fassbender) comes along that her life experiences something by way of a catalyst for change, however. It’s made apparent quickly that Connor is dating Mia’s mom, but Mia doesn’t care in the slightest. If anything their relationship makes him more interesting to her. As she gamely tries to impress the charming Irishman at every opportunity, labors to improve her dancing, and eventually comes to pursue a Welsh traveler closer to her age, Mia’s coming of age comes into full bloom amid the dingy apathy of her world.
At the risk of sounding self-contradictory, Fish Tank teems with life. I realize that this clashes with the proposed notion that Mia soldiers through life with aggressive listlessness in between the time she spends dancing and flirting with Connor. But Mia’s not emotionally dead when she’s not engaging in the activities that best display her spark of life; she’s just angry, and she deals with the world using her anger as a filtering lens. Her rage, however, does not completely define who she is, and we only ever see the real Mia in those situations where she’s most at ease and most comfortable. (Or, in the case of her dealings with Connor, vulnerable.) And when she’s sparring with her mom or dressing down neighborhood girls with their own dancing aspirations, Mia’s most certainly alive. She’s just not being Mia.
Mia’s emotional walls aside, though, Fish Tank is vivacious and alive in every single frame. In point of fact I believe that to be part of Fish Tank‘s purpose; Mia’s relentless external ire and her internal meekness and insecurity over her talents and her chances at succeeding at dancing put her in a place wherein life passes her by constantly. When she responds to an advertisement expressing a need for dancers, it’s the first time in the film that she actually takes a positive step forward in her life. The rest of the time, she simply hides herself and keeps everyone in her life (even her sister, whom she clearly loves) at arm’s length while the beat of the world hums around her.
As Mia, Katie Jarvis is something of a revelation. While Fish Tank was released before Michael Fassbender began his dominant streak in mainstream and indie cinema alike, it’s worth praising any amateur talent for holding their own against him in scene after scene, which Jarvis does effortlessly. Like the character she portrays, she feels tragically real, and there’s a chance that there’s something of Mia in Jarvis herself– or perhaps vice versa. Mia’s self-defeating, self-isolating behavior is the sort that reads as infuriating on the page but feels far more sympathetic through performance; she’s a product of her surroundings, but more importantly she’s far more fragile and human than she lets on.
Fassbender, for what it’s worth, is every bit as charming as anyone who’s seen him act would expect him to be. Connor’s the antithesis of what Mia has come to expect from adults in her life; he’s kind, patient, understanding, surprisingly cool in every sense of the word. Coupled with his handsomeness, it’s easy to see how Mia might develop a crush on him. That in and of itself presents something of a moral dilemma for both characters, particularly Connor as the story continues developing. What’s fascinating is that amidst Mia’s own confused feelings and Connor’s guilt-tempered desire, Fish Tank avoids lasciviousness; as much as we may regard their flirting as being inappropriate (which it certainly is), it never reads as exploitative or dirty. Largely, this comes down to rapport and chemistry. Fassbender and Jarvis feel natural on-screen together, and their performances constitute Fish Tank‘s highest points.
The entire movie, though, is composed of high points. In Fish Tank Arnold has created both one of the most essential contemporary neo-realist films of its decade, and a superlative youth-in-trouble film. It’s a picture that gestates slowly; at first, Mia seems to nearly revel in her circumstances. At the very least she doesn’t acknowledge that her life is one worth improving. But Fish Tank ultimately becomes a journey along Mia’s path to deciding she wants to be anywhere but East End. Arriving at that conclusion proves bittersweet between her pride and remorse and grief, resulting something all too believable and real that’s both hopeful and heartbreaking at the same time.
{"id":"2","mode":"form","open_style":"in_place","currency_code":"USD","currency_symbol":"$","currency_type":"decimal","blank_flag_url":"https:\/\/agcrump.work\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/blank.gif","flag_sprite_url":"https:\/\/agcrump.work\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/flags.png","default_amount":500,"top_media_type":"featured_image","featured_image_url":"https:\/\/agcrump.work\/wp-content\/uploads\/2025\/10\/image-asset-179x200.webp","featured_embed":"","header_media":null,"file_download_attachment_data":null,"recurring_options_enabled":false,"recurring_options":{"never":{"selected":true,"after_output":"One time only"},"weekly":{"selected":false,"after_output":"Every week"},"monthly":{"selected":false,"after_output":"Every month"},"yearly":{"selected":false,"after_output":"Every year"}},"strings":{"current_user_email":"","current_user_name":"","link_text":"Leave a tip","complete_payment_button_error_text":"Check info and try again","payment_verb":"Pay","payment_request_label":"A Constant Visual Feast","form_has_an_error":"Please check and fix the errors above","general_server_error":"Something isn't working right at the moment. Please try again.","form_title":"Support My Work:","form_subtitle":"","currency_search_text":"Country or Currency here","other_payment_option":"Other payment option","manage_payments_button_text":"Manage your payments","thank_you_message":"Thanks for supporting my work!","payment_confirmation_title":"A Constant Visual Feast","receipt_title":"Your Receipt","print_receipt":"Print Receipt","email_receipt":"Email Receipt","email_receipt_sending":"Sending receipt...","email_receipt_success":"Email receipt successfully sent","email_receipt_failed":"Email receipt failed to send. Please try again.","receipt_payee":"Paid to","receipt_statement_descriptor":"This will show up on your statement as","receipt_date":"Date","receipt_transaction_id":"Transaction ID","receipt_transaction_amount":"Amount","refund_payer":"Refund from","login":"Log in to manage your payments","manage_payments":"Manage Payments","transactions_title":"Your Transactions","transaction_title":"Transaction Receipt","transaction_period":"Plan Period","arrangements_title":"Your Plans","arrangement_title":"Manage Plan","arrangement_details":"Plan Details","arrangement_id_title":"Plan ID","arrangement_payment_method_title":"Payment Method","arrangement_amount_title":"Plan Amount","arrangement_renewal_title":"Next renewal date","arrangement_action_cancel":"Cancel Plan","arrangement_action_cant_cancel":"Cancelling is currently not available.","arrangement_action_cancel_double":"Are you sure you'd like to cancel?","arrangement_cancelling":"Cancelling Plan...","arrangement_cancelled":"Plan Cancelled","arrangement_failed_to_cancel":"Failed to cancel plan","back_to_plans":"\u2190 Back to Plans","update_payment_method_verb":"Update","sca_auth_description":"Your have a pending renewal payment which requires authorization.","sca_auth_verb":"Authorize renewal payment","sca_authing_verb":"Authorizing payment","sca_authed_verb":"Payment successfully authorized!","sca_auth_failed":"Unable to authorize! Please try again.","login_button_text":"Log in","login_form_has_an_error":"Please check and fix the errors above","uppercase_search":"Search","lowercase_search":"search","uppercase_page":"Page","lowercase_page":"page","uppercase_items":"Items","lowercase_items":"items","uppercase_per":"Per","lowercase_per":"per","uppercase_of":"Of","lowercase_of":"of","back":"Back to plans","zip_code_placeholder":"Zip\/Postal Code","download_file_button_text":"Download File","input_field_instructions":{"tip_amount":{"placeholder_text":"How much do you want to tip?","initial":{"instruction_type":"normal","instruction_message":"How much do you want to tip?"},"empty":{"instruction_type":"error","instruction_message":"How much do you want to tip?"},"invalid_curency":{"instruction_type":"error","instruction_message":"How much do you want to tip?"}},"recurring":{"placeholder_text":"Recurring","initial":{"instruction_type":"normal","instruction_message":"Want to make a recurring tip?"},"success":{"instruction_type":"success","instruction_message":"Want to make a recurring tip?"},"empty":{"instruction_type":"error","instruction_message":"Want to make a recurring tip?"}},"name":{"placeholder_text":"Name on Credit Card","initial":{"instruction_type":"normal","instruction_message":"Enter the name on your card."},"success":{"instruction_type":"success","instruction_message":"Enter the name on your card."},"empty":{"instruction_type":"error","instruction_message":"Please enter the name on your card."}},"privacy_policy":{"terms_title":"Terms and conditions","terms_body":null,"terms_show_text":"View Terms","terms_hide_text":"Hide Terms","initial":{"instruction_type":"normal","instruction_message":"I agree to the terms."},"unchecked":{"instruction_type":"error","instruction_message":"Please agree to the terms."},"checked":{"instruction_type":"success","instruction_message":"I agree to the terms."}},"email":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email address"},"success":{"instruction_type":"success","instruction_message":"Enter your email address"},"blank":{"instruction_type":"error","instruction_message":"Enter your email address"},"not_an_email_address":{"instruction_type":"error","instruction_message":"Make sure you have entered a valid email address"}},"note_with_tip":{"placeholder_text":"Your note here...","initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"empty":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"not_empty_initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"saving":{"instruction_type":"normal","instruction_message":"Saving note..."},"success":{"instruction_type":"success","instruction_message":"Note successfully saved!"},"error":{"instruction_type":"error","instruction_message":"Unable to save note note at this time. Please try again."}},"email_for_login_code":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email to log in."},"success":{"instruction_type":"success","instruction_message":"Enter your email to log in."},"blank":{"instruction_type":"error","instruction_message":"Enter your email to log in."},"empty":{"instruction_type":"error","instruction_message":"Enter your email to log in."}},"login_code":{"initial":{"instruction_type":"normal","instruction_message":"Check your email and enter the login code."},"success":{"instruction_type":"success","instruction_message":"Check your email and enter the login code."},"blank":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."},"empty":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."}},"stripe_all_in_one":{"initial":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"empty":{"instruction_type":"error","instruction_message":"Enter your credit card details here."},"success":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"invalid_number":{"instruction_type":"error","instruction_message":"The card number is not a valid credit card number."},"invalid_expiry_month":{"instruction_type":"error","instruction_message":"The card's expiration month is invalid."},"invalid_expiry_year":{"instruction_type":"error","instruction_message":"The card's expiration year is invalid."},"invalid_cvc":{"instruction_type":"error","instruction_message":"The card's security code is invalid."},"incorrect_number":{"instruction_type":"error","instruction_message":"The card number is incorrect."},"incomplete_number":{"instruction_type":"error","instruction_message":"The card number is incomplete."},"incomplete_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incomplete."},"incomplete_expiry":{"instruction_type":"error","instruction_message":"The card's expiration date is incomplete."},"incomplete_zip":{"instruction_type":"error","instruction_message":"The card's zip code is incomplete."},"expired_card":{"instruction_type":"error","instruction_message":"The card has expired."},"incorrect_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incorrect."},"incorrect_zip":{"instruction_type":"error","instruction_message":"The card's zip code failed validation."},"invalid_expiry_year_past":{"instruction_type":"error","instruction_message":"The card's expiration year is in the past"},"card_declined":{"instruction_type":"error","instruction_message":"The card was declined."},"missing":{"instruction_type":"error","instruction_message":"There is no card on a customer that is being charged."},"processing_error":{"instruction_type":"error","instruction_message":"An error occurred while processing the card."},"invalid_request_error":{"instruction_type":"error","instruction_message":"Unable to process this payment, please try again or use alternative method."},"invalid_sofort_country":{"instruction_type":"error","instruction_message":"The billing country is not accepted by SOFORT. Please try another country."}}}},"fetched_oembed_html":false}
I haven’t heard of this one, but now I’ll have to Netflix it. Thanks for sharing.
No problem! Check this out when you can, it’s on Netflix Instant if you’ve got that at your disposal.
One of my favorite films.