{"id":13013,"date":"2024-05-17T08:56:39","date_gmt":"2024-05-17T08:56:39","guid":{"rendered":"https:\/\/prelive-tdw.visibleone.app\/career\/employment-lawyer\/"},"modified":"2026-08-20T09:35:41","modified_gmt":"2026-08-20T09:35:41","slug":"trainee-solicitors","status":"publish","type":"career","link":"https:\/\/www.tannerdewitt.com\/zh-hant\/career\/trainee-solicitors\/","title":{"rendered":"Trainee Solicitors"},"content":{"rendered":"\n<div class=\"careers-detail-hero-container\" id=\"careers-detail-hero-container\">\n    <div class=\"flex flex-col gap-[10px]\">\n        <h2 class=\"hero-title !font-[400]\">Trainee Solicitors <span class=\"!normal-case\"><\/span><\/h2>\n        <a class=\"body1 font-roboto no-underline text-white normal-case font-bold\"\n            href=\"https:\/\/www.tannerdewitt.com\/zh-hant\/careers\/\">\n            <span class=\"sub\">\u4e8b\u696d\u767c\u5c55<\/span><\/a>\n\n    <\/div>\n    <a class=\"no-underline\" href=\"#careers-detail-contact-form-container\"> <button\n            class=\"hero-btn\">Apply Now<\/button><\/a>\n\n<\/div>\n\n\n<div class=\"careers-detail-content-container bg-[#F8F8F8]\" id=\"careers-detail-content-container\">\n    <div class=\"editor-wysiwyg career-details\">\n        <p><strong>Applications for 2027 trainee solicitor contracts are now closed. <\/strong><\/p>\n<p><strong>Applications for 2028 intake will open on 1 October 2026 and will remain open until 30 June 2027. Early applications will not be considered. For inquiries, please email <a title=\"mailto:careers@tannerdewitt.com\" href=\"mailto:careers@tannerdewitt.com\" target=\"_blank\" rel=\"noreferrer noopener\">careers@tannerdewitt.com<\/a>. Please also note that applications without transcripts will not be considered.<\/strong><\/p>\n<p>Tanner De Witt is a Hong Kong based law firm. It was established in 1999 and now has a team of 100, including more than 50 fee earners. It is committed to providing a challenging, rewarding and professional programme for our trainee solicitors.<br \/>\nThe firm recruits up to four trainee solicitors each year. From day one a trainee solicitor will be part of a team working on actual cases bringing you into direct contact with clients both in Hong Kong and internationally.<\/p>\n<p><strong>Who should apply<\/strong><\/p>\n<ul>\n<li>Upper second class law degree (2:1 or equivalent);<\/li>\n<li>Excellent English language is a must; knowledge of Chinese is not essential but is a distinct advantage;<\/li>\n<li>Tanner De Witt welcomes both local and overseas applicants who have excelled academically and who ideally have had experience overseas gaining personal development;<\/li>\n<li>An offer of a training contract is made subject to first-time successful completion of PCLL.<\/li>\n<\/ul>\n<p><strong>How and when to apply<\/strong><br \/>\nPlease send your covering letter, CV and supporting documents including examination transcripts (high school and university) to careers@tannerdewitt.com. Applications without transcripts will not be considered. Applications sent directly to partners will not be considered.<\/p>\n<p><strong>Interview process<\/strong><\/p>\n<ul>\n<li>All applications will be acknowledged within one month.<\/li>\n<li>First interview: conducted by 2 partners in July\/August.<\/li>\n<li>Second interview: conducted by another 2 partners in August\/September.<\/li>\n<li>Shortlisted applicants from the second interview will be required to attend a written test.<\/li>\n<\/ul>\n<p>Here are some considerations for applicants:<\/p>\n<ul>\n<li>You will find being a trainee solicitor at Tanner De Witt different from being a student. This is a professional organisation and you will come into direct contact with our clients.<\/li>\n<li>You are not in competition with your fellow trainees. Each trainee brings unique experiences, skills and personality to the firm and will be judged on their own merits.<\/li>\n<li>The more you put in, the more you will get out of your two-year training contract. It is up to you to set the pace of your progress.<\/li>\n<li>Make sure you are involved in the work of all members of your department, not just the partners.<\/li>\n<li>You can learn relevant skills from everybody here, administrative staff and professional staff.<\/li>\n<li>Never turn away work \u2014 all experience is important.<\/li>\n<li>The legal work you experience in any six-month period is determined by the market and not by the firm.<\/li>\n<li>Have a realistic expectation of where you should be after six months \u2014 don\u2019t expect to be able to do everything that is done in each department.<\/li>\n<li>Your expectation in each six-month period should be to progress from being a spectator to being a participant in the work of the department.<\/li>\n<li>By the end of the two-year training contract you should be able to decide (i) whether you want to remain in private practice (based upon what you see of the working lives of the more senior solicitors and partners in the firm) or whether you want to move into some other aspect of the legal profession and (ii) whether your character and method of working is more suited to contentious work or non-contentious work. Once those decisions are made it will be easier for you to plan your future. Please remember that the work you are doing now will almost certainly not be the work you are doing in 10 years or even 5 years. All private practice lawyers are constantly adapting to change.<\/li>\n<li>Work levels and other factors permitting, the firm would expect to be able to offer successful trainees a position in the firm after qualification.<\/li>\n<\/ul>\n    <\/div>\n<\/div>\n\n\n\n<div class=\"careers-detail-contact-form-container container !pt-[80px]\" id=\"careers-detail-contact-form-container\">\n    <div class=\"shadow-[0px_4px_20px_0px_rgba(0,0,0,0.10)] w-full h-full xl:flex max-w-[1360px] mx-auto\">\n        <div class=\"left-section\">\n            <div class=\"left-section-wrapper\">\n                <p class=\"heading3\">Job Application<\/p>\n                <span class=\"body1 flex items-center gap-[10px]\">\n                    <img decoding=\"async\" class=\"w-[24px] h-[24px]\"\n                        src=\"https:\/\/www.tannerdewitt.com\/wp-content\/themes\/tanner-de-witt\/images\/tdw-contact-form-phone-logo.png\"\n                        alt=\"phone logo\" \/>\n                                            <a class=\"no-underline\" href=\"tel:852 2573 5000\">\n                            +852 2573 5000                        <\/a>\n                                    <\/span>\n                <span class=\"body1 flex items-center gap-[10px]\">\n                    <img decoding=\"async\" class=\"w-[24px] h-[24px]\"\n                        src=\"https:\/\/www.tannerdewitt.com\/wp-content\/themes\/tanner-de-witt\/images\/tdw-contact-form-phone-logo1.png\"\n                        alt=\"phone logo\" \/>\n                                            <a class=\"no-underline\" href=\"tel:852 2802 3553\">\n                            +852 2802 3553                        <\/a>\n                                    <\/span>\n                <div class=\"body1 flex justify-start gap-[10px]\">\n                    <img decoding=\"async\" class=\"w-[24px] h-[24px] mt-[3px]\"\n                        src=\"https:\/\/www.tannerdewitt.com\/wp-content\/themes\/tanner-de-witt\/images\/tdw-contact-form-location-logo.png\"\n                        alt=\"location logo\" \/>\n                    <div class=\"xl:max-w-[286px]\">\n                        \u9999\u6e2f\u91d1\u9418\u7687\u540e\u5927\u9053\u677189\u865f\u529b\u5bf6\u4e2d\u5fc3\u7b2c\u4e00\u671f17\u6a13                    <\/div>\n                <\/div>\n                <span class=\"body1 flex items-center gap-[10px]\">\n                    <img decoding=\"async\" class=\"w-[24px] h-[24px]\"\n                        src=\"https:\/\/www.tannerdewitt.com\/wp-content\/themes\/tanner-de-witt\/images\/tdw-contact-form-email-logo.png\"\n                        alt=\"email logo\" \/>\n                    <a class=\"no-underline\" href=\"mailto:careers@tannerdewitt.com \">\n                        careers@tannerdewitt.com                     <\/a>\n                <\/span>\n            <\/div>\n        <\/div>\n\n        <div class=\"right-section\">\n            <div class=\"career-form\">\n                \n                                         <iframe  frameborder=\"0\" style=\"height:800px;width:99%;border:none;\" src='https:\/\/forms.zohopublic.com\/tannerdewitt\/form\/HRFormzhhant\/formperma\/Fd1J4SyyJ6MOE7JQJ4WMWKqN8YpmHN7EXfw-VgSgE04' >\n<\/iframe>\n                                    \n            <\/div>\n            <script>\n                (function () {\n                    document.addEventListener('DOMContentLoaded', function () {\n                        const selects = document.querySelectorAll('#careers-detail-contact-form-container form select');\n                        if (selects) {\n                            selects.forEach(select => {\n                                select.addEventListener('change', function () {\n                                    this.classList.add('value-selected');\n                                });\n                            });\n                        }\n                    });\n                })();\n            <\/script>\n            <script>\n                document.querySelector(\".zf-submitColor\").addEventListener(\"click\", function (e) {\n                    e.preventDefault();\n\n                    let valid = true;\n\n                    function showError(id, msg, inputSelector) {\n                        let el = document.getElementById(id);\n                        if (el) {\n                            el.style.display = \"block\";\n                            el.innerText = msg;\n                        }\n                        if (inputSelector) {\n                            document.querySelector(inputSelector).classList.add(\"input-error\");\n                        }\n                    }\n\n                    function hideError(id, inputSelector) {\n                        let el = document.getElementById(id);\n                        if (el) {\n                            el.style.display = \"none\";\n                        }\n                        if (inputSelector) {\n                            document.querySelector(inputSelector).classList.remove(\"input-error\");\n                        }\n                    }\n\n                    \/\/ First Name\n                    if (document.querySelector(\"[name='Name_First']\").value.trim() == \"\") {\n                        showError(\"Name_error\", \"First name and last name are required\", \"[name='Name_First']\");\n                        valid = false;\n                    } else {\n                        hideError(\"Name_error\", \"[name='Name_First']\");\n                    }\n\n                    \/\/ Last Name\n                    if (document.querySelector(\"[name='Name_Last']\").value.trim() == \"\") {\n                        showError(\"Name_error\", \"First name and last name are required\", \"[name='Name_Last']\");\n                        valid = false;\n                    } else {\n                        hideError(\"Name_error\", \"[name='Name_Last']\");\n                    }\n\n                    \/\/ Phone\n                    if (document.querySelector(\"[name='PhoneNumber_countrycode']\").value.trim() == \"\") {\n                        showError(\"PhoneNumber_error\", \"Phone number is required\", \"[name='PhoneNumber_countrycode']\");\n                        valid = false;\n                    } else {\n                        hideError(\"PhoneNumber_error\", \"[name='PhoneNumber_countrycode']\");\n                    }\n\n                    \/\/ Email\n                    let email = document.querySelector(\"[name='Email']\").value.trim();\n                    let emailPattern = \/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/;\n                    if (email == \"\" || !emailPattern.test(email)) {\n                        showError(\"Email_error\", \"Enter valid email\", \"[name='Email']\");\n                        valid = false;\n                    } else {\n                        hideError(\"Email_error\", \"[name='Email']\");\n                    }\n\n                    \/\/ Languages checkbox\n                    const langContainer = document.querySelector(\".zf-checkbox .zf-tempContDiv\");\n                    const langChecked = langContainer.querySelectorAll(\"input[name='Checkbox']:checked\").length;\n                    const langError = langContainer.querySelector(\".zf-errorMessage\");\n\n                    if (langChecked === 0) {\n                        langError.style.display = \"block\";\n                        langError.innerText = \"Please select at least one language\";\n                        valid = false;\n                    } else {\n                        langError.style.display = \"none\";\n                    }\n\n                    \/\/ File upload\n                    const fileContainer = document.querySelector(\"input[name='FileUpload']\").closest(\".zf-tempContDiv\");\n                    const fileInput = fileContainer.querySelector(\"input[name='FileUpload']\");\n                    const fileError = fileContainer.querySelector(\".zf-errorMessage\");\n\n                    if (fileInput && fileInput.files.length === 0) {\n                        fileError.style.display = \"block\";\n                        fileError.innerText = \"Please upload at least one file\";\n                        valid = false;\n                    } else {\n                        fileError.style.display = \"none\";\n                    }\n\n\n                    \/\/ Position\n                    if (document.querySelector(\"[name='SingleLine']\").value.trim() == \"\") {\n                        showError(\"SingleLine_error\", \"Position is required\", \"[name='SingleLine']\");\n                        valid = false;\n                    } else {\n                        hideError(\"SingleLine_error\", \"[name='SingleLine']\");\n                    }\n\n\n\n                    \/\/ Checkbox\n                    if (!document.getElementById(\"DecisionBox\").checked) {\n                        showError(\"DecisionBox_error\", \"You must accept the policy\", \"#DecisionBox\");\n                        valid = false;\n                    } else {\n                        hideError(\"DecisionBox_error\", \"#DecisionBox\");\n                    }\n\n                    if (valid) {\n                        document.getElementById(\"form\").submit();\n                    }\n                });\n                window.addEventListener('pageshow', function (event) {\n                    \/\/ This triggers on back\/forward navigation\n                    if (event.persisted || window.performance && window.performance.navigation.type === 2) {\n                        const form = document.getElementById('form');\n                        if (form) {\n                            form.reset();  \/\/ clears all inputs\n                            \/\/ Also remove error classes if any\n                            const errorInputs = form.querySelectorAll('.input-error');\n                            errorInputs.forEach(el => el.classList.remove('input-error'));\n                        }\n                    }\n                });\n            <\/script>\n        <\/div>\n    <\/div>\n<\/div>\n<script type=\"text\/javascript\">\n    var zf_DateRegex = new RegExp(\"^(([0][1-9])|([1-2][0-9])|([3][0-1]))[-](Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec|JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)[-](?:(?:19|20)[0-9]{2})$\");\n    var zf_MonthYearRegex = new RegExp(\"^(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec|JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)[-](?:(?:19|20)[0-9]{2})$\");\n    var zf_MandArray = [\"Name_First\", \"Name_Last\", \"PhoneNumber_countrycode\", \"Email\", \"SingleLine\", \"FileUpload\", \"DecisionBox\"];\n    var zf_FieldArray = [\"Name_First\", \"Name_Last\", \"PhoneNumber_countrycode\", \"Email\", \"Checkbox\", \"SingleLine\", \"FileUpload\", \"DecisionBox\"];\n    var isSalesIQIntegrationEnabled = false;\n    var salesIQFieldsArray = [];\n\n    (function () {\n        document.addEventListener(\"DOMContentLoaded\", () => {\n            \/\/ toggleOtherTextBoxOnCheckboxToggle();\n        })\n\n    })();\n\n    \/\/ function toggleOtherTextBoxOnCheckboxToggle() {\n    \/\/     const checkbox = document.querySelector(\"#Checkbox_others\");\n\n    \/\/     checkbox.addEventListener(\"change\", (event) => {\n    \/\/         const textInput = document.querySelector(\".zf-checkboxOthersInput\");\n    \/\/         textInput.classList.toggle(\"hidden\");\n    \/\/     })\n\n    \/\/ }\n<\/script>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We are looking for trainee solicitors to join our team.<\/p>\n","protected":false},"featured_media":0,"template":"","tags":[463],"class_list":["post-13013","career","type-career","status-publish","hentry","tag-fulltime-zh-hant"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.tannerdewitt.com\/zh-hant\/wp-json\/wp\/v2\/career\/13013","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tannerdewitt.com\/zh-hant\/wp-json\/wp\/v2\/career"}],"about":[{"href":"https:\/\/www.tannerdewitt.com\/zh-hant\/wp-json\/wp\/v2\/types\/career"}],"version-history":[{"count":6,"href":"https:\/\/www.tannerdewitt.com\/zh-hant\/wp-json\/wp\/v2\/career\/13013\/revisions"}],"predecessor-version":[{"id":35078,"href":"https:\/\/www.tannerdewitt.com\/zh-hant\/wp-json\/wp\/v2\/career\/13013\/revisions\/35078"}],"wp:attachment":[{"href":"https:\/\/www.tannerdewitt.com\/zh-hant\/wp-json\/wp\/v2\/media?parent=13013"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tannerdewitt.com\/zh-hant\/wp-json\/wp\/v2\/tags?post=13013"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}