Unlike many traditional shops, virtual firms have not had to adjust to new technologies and the new normal of working from home.
Instead of creating challenges, the pandemic has provided new opportunities, especially in terms of growth, for California's virtual, hybrid and distributed firms, according to industry leaders.
</span>
<br>
<span class="light-text">Receive unlimited article access and full access to our archives,</span>
<br>
<span class="light-text">Daily Appellate Report, award winning columns, and our</span>
<br>
<span class="light-text">Verdicts and Settlements.</span>
<br>
<span class="light-text">Or</span>
<br>
<span class="light-text">$895, but save $100 when you subscribe today… Just $795 for the first year!</span>
<br>
<br>
<div class="row">
<div class="col-md-4"></div>
<div class="col-md-2">
<span><a class="subscribe-btn stripe-button-el" style="padding:2px 30px; color: #fff" href="/dj_subscriptions/daily_journal_subscription_options">$95</a></span>
</div>
<div class="col-md-2">
<span><a class="subscribe-btn stripe-button-el" style="padding:2px 30px; color: #fff" href="/dj_subscriptions/daily_journal_subscription_options">$795</a></span>
</div>
</div>
<p>
<span class="light-text">Or access this article for $45</span>
<br>
<span class="password-validation-note">(Purchase provides 7-day access to this article. Printing, posting or downloading is not allowed.)</span>
</p>
<form action="/article/purchase/360733-forced-remote-work-led-to-virtual-firms-hiring-boom" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="-_pYpIuEastVG2xD90iuTqlOEP0vuSfi6hQbkeh7IHpL4MENyuK2cPGys5mrgP8ArRqMrsZhrBEZAsSQE9XDRA" autocomplete="off" /><script class="stripe-button" data-amount="4500" data-billing-address="true" data-key="pk_live_tXpieNnQSAyexYzd3anViSV6" data-label="Purchase this Article" data-locale="auto" data-zip-code="true" src="https://checkout.stripe.com/checkout.js"></script>
</form><p style="margin-top:20px;">
<span class="light-text">Already a subscriber?</span>
<br>
<span><a class="subscribe-btn stripe-button-el" style="padding:2px 20px; color: #fff" href="/users/sign_in">Sign In</a></span>
<h2 class="box-title">
<a target="_blank" href="https://dailyjournal56543.ac-page.com/newsletter">Enewsletter Sign-up</a>
</h2>
</p>
</div>
</div>
</div>
</div>
</div>
<div class="col-sm-12 col-md-3">
<div class="sidebar-divider">
</div>
<br>
<div class="row">
<div class="col-md-12">
<div class="box-ad" id="article-ad-1"></div>
<div class="box-ad" id="article-ad-2"></div>
<div class="box-ad" id="article-ad-3"></div>
<div class="box-ad" id="article-ad-4"></div>
</div>
</div>
</br>
</div>
</div>
</div>
<div class="row text-center">
<div class="col-md-12">
<div class="long-ad" id="bottom-banner"></div>
<div class="long-ad" id="bottom-banner-xs"></div>
</div>
</div>
<hr class="thick">
</div>
<div class="container">
<div id="footer-bottom">
<div class="row hidden-xs hidden-sm" id="footer-nav1">
<div class="col-lg-2">
<ul>
<li><a href="https://dailyjournal-prod.herokuapp.com/articles">Current News</a></li>
<li><a class="primary-nav-link " href="/columns">Columns</a></li>
<li><a href="/articles/cal_lawyer?category=Discipline+Report">Discipline Report</a></li>
<li><a class="dropdown-item" href="/on-the-move/new">On The Move</a></li>
<li><a href="/podcast">Podcasts</a></li>
<li><a href="/videos">Videos</a></li>
</ul>
</div>
<div class="col-lg-2">
<ul>
<li><a href="https://dailyjournal-prod.herokuapp.com/dar">Daily Appellate</a></li>
<li><a href="https://dailyjournal-prod.herokuapp.com/verdicts_and_settlements">Verdicts</a></li>
<li><a href="/judicial_profiles">Judicial Profiles</a></li>
<li><a href="/adr_profiles">ADR Profiles</a></li>
<li><a href="/small_firms">Firm Profiles</a></li>
<li><a href="/corporate_counsels">Corporate Counsel</a></li>
<li><a href="/people">People</a></li>
</ul>
</div>
<div class="col-lg-3">
<ul>
<li><a href="/special_reports?report_type=Top+100">Top 100</a></li>
<li><a href="/special_reports?report_type=Top+Bankruptcy">Top Bankruptcy</a></li>
<li><a href="/special_reports?report_type=Top+Boutiques">Top Boutiques</a></li>
<li><a href="/special_reports?report_type=Top+Cannabis+Lawyers">Top Cannabis Lawyers</a></li>
<li><a href="/special_reports?report_type=Top+Family+Law+Lawyers">Top Family Law Lawyers</a></li>
<li><a href="/special_reports?report_type=Top+Health+Care+Lawyers">Top Health Care Lawyers</a></li>
<li><a href="/special_reports?report_type=Top+Plaintiffs">Top Plaintiffs</a></li>
<li><a href="/special_reports?report_type=Top+Trade+Secrets+Lawyers">Top Trade Secrets Lawyers</a></li>
<li><a href="/special_reports?report_type=Top+Under+40">Top Under 40</a></li>
<li><a href="/special_reports?report_type=Top+Verdicts">Top Verdicts</a></li>
<li><a href="/special_reports?report_type=Top+Women">Top Women</a></li>
</ul>
</div>
<div class="col-lg-3">
<ul>
<li><a href="/special_reports?report_type=Antitrust">Antitrust</a></li>
<li><a href="/special_reports?report_type=Banking+%26+Financial+Services">Banking & Financial Services</a></li>
<li><a href="/special_reports?report_type=CLAY+awards">CLAY awards</a></li>
<li><a href="/special_reports?report_type=Commercial+Litigators">Commercial Litigators</a></li>
<li><a href="/special_reports?report_type=Cyber%2FAI">Cyber/AI</a></li>
<li><a href="/special_reports?report_type=Estate+%26+Wealth+">Estate & Wealth </a></li>
<li><a href="/special_reports?report_type=Intellectual+Property">Intellectual Property</a></li>
<li><a href="/special_reports?report_type=Labor+%26+Employment">Labor & Employment</a></li>
<li><a href="/special_reports?report_type=Neutrals">Neutrals</a></li>
<li><a href="/special_reports?report_type=New+Laws">New Laws</a></li>
<li><a href="/special_reports?report_type=Niche+Lawyers">Niche Lawyers</a></li>
<li><a href="/special_reports?report_type=Probate">Probate</a></li>
<li><a href="/special_reports?report_type=Professional+Responsibility">Professional Responsibility</a></li>
<li><a href="/special_reports?report_type=Real+Estate%2FDevelopment">Real Estate/Development</a></li>
<li><a href="/special_reports?report_type=Recruiting">Recruiting</a></li>
<li><a href="/special_reports?report_type=Special+Coverage">Special Coverage</a></li>
<li><a href="/special_reports?report_type=Technology">Technology</a></li>
<li><a href="/special_reports?report_type=White+Collar">White Collar</a></li>
</ul>
</div>
<div class="col-lg-3" style="width:26%">
<ul>
<li><a target="_blank" href="http://www.dailycommerce.news">Daily Commerce (Los Angeles, CA)</a></li>
<li><a target="_blank" href="http://www.sdtranscript.com">The Daily Transcript (San Diego, CA)</a></li>
<li><a target="_blank" href="http://www.riversidejournal.news">Riverside Business Journal</a></li>
<li><a target="_blank" href="http://www.ocreporter.news">Orange County Reporter</a></li>
<li><a target="_blank" href="http://www.postrecord.news">San Jose Post-Record</a></li>
<li><a target="_blank" href="http://www.intercityexpress.news">The Inter-City Express (Oakland, CA)</a></li>
<li><a target="_blank" href="http://www.dailyrecorder.news">The Daily Recorder (Sacramento, CA)</a></li>
<li><a target="_blank" href="http://www.recordreporter.com">The Record Reporter (Phoenix, AZ)</a></li>
</ul>
</div>
<hr class="hidden-xs hidden-sm">
</div>
<div id="footer-nav2">
<div class="row">
<div class="col-sm-12">
<h6>
<ul class="list-inline">
<li>
<a href="/copyright">©
2026 Daily Journal Corporation.
All Rights Reserved.
</a></li>
<li>
<a href="/feedbacks/new">Feedback</a>
</li>
<li><a href="/advertising">Advertise With Us</a></li>
<li><a href="/printing_services">Printing Services</a></li>
<li><a href="/privacy">Privacy</a></li>
<li><a href="/user_agreement">User Agreement</a></li>
<li><a target="_blank" href="https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0000783412">SEC</a></li>
<li>
<div class="btn-group dropup">
<a aria-expanded="false" aria-haspopup="true" class="dropdown-toggle" data-toggle="dropdown">
About
<i class="fa fa-caret-up"></i>
</a>
<div class="dropdown-menu dropdown-items">
<a class="dropdown-item" href="/mission">Mission/Leadership</a>
<a class="dropdown-item" href="/staff">Testimonial/Editorial Staff</a>
<a class="dropdown-item" href="/offices">Offices</a>
<a class="dropdown-item" href="/careeropportunities">Career Opportunities</a>
<a class="dropdown-item" href="/advertising">Advertising</a>
<a target="_blank" href="https://s3-us-west-2.amazonaws.com/dailyjournal-prod/footers/upload4s/000/000/001/original/Board_Diversity_Matrix_2024.12.15.pdf?1734380655">Board Diversity</a>
<a target="_blank" href="https://ir.dailyjournal.com/">Investor Relations</a>
<a target="_blank" href="https://s3-us-west-2.amazonaws.com/dailyjournal-prod/footers/upload5s/000/000/001/original/About_page_w_QR_code.pdf?1729270706">Text Alerts Sign-up</a>
<a class="dropdown-item" href="https://dailyjournal56543.ac-page.com/newsletter">Enewsletter Sign-up</a>
<a class="dropdown-item" href="/userguide">User Guide</a>
</div>
</div>
</li>
<li>
<div class="btn-group dropup">
<a aria-expanded="false" aria-haspopup="true" class="dropdown-toggle" data-toggle="dropdown">
Submit
<i class="fa fa-caret-up"></i>
</a>
<div class="dropdown-menu dropdown-items">
<a class="dropdown-item" href="/verdicts_and_settlements/new">Verdicts</a>
<a class="dropdown-item hide" href="/deal-makers/new">Dealmakers</a>
<a class="dropdown-item" href="/on-the-move/new">On The Move</a>
<a class="dropdown-item" href="/profile_submission">Profiles</a>
<a class="dropdown-item" href="/perspective">Columns</a>
<a class="dropdown-item" href="/nominations">Nominations</a>
</div>
</div>
</li>
</ul>
</h6>
</div>
</div>
</div>
</div>
</div>
<div aria-labelledby="footerFeedbackModalLabel" class="modal" id="footerFeedbackModal" role="dialog" tabindex="-1">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button aria-label="Close" class="close" data-dismiss="modal" type="button">
<span aria-hidden="true">×</span>
</button>
<h3 class="modal-title" id="footerFeedbackModalLabel">How can we help you?</h3>
</div>
<div class="modal-body">
<form class="new_feedback" id="new_feedback" action="/feedbacks" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="ZR4I5iV6ogXyaKaotwQtg32jk9b7w2qojOmQurRe1HtJc_X7_iQGpbb7SH9oPiZZdiPNJom9kR_hVgIwYxPzCA" autocomplete="off" /><div class="form-group">
<label for="feedback_name">Name</label>
<input class="form-control" required="required" type="text" name="feedback[name]" id="feedback_name" />
</div>
<div class="form-group">
<label for="feedback_email">E-mail:</label>
<input class="form-control" required="required" type="email" name="feedback[email]" id="feedback_email" />
</div>
<div class="form-group">
<label for="feedback_body">message:</label>
<textarea class="form-control md-textarea" required="required" name="feedback[body]" id="feedback_body">
</textarea>
</div>
<div class="row">
<div class="col-md-12">
<script src="https://www.recaptcha.net/recaptcha/api.js" async defer ></script>
<div data-sitekey="6LfjdyMTAAAAALUWr3eVK-qaSzCTISqsw9x9SnCZ" class="g-recaptcha " id="1780104721" ajax="true"></div>
<noscript>
<div>
<div style="width: 302px; height: 422px; position: relative;">
<div style="width: 302px; height: 422px; position: absolute;">
<iframe
src="https://www.recaptcha.net/recaptcha/api/fallback?k=6LfjdyMTAAAAALUWr3eVK-qaSzCTISqsw9x9SnCZ"
name="ReCAPTCHA"
style="width: 302px; height: 422px; border-style: none; border: 0; overflow: hidden;">
</iframe>
</div>
</div>
<div style="width: 300px; height: 60px; border-style: none;
bottom: 12px; left: 25px; margin: 0px; padding: 0px; right: 25px;
background: #f9f9f9; border: 1px solid #c1c1c1; border-radius: 3px;">
<textarea name="g-recaptcha-response"
class="g-recaptcha-response"
style="width: 250px; height: 40px; border: 1px solid #c1c1c1;
margin: 10px 25px; padding: 0px; resize: none;">
</textarea>
</div>
</div>
</noscript>
</div>
</div>
<hr>
<div class="form-group">
<input type="submit" name="commit" value="Submit" class="btn btn-primary btn-block btn-lg" data-disable-with="Submit" />
</div>
</form>
</div>
</div>
</div>
</div>
</body>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag()
{
if (typeof Stripe !== "undefined") {
clearInterval(checkStripe);
initializeStripe();
}
}, 500); // Check every 500ms until Stripe loads
}
});
function initializeStripe() {
const stripeKeyMeta = document.querySelector('meta[name="stripe-key"]');
const stripeKey = stripeKeyMeta ? stripeKeyMeta.content : null;
if (!stripeKey) {
console.error("❌ Stripe key is missing. Check your Rails configuration.");
return;
}
try {
var stripe = Stripe(stripeKey);
console.log("✅ Stripe initialized successfully.");
} catch (error) {
console.error("❌ Error initializing Stripe:", error);
}
}