security

A day in the life of a software engineer at Yelp – Yelp Blog




A day in the life of a software engineer at Yelp | Yelp – Official Blog


























Skip to main content

Say hello to Daniel P, a Software Engineer on our Security Engineering team. Daniel recently celebrated his 7th Yelpiversary. Seven years ago, Daniel was looking for a change after being with a tech company for several years, and he had heard great things about Yelp’s culture from former colleagues. He wanted to follow his passion and continue to work in Computer Security, and he was inspired by Yelp’s Security team’s open-source project and conference presentations. 

Take a look at what Daniel’s #LifeAtYelp has been like over the past seven years!

What advice would you give to someone who is looking to start a career in tech?

If you’re looking to start a career in tech, it is important to be curious and ask lots of questions. In fact, question everything! Ask about how something works, why a process is the way it is, why a certain technology was chosen, and so on. This will help you build context and learn from others’ successes and failures.

What inspired you to pursue a career in tech?

I’ve always been fascinated by technology. As a kid, I was always very eager to understand how things work. I was introduced to computers at five years old and had some introductory computer classes in elementary school. The .com boom occurred while I was in high school, and I found myself spending more and more time on the computer, learning how to program, helping friends and family fix their computers, etc. I knew that I was passionate about working with technology, and I felt that I was pretty good at it, making the career-path a no-brainer for me!

What does a typical day look like in your role?

A large part of my role entails setting the security strategy for the company. I usually start the day by catching up on security news, in the form of things like podcasts and news articles and reflecting on how Yelp’s security posture stacks against the real-life events happening in the industry. I spend a lot of time reviewing other people’s code and design proposals or technical specifications for new services or infrastructure components to identify any security issues and/or mentor others and help them grow. It’s important for me to share context with others on the team, so I’ll often do an initial pass and then hand it off to others for awareness and context. I allocate a few hours each week to writing an internal blog post to capture any recent areas of interest in our team and any noteworthy reflections on the security news that occurred that week.

Readers Also Like:  The Department of Defense Prioritizes Security and Enhancements ... - OPP.Today
Tell us about a project you are proud to have worked on

The project I’m most proud of is one in which we overhauled the access control mechanism for Yelp’s Linux environments. We untangled a legacy system that had 8+ years of accumulated tech debt, maintenance issues, and least-privilege violations. The replacement system is now more reliable, meets least-privilege and compliance best practices, and has worked flawlessly for the past ~2+ years. We also managed to replace the old system with the new system without any impact on users or systems! Finally, my teammates and I presented our work at several conferences! This project was challenging, but it made a huge impact and was really fun.

How does Yelp support your work-life balance?

Work-life balance is an important part of the culture at Yelp, and I’ve never felt any pressure to work late or on weekends. Yelp encourages us to take wellness time off if we need to spend some time away from our desks to recharge.

Want to work with Daniel?

From day one of your career at Yelp, you will have access to our five-star benefits including monthly wellness reimbursements, 401(k) matching, generous PTO and wellness time off, and more. Check out our open opportunities and apply today!

[gravityform id=”4″ title=”false” ajax=”true”]

