teleren/devto huggingface dataset:
Jeff Gardner of Intercom shares his lessons learnt
Tags: saas, intercom, webapp
Published: 2019-11-21 12:23:08

---
title: Jeff Gardner of Intercom shares his lessons learnt
published: true
tags: saas, intercom, webapp
canonical_url: https://steadfastcollective.com/articles/jeff-gardner-intercom/
cover_image: https://steadfastcollective.com/app/uploads/2019/07/Screenshot-2019-07-26-13.39.39-1200x662.png

---

Jeff has been at [Intercom](https://intercom.com) for seven years, as the fourth employee he headed up customer support while fixing bugs and odd engineering tasks. He then went on to lead the support team. In the last 18 months, Jeff has taken on the role of Head of Platform Partnerships.

<iframe src="https://www.youtube.com/embed/YnfCoLzhygA" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe>

We asked Jeff to share three lessons he has learnt during his time at Intercom.

### 1) Do something that matters

Intercom has a really compelling mission; how to continually connect businesses to their customers.

Jeff explains that it’s vital to have a mission you can get behind when it comes to growing and hiring teams.

### 2) Put your principles down on paper

Your principles are how you go about solving problems, building products, or helping customers. Having principles written means you have a reference point when you’re in a meeting or working with many people.

Intercom recently shared their product development principles here.

Jeff goes onto explain that understanding the problem, before solving it, is vital to crafting the best solution.

### 3) It’s all about the people, and it’s all about the long term.

When you look back over the company you built, it’s the relationships you’ll cherish. The way businesses make it through hard and stressful periods is by having a team of people to help prop up the idea. Jeff goes onto explain that we should be looking 20 years ahead, rather than just hiring a team for the short term.

Sometimes you outgrow people and sometimes people out-grow you and often the best thing to do is it part ways.

 

> Join the other developers, designers and product owners by subscribing to [http://thedigitalproductplaybook.com](http://thedigitalproductplaybook.com) for monthly insights into how to start and grow your digital product.

The post [Jeff Gardner of Intercom shares his lessons learnt](https://steadfastcollective.com/articles/jeff-gardner-intercom/) appeared first on [Steadfast Collective](https://steadfastcollective.com).
How I found a job in crypto / blockchain
Tags: ethereum, developerjob, dapp, job
Published: 2019-07-26 12:30:10

---
title: How I found a job in crypto / blockchain
published: true
description: 
tags: ethereum, developerjob, dapp, job
---

How to find a job as a blockchain developer? I will tell you the REAL  STORY of how I found 2 jobs of blockchain developer. I will tell you how you can use the same tricks to find your blockchain job.

{% youtube yk-9xQgmKOg %}
The best thing you can do to make your website accessible
Tags: a11y, webev, beginners
Published: 2019-07-26 11:39:45

---
title: The best thing you can do to make your website accessible
published: true
description: As a blind web developer I have unfortunately come across a ton of inaccessible websites. This is the biggest problem I see.
tags: #a11y, #webev, #beginner
---
Are you interested in making your website accessible, but don't know where to begin? are you afraid of the complexity involved? are you daunted by testing with a screen reader? There is one technique that will get you 90% of the way there: use the appropriate HTML control for what you are intending to do.

Just the other day I found a site that had an option in it's payment form called "Cover Fees" which was a yes/no toggle. Rather than use a checkbox, they used a clickable element They did go to some length to make it keyboard accessible, it was in the tab order with a proper tabIndex, but there was no way for a screen reader to tell if the option was on or off because it was simply a clickable div. Had they used a checkbox, not only would it have been in the tab order by default, but screen readers automatically announce the state of checkboxes and they can be easily changed. Not to mention that checkboxes are actually considered form controls. We as blind people have different keyboard shortcuts to move quickly between form fields, and as long as they are properly labeled with the label tag (another soapbox issue of mine) the screen reader will read the controls correctlyy. clickable divs don't participate in this because they are not form controls. While there may be some ways through aria to make some things accessible, and I realize there is certainly a need for widgets (modals, for example), wherever possible we should be using the controls the browsers give us. This will go a long way to making your app accessible right out of the box. I hope this is helpful to someone.
Hey you! What are you working on?
Tags: discuss, watercooler, mentalhealth, productivity
Published: 2019-07-26 11:32:53

> "Steve! What are you working on?" 

> "Sausages! Lemon drizzle cake! It's currently 30°C with a light breeze on the western peninsular so slap on that sunscreen pop pickers!" 

Anyone else find it hard to provide an immediate and useful update on your work? Or say what you've been doing over the past week if asked out of the blue?

For me I like the room to take on board a question and provide a thoughtful response so a question like this out of the blue can throw me. Then I trip myself up because I think I'll sound like I'm lying or have been up to something I can't explain - which is completely irrational. It's then tricky to provide the right amount of detail for the context on the spot.

Trouble is I can't recall seeing someone doing this well. I've noticed that team leads have the same problem but they're almost expected to have too much on their plate. They're also likely to be ones asking the question.

It may also be a sign of too much context switching. Or just getting old - sometimes I can't remember what I've done over the weekend. Or an irrational fear that I'm working on the wrong thing. Part of it is working with people with different communication styles.

Here are a few strategies on providing useful updates I've thought about while writing this article:

* Signalling intent more often so people don't have to ask for an update.
* Keeping a progress log - I find it a useful reminder of all the different things I've been doing though I forget to update it.
* Understanding the intent of the person asking the question.
* Push back on providing an update straight away and offer to send an email with detailed response.

I'd be interested in hearing yours!

Catch me on ✨ Twitter ✨: [@iamsteveworsley](https://twitter.com/iamsteveworsley)

Originally published on: https://listed.to/@iamsteveworsley
Inventing the f*****g hammer each time we hit the nail.
Tags: opensource, typescript, angular, productivity
Published: 2019-07-26 11:27:30

Because of this:
https://dev.to/richharris/why-i-don-t-use-web-components-2cia

I think the fundamental problem is still that we cannot distinguish real market value of a trend VS devloid media. This waste of resources applies to almost everything that is open-source.

An average developer once gets bored of his job and tries to make money out of his or others "invention" (framework) starts blogging-presenting-wrappinginbuzzworkd etc. about it.

This leads to the attention of large companies which use it as a vehicle to attract cheap workforce. Then this big company makes a community to belive that the "invention" is open source and is for greater good. 
However, under the hood the community is working on the product of the company that is only somewhat relates to the "invention". 
The funniest thing is when the trend is being pushed by another boring member like callback->rxjs for even adding two numbers->lets do toPromise instead->async await! I mean what?

So I think when we realize that something is revolving around such idea we can denote it as a faken-source bullshit which is about the 99% of whats happening right now.

The only problem is with that we are getting vendor-locked in and not in control anymore of what we do and we are forced to spend 50% of our time doing version tracking and updating our applications.

It's like inventing the f*****g hammer each time we hit the nail.
Why so serious? Collection of remarkable tweets #2
Tags: fun, twitter
Published: 2019-07-26 11:27:16

Take a pause. Put work aside for a minute and look how much fun is on Twitter. Many knowledgable people share tons of great tips there. But today, I gathered tweets containing entertaining and sometimes even very realistic content.

They come from different areas: [`#development`](https://dev.to/t/development), [`#design`](https://dev.to/t/design), [`#UI`](https://dev.to/t/ui)/[`#UX`](https://dev.to/t/ux), [`#philosophy`](https://dev.to/t/philosophy), office and ordinary [`#life`](https://dev.to/t/life). Sorted in random order without any preference and split across four posts.

I hope my selection will make your Friday even more joyful!

{% twitter 1130048469853528064 %}
{% twitter 986576233579384833 %}
{% twitter 1120543926065205248 %}
{% twitter 1015169178066661376 %}
{% twitter 1072554718499663872 %}
{% twitter 1085906454232657922 %}
{% twitter 958304675345960960 %}
{% twitter 1148421102009344000 %}
{% twitter 917371193786884096 %}
{% twitter 1086237923652046849 %}

This is the second post of the "not so serious" series:

- [Why so serious? #1](https://dev.to/rmnvsl/why-so-serious-1-276j)
- Why so serious? Collection of remarkable tweets #2 👈
- [Why so serious? Collection of remarkable tweets #3](https://dev.to/rmnvsl/why-so-serious-collection-of-remarkable-tweets-3-mgo)
- [Why so serious? Collection of remarkable tweets #4](https://dev.to/rmnvsl/why-so-serious-collection-of-remarkable-tweets-4-28g0)

See you next Friday. If you want, put your favorite tweets in the comments section. 🎉
Easy way to get parameters from a URL
Tags: javascript, url, api, webdev
Published: 2019-07-26 11:16:49

---
title: Easy way to get parameters from a URL
published: true
description: Use the URL API to easily access your URL parameters
cover_image: https://thepracticaldev.s3.amazonaws.com/i/h62edws16cjb1nffnbwt.jpg
tags: Javascript, url, api, webdev
---

Getting Url parameters can be tricky. I am sure I am not the only one that has used google to search for the perfect regular expression to help extract a parameter from a Url. 

While learning and mastering Regular Expressions is probably the best in this case. You might not have the time to learn them and just need a nice fix that is neat and easy to understand. 

The code below shows how this can easily be done using the URL API

![code snippet](https://thepracticaldev.s3.amazonaws.com/i/hou2no51pchvqjbocm8s.png)

You can read more about the ins and outs of this API by checking out the link below:

[URL - Web APIs | MDN](https://developer.mozilla.org/en-US/docs/Web/API/URL_API)

Reading through the MDN docs, you’ll notice this API has two interfaces the `URL interface` and the `URLSearchParams interface`.

The `URL interface` in this case allows us to parse our Url and returns an object that represents it.

![URL Object](https://thepracticaldev.s3.amazonaws.com/i/9d0yatxvogft4hzzjk6g.png)

Note that one of the keys in the object (searchParams) refers to the `URLSearchParams interface`. This interface gives us methods that allow us to work with the query string in a Url. 

You can read more about the query string here: [Query string - Wikipedia](https://en.wikipedia.org/wiki/Query_string)

Also check out all the methods that `URLSearchParams interface` provides here: [URLSearchParams - Web APIs | MDN](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams)

In this case all we need to do is call `URLSearchParams.get()`and pass it the parameter name we need, as a string. Feel free to play around further with this API. No need for an editor this can all be done from your browser console!

Now while this API is amazing! It does have one issue. It is not supported by IE.

![Browser compatibility](https://thepracticaldev.s3.amazonaws.com/i/sxvmx3b90vr1fr8plgae.PNG)

MDN does suggest we use window.URL in this case. Strangely enough I tested it on IE 11 and it didn't work. The docs on MDN do not give much more detail on an alternative for IE, so if you have to support IE try using a poly-fill. I like the solution shown on [JQUERY BY EXAMPLE](http://www.jquerybyexample.net/2012/06/get-url-parameters-using-jquery.html)

When using any of these cool Web APIs it is important to check for browser compatibility. In my case I needed this method for a dashboard project that I am building for a client and the client only uses chrome (luckily). This allowed me to utilize this API.

Hope this short article can help you on your next project!

Got questions? Feel free to reach out via the comments or [my twitter](https://twitter.com/maheralkendi)

Ok! Now back to learning 👨🏿‍💻
Interview Questions and Answers for Fresher
Tags: interviewquestions
Published: 2019-07-26 11:05:03

After making your way through the shortlisting process, your way ahead is to depend on your performance in this vital round the interview. And it requires, apart from the right knowledge, confidence, and skills. Dealing with an interview becomes easier once you have faced some rounds. However, it may be a still difficult task for fresher. And that’s why, in this blog, we try to help you with this by taking up interview questions and answers for fresher.

Confidence:
The thing that most applicants lack so often isn’t skill or qualification, but the belief to handle the questions thrown at them. For this very reason, they find themselves confused and lost during cooperation. Common questions beforehand can be beneficial for performing a more hopeful self in front of the interviewers.

Common Interviews questions:
For fresher applicants who are facing interviews for the first time, we bring here the following interview questions and answers for fresher

Read some common interview questions: <a href="https://govtjobtips.in/interview-questions-and-answers-for-fresher">Interview Questions and Answers for Fresher</a>
The Reason Why Everyone Loves Donation-based Crowdfunding

Published: 2019-07-26 11:02:05

There are many other reasons for loving donation-based crowdfunding, it gives you leverage and makes your reach unlimited. The best thing about this method is that it manifests the cause and makes everyone aware of why such a campaign is being conducted. Without this particular crowdfunding, it is very difficult to support various philanthropic causes. You can organize a campaign focused on blood or organ donation,<a href="https://25cf.org/"><strong> social activity Crowdfunding system</strong></a> or simply a fund-raising campaign to help people who are living below the poverty line.

25CF is one such platform that makes things possible for you on all the fronts. It gives you an adaptable business model which could be used for every cause which makes the donation-based campaign a go-to thing for everyone. There is nothing better than this means when you want to access a large network of donors, this method makes it possible. Out of all the possible outcomes of the fund-raising campaign, you get the best with this one.

Because of the abundance of advantages, this method of crowdfunding has been chosen by many individuals and NGOs as well. It makes your approach much more effective and also widespread sans any difficulties. That’s why you need to choose this particular method for every fund-raising campaign, especially when you have to drive it on a global scale. <strong>25CF</strong> gives you a perfect setting with which you can access this method and gain many benefits.

25CF connects you with a huge network of donors who are connected to each with its broad platform. It gives every user a chance to explore the options which have been given by the concept of crowdfunding. This platform takes it a level ahead and makes this concept more accessible for every single individual. It has introduced a blend of different ideas which together make crowdfunding a very approachable means, it expands the purview of funding and gives you many other options.
Blockchain Solution - Alwin Technologies
Tags: blockchain, bitcoin, crypto, security
Published: 2019-07-26 10:55:15

Hi Friends!

This is Vicky from Alwin Technologies. We are a leading Blockchain based development company majorly focussing on developing Dapps, Exchange and Trading Platform, Ethereum, TRON, EOS, STO, ICO, ERP, Supply Chain, Web Development...etc

We are a growing Startup company whose major goal is to satisfy and customers and employees. We are open to receive any requirements based on our services and readily available for future collaboration.

Please reach us via following contact information:

Alwin.io | +91-7904043766 | sales@alwin.io | Skype: live:sales_96786
Why should you only change state in Vuex through mutations?
Tags: vue, vuex, javascript, webdev
Published: 2019-07-26 10:23:41

It's a common question I've seen around and one that I've wondered about myself at times. When using Vuex, why is it said that state should only be changed via mutations? Is it really that big a deal? Can't I just change it directly? It sure seems to work just fine that way.

Well, yes. And no. And maybe. While it's possible in Vuex to change the state all willy nilly outside of mutations, it can also fail badly when you least expect it.

The idea of the [Flux style of data stores](https://github.com/facebook/flux/tree/master/examples/flux-concepts) (like Vuex) is that data has a certain path that it flows through. First, it hits an action, then is passed to a mutation and only then is updated in the store. This is done to make debugging and use of the data store easier and not crazy making. If all the components just threw data into the `state` willy nilly, then all kinds of chaos could break loose. JavaScript is an asynchronous language and two different parts of the program could be trying to change the same thing at the same time. Reading data? That's fine. Writing it? You've got an issue on your hands.

At least in theory. I've written a number of components to try and break this and I haven't been able to get it to happen. This is mainly because JavaScript is *theoretically* an asynchronous language. In reality, most of your code will run synchronously and JavaScript will wait for a function to finish before running the next one. So even if two functions get triggered at the same time (like through a timeout or shared event), one will always run first, followed by the other.

This means that mutations aren't really a consistency feature after all. So are they really still useful?

Yes, because it still gives you a simple structure to follow when writing your code, a structure that you will remember the next time you need to maintain it. If you follow the convention of *always* changing state with a mutation, then you will always know in your application where the state is being changed.

Mutations are called by components and actions, but not like regular methods. They get "committed". This just means that when a component wants to change data, the change gets added to a commit queue in the data store and it's first come, first serve. Things aren't happening at the same time because Vuex processes the changes in the order it receives them synchronously.

That makes debugging much easier. Seeing strange data where you don't expect it? Open up the Vue Dev Tools and step through the data store changes one by one. Each change to the data store will be "committed" and you'll be able to roll it back and see everything that led up to that point. This logging is the real reason you should only change the state with mutations.
Reversing a string using .some
Tags: javascript, programming
Published: 2019-07-26 09:59:05

---
title: Reversing a string using .some
published: true
description: Getting tired of this yet? I am.
tags: javascript, programming
series: reversing a string
---

I was looking at some of my Google Apps Script code that uses `.some()` and I thought (as one does), I wonder if that could be used to reverse a string.

This is about as pure ES6 as I can get it. 
```javascript
const Bruce_SomeReverse = (s, rev = "") => {
  s.split("").some((itm, idx, arr) => {
    rev = rev + arr[arr.length - 1 - idx];
  });
  return rev;
}
```
Using [Babel](https://babeljs.io/repl#?babili=false&browsers=&build=&builtIns=false&spec=false&loose=false&code_lz=FAYw9gdgzgLgBAIQE4FcQFMD6BlMBbdAJXQDd0kp04BeOACigBo4lSa4AiDgShoD44Ab2Bw4UAHRQADgBsAljDpduk_Ojp0FeZnIAmAD2YBDJEl7UBw0aNYl2tuAGo4JpAG1X4meggBzGAAWcAC0cACMIXB6-gC6ANwicAC-3Ak26DAoSBAspAlJQA&debug=false&forceAllTransforms=false&shippedProposals=false&circleciRepo=&evaluate=false&fileSize=false&timeTravel=false&sourceType=module&lineWrap=true&presets=es2015%2Creact%2Cstage-2&prettier=true&targets=&version=7.5.5&externalPlugins=) I've converted it to ES3 should anyone want to use it there (like in Google Apps Script).
```javascript
"use strict";

var Bruce_SomeReverse = function Bruce_SomeReverse(s) {
  var rev =
    arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
  s.split("").some(function(itm, idx, arr) {
    rev = rev + arr[arr.length - 1 - idx];
  });
  return rev;
};
```
Performance-wise this method is very speedy, in the top 5 (using my [speed tester](https://dev.to/bugmagnet/testing-string-reversal-functions-8m6)):
```
Sarah_ForOf                 986.973 ticks
Bruce_Recursive2            2664.535 ticks
Bruce_SomeReverse_ES3       3085.19 ticks
Bruce_Recursive1            3209.047 ticks
Bruce_SomeReverse           3312.393 ticks
```
As seems often to be the case, at least in my V8 instance, the ES3 version is the faster.
What makes air duct cleaning essential for your home?
Published: 2019-07-26 09:37:50

Air ducts are responsible for giving you clean and breathable air, but what if they are infested with debris and germs? How can you then expect to have clean air flowing in your home? With 
<a href="https://www.lvairductcare.com/airduct"><strong> air duct cleaning services in Las Vegas</strong></a>, you can achieve this and get a perfect environment in your home. There are various other services which make a big difference in your home but cleaning is something that you cannot simply overlook.

Because the very condition of your health depends on it and if these hidden spaces at your home do not get cleaned on a regular basis, then you can face some grim consequences. Unclean air ducts can cause you respiratory diseases and harmful allergies which would enervate your body in a long-term. Therefore, you need to get perfect cleaning which ensures that you get to breathe clean air without any chance of disease or allergy.

With LV air duct care, you can make sincere efforts to give your family clean air which is essential for a healthy life. These situations are rather harmful because you don’t get to see what’s inside the ducts. Therefore, getting your air ducts cleaned becomes necessary for you to lead a healthy life. This is something that you need to do at least twice in a year and if the charges are bothering you, you need to search for an expert who can deliver good services at the most reasonable price.

In Las Vegas, you have plenty of options and they are also very cheaper compared to many other areas. <strong> LV air duct care</strong>  is the name you can trust because it has been delivering quality services for a while now. We are the ones who ensure that your home gets a wholesome environment which is conducive for good health. <strong>Las Vegas air duct cleaners</strong>  become a go-to choice for every house because of the excellent services.