<script type=”text/javascript”>var gform;gform||(document.addEventListener(“gform_main_scripts_loaded”,function(){gform.scriptsLoaded=!0}),window.addEventListener(“DOMContentLoaded”,function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,initializeOnLoaded:function(o){gform.domLoaded&&gform.scriptsLoaded?o():!gform.domLoaded&&gform.scriptsLoaded?window.addEventListener(“DOMContentLoaded”,o):document.addEventListener(“gform_main_scripts_loaded”,o)},hooks:{action:{},filter:{}},addAction:function(o,n,r,t){gform.addHook(“action”,o,n,r,t)},addFilter:function(o,n,r,t){gform.addHook(“filter”,o,n,r,t)},doAction:function(o){gform.doHook(“action”,o,arguments)},applyFilters:function(o){return gform.doHook(“filter”,o,arguments)},removeAction:function(o,n){gform.removeHook(“action”,o,n)},removeFilter:function(o,n,r){gform.removeHook(“filter”,o,n,r)},addHook:function(o,n,r,t,i){null==gform.hooks[o][n]&&(gform.hooks[o][n]=[]);var e=gform.hooks[o][n];null==i&&(i=n+”_”+e.length),gform.hooks[o][n].push({tag:i,callable:r,priority:t=null==t?10:t})},doHook:function(n,o,r){var t;if(r=Array.prototype.slice.call(r,1),null!=gform.hooks[n][o]&&((o=gform.hooks[n][o]).sort(function(o,n){return o.priority-n.priority}),o.forEach(function(o){“function”!=typeof(t=o.callable)&&(t=window[t]),”action”==n?t.apply(null,r):r[0]=t.apply(null,r)})),”filter”==n)return r[0]},removeHook:function(o,n,t,i){var r;null!=gform.hooks[o][n]&&(r=(r=gform.hooks[o][n]).filter(function(o,n,r){return!!(null!=i&&i!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][n]=r)}});</script>
<div class=”gf_browser_safari gform_wrapper gform_legacy_markup_wrapper” id=’gform_wrapper_4′ ><div id=’gf_4′ class=”gform_anchor” tabindex=’-1′></div>
<div class=”gform_heading”>
<span class=”gform_description”></span>
</div><form data-form-name=”Newsletter Signup Popup” method=’post’ enctype=”multipart/form-data” target=”gform_ajax_frame_4″ id=’gform_4′ action=’/life-at-yelp/a-day-in-the-life-of-a-software-engineer-at-yelp/#gf_4′ novalidate>
<div class=”gform_body gform-body”><ul id=’gform_fields_4′ class=”gform_fields top_label form_sublabel_below description_below”><li id=”field_4_1″ class=”gfield field_sublabel_below field_description_below hidden_label gfield_visibility_visible gf-email” data-field-class=”gf-email” data-js-reload=”field_4_1″><label class=”gfield_label screen-reader-text” for=”input_4_1″ >youremail@address.com</label><div class=”ginput_container ginput_container_email”>
<input name=”input_1″ id=’input_4_1′ type=”email” value=”” class=”large” placeholder=”youremail@address.com” aria-invalid=”false” />
</div></li><li id=”field_4_2″ class=”gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible” data-js-reload=”field_4_2″><label class=”gfield_label” for=”input_4_2″ >Name</label><div class=”ginput_container”><input name=”input_2″ id=’input_4_2′ type=”text” value=”” autocomplete=”new-password”/></div><div class=”gfield_description” id=’gfield_description_4_2′>This field is for validation purposes and should be left unchanged.</div></li></ul></div>
<div class=”gform_footer top_label”> <input type=”submit” id=’gform_submit_button_4′ class=”gform_button button” value=”Submit” onclick=’if(window[“gf_submitting_4”]){return false;} if( !jQuery(“#gform_4”)[0].checkValidity || jQuery(“#gform_4”)[0].checkValidity()){window[“gf_submitting_4”]=true;} ‘ onkeypress=”if( event.keyCode == 13 ){ if(window[“gf_submitting_4”]){return false;} if( !jQuery(“#gform_4”)[0].checkValidity || jQuery(“#gform_4”)[0].checkValidity()){window[“gf_submitting_4”]=true;} jQuery(“#gform_4”).trigger(“submit”,[true]); }” /> <input type=”hidden” name=”gform_ajax” value=”form_id=4&amp;title=&amp;description=1&amp;tabindex=0″ />
<input type=”hidden” class=”gform_hidden” name=”is_submit_4″ value=”1″ />
<input type=”hidden” class=”gform_hidden” name=”gform_submit” value=”4″ />

<input type=”hidden” class=”gform_hidden” name=”gform_unique_id” value=”” />
<input type=”hidden” class=”gform_hidden” name=”state_4″ value=”WyJbXSIsImE0YjFiMmUxY2IxMWVhYTljM2FhNzdkODk4NDUzZmY0Il0=” />
<input type=”hidden” class=”gform_hidden” name=”gform_target_page_number_4″ id=’gform_target_page_number_4′ value=”0″ />
<input type=”hidden” class=”gform_hidden” name=”gform_source_page_number_4″ id=’gform_source_page_number_4′ value=”1″ />
<input type=”hidden” name=”gform_field_values” value=”” />

</div>
</form>
</div>
<iframe style=”display:none;width:0px;height:0px;” src=”https://blog.yelp.com/life-at-yelp/a-day-in-the-life-of-a-software-engineer-at-yelp/about:blank” name=”gform_ajax_frame_4″ id=’gform_ajax_frame_4’ title=”This iframe contains the logic required to handle Ajax powered Gravity Forms.”></iframe>
<script>
gform.initializeOnLoaded( function() {gformInitSpinner( 4, ‘https://blog.yelp.com/wp-content/plugins/gravityforms/images/spinner.svg’ );jQuery(‘#gform_ajax_frame_4’).on(‘load’,function(){var contents = jQuery(this).contents().find(‘*’).html();var is_postback = contents.indexOf(‘GF_AJAX_POSTBACK’) >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find(‘#gform_wrapper_4’);var is_confirmation = jQuery(this).contents().find(‘#gform_confirmation_wrapper_4’).length > 0;var is_redirect = contents.indexOf(‘gformRedirect(){‘) >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery(‘html’).css(‘margin-top’), 10) + parseInt(jQuery(‘body’).css(‘margin-top’), 10) + 100;if(is_form){jQuery(‘#gform_wrapper_4’).html(form_content.html());if(form_content.hasClass(‘gform_validation_error’)){jQuery(‘#gform_wrapper_4’).addClass(‘gform_validation_error’);} else {jQuery(‘#gform_wrapper_4’).removeClass(‘gform_validation_error’);}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery(‘#gform_wrapper_4’).offset().top – mt); }, 50 );if(window[‘gformInitDatepicker’]) {gformInitDatepicker();}if(window[‘gformInitPriceFields’]) {gformInitPriceFields();}var current_page = jQuery(‘#gform_source_page_number_4’).val();gformInitSpinner( 4, ‘https://blog.yelp.com/wp-content/plugins/gravityforms/images/spinner.svg’ );jQuery(document).trigger(‘gform_page_loaded’, [4, current_page]);window[‘gf_submitting_4’] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find(‘.GF_AJAX_POSTBACK’).html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery(‘#gform_wrapper_4’).replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery(‘#gf_4’).offset().top – mt);jQuery(document).trigger(‘gform_confirmation_loaded’, [4]);window[‘gf_submitting_4’] = false;wp.a11y.speak(jQuery(‘#gform_confirmation_message_4’).text());}, 50);}else{jQuery(‘#gform_4’).append(contents);if(window[‘gformRedirect’]) {gformRedirect();}}jQuery(document).trigger(‘gform_post_render’, [4, current_page]);} );} );
</script>

Readers Also Like:  Biden rolls out the red carpet for Modi for a visit fraught with trade-offs - CNN

[gravityform id=”4″ title=”false” ajax=”true”]

<div class=”gf_browser_safari gform_wrapper gform_legacy_markup_wrapper” id=’gform_wrapper_4′ ><div id=’gf_4′ class=”gform_anchor” tabindex=’-1′></div>
<div class=”gform_heading”>
<span class=”gform_description”></span>
</div><form data-form-name=”Newsletter Signup Popup” method=’post’ enctype=”multipart/form-data” target=”gform_ajax_frame_4″ id=’gform_4′ action=’/life-at-yelp/a-day-in-the-life-of-a-software-engineer-at-yelp/#gf_4′ novalidate>
<div class=”gform_body gform-body”><ul id=’gform_fields_4′ class=”gform_fields top_label form_sublabel_below description_below”><li id=”field_4_1″ class=”gfield field_sublabel_below field_description_below hidden_label gfield_visibility_visible gf-email” data-field-class=”gf-email” data-js-reload=”field_4_1″><label class=”gfield_label screen-reader-text” for=”input_4_1″ >youremail@address.com</label><div class=”ginput_container ginput_container_email”>
<input name=”input_1″ id=’input_4_1′ type=”email” value=”” class=”large” placeholder=”youremail@address.com” aria-invalid=”false” />
</div></li><li id=”field_4_2″ class=”gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible” data-js-reload=”field_4_2″><label class=”gfield_label” for=”input_4_2″ >Name</label><div class=”ginput_container”><input name=”input_2″ id=’input_4_2′ type=”text” value=”” autocomplete=”new-password”/></div><div class=”gfield_description” id=’gfield_description_4_2′>This field is for validation purposes and should be left unchanged.</div></li></ul></div>
<div class=”gform_footer top_label”> <input type=”submit” id=’gform_submit_button_4′ class=”gform_button button” value=”Submit” onclick=’if(window[“gf_submitting_4”]){return false;} if( !jQuery(“#gform_4”)[0].checkValidity || jQuery(“#gform_4”)[0].checkValidity()){window[“gf_submitting_4”]=true;} ‘ onkeypress=”if( event.keyCode == 13 ){ if(window[“gf_submitting_4”]){return false;} if( !jQuery(“#gform_4”)[0].checkValidity || jQuery(“#gform_4”)[0].checkValidity()){window[“gf_submitting_4”]=true;} jQuery(“#gform_4”).trigger(“submit”,[true]); }” /> <input type=”hidden” name=”gform_ajax” value=”form_id=4&amp;title=&amp;description=1&amp;tabindex=0″ />
<input type=”hidden” class=”gform_hidden” name=”is_submit_4″ value=”1″ />
<input type=”hidden” class=”gform_hidden” name=”gform_submit” value=”4″ />

<input type=”hidden” class=”gform_hidden” name=”gform_unique_id” value=”” />
<input type=”hidden” class=”gform_hidden” name=”state_4″ value=”WyJbXSIsImE0YjFiMmUxY2IxMWVhYTljM2FhNzdkODk4NDUzZmY0Il0=” />
<input type=”hidden” class=”gform_hidden” name=”gform_target_page_number_4″ id=’gform_target_page_number_4′ value=”0″ />
<input type=”hidden” class=”gform_hidden” name=”gform_source_page_number_4″ id=’gform_source_page_number_4′ value=”1″ />
<input type=”hidden” name=”gform_field_values” value=”” />

</div>
</form>
</div>
<iframe style=”display:none;width:0px;height:0px;” src=”https://blog.yelp.com/life-at-yelp/a-day-in-the-life-of-a-software-engineer-at-yelp/about:blank” name=”gform_ajax_frame_4″ id=’gform_ajax_frame_4’ title=”This iframe contains the logic required to handle Ajax powered Gravity Forms.”></iframe>
<script>
gform.initializeOnLoaded( function() {gformInitSpinner( 4, ‘https://blog.yelp.com/wp-content/plugins/gravityforms/images/spinner.svg’ );jQuery(‘#gform_ajax_frame_4’).on(‘load’,function(){var contents = jQuery(this).contents().find(‘*’).html();var is_postback = contents.indexOf(‘GF_AJAX_POSTBACK’) >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find(‘#gform_wrapper_4’);var is_confirmation = jQuery(this).contents().find(‘#gform_confirmation_wrapper_4’).length > 0;var is_redirect = contents.indexOf(‘gformRedirect(){‘) >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery(‘html’).css(‘margin-top’), 10) + parseInt(jQuery(‘body’).css(‘margin-top’), 10) + 100;if(is_form){jQuery(‘#gform_wrapper_4’).html(form_content.html());if(form_content.hasClass(‘gform_validation_error’)){jQuery(‘#gform_wrapper_4’).addClass(‘gform_validation_error’);} else {jQuery(‘#gform_wrapper_4’).removeClass(‘gform_validation_error’);}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery(‘#gform_wrapper_4’).offset().top – mt); }, 50 );if(window[‘gformInitDatepicker’]) {gformInitDatepicker();}if(window[‘gformInitPriceFields’]) {gformInitPriceFields();}var current_page = jQuery(‘#gform_source_page_number_4’).val();gformInitSpinner( 4, ‘https://blog.yelp.com/wp-content/plugins/gravityforms/images/spinner.svg’ );jQuery(document).trigger(‘gform_page_loaded’, [4, current_page]);window[‘gf_submitting_4’] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find(‘.GF_AJAX_POSTBACK’).html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery(‘#gform_wrapper_4’).replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery(‘#gf_4’).offset().top – mt);jQuery(document).trigger(‘gform_confirmation_loaded’, [4]);window[‘gf_submitting_4’] = false;wp.a11y.speak(jQuery(‘#gform_confirmation_message_4’).text());}, 50);}else{jQuery(‘#gform_4’).append(contents);if(window[‘gformRedirect’]) {gformRedirect();}}jQuery(document).trigger(‘gform_post_render’, [4, current_page]);} );} );
</script>





READ SOURCE

This website uses cookies. By continuing to use this site, you accept our use of cookies.