Special Guests: Ethan Brown
In this episode, the panel talks with Ethan Brown who is a technological director at a small company. They write software to facilitate large public organizations and help make projects more effective, such as: rehabilitation of large construction projects, among others. There is a lot of government work through the endeavors they encounter. Today, the panel talks about his article he wrote, and other topics such as Flex, Redux, Ruby, Vue.js, Automerge, block chain, and Elm. Enjoy!
2:38 – Chuck: We are here to talk about the software side of things.
Let’s dive into what you are looking at mid-year what we need to know for 2018. You wrote this.
3:25 – Ethan: I start off saying that doing this podcast now, how quickly things change. One thing I didn’t think people needed to know was symbols, and now that’s changed. I had a hard time with bundling and other things. I didn’t think the troubles were worth it. And now a couple of moths ago (an open source project) someone submitted a PR and said: maybe we should be using symbols? I told them I’ve had problems in the past. They said: are you crazy?!
It’s funny to see how I things have changed.
4:47 – Panel: Could you talk about symbols?
4:58 – Aimee: Are they comparable to Ruby?
5:05 – Ethan talks about what symbols are and what they do!
5:52 – Chuck: That’s pretty close to how that’s used in Ruby, too.
6:15 – Ethan answers the question.
7:17 – Panelist chimes in.
7:27 – Ethan continues his answer. The topic of “symbols” continues. Ethan talks about Automerge.
11:18 – Chuck: I want to dive-into what you SHOULD know in 2018 – does this come from your experience? Or how did you drive this list?
11:40 – Ethan: I realize that this is a local business, and I try to hear what people are and are not using. I read blogs. I think I am staying on top of these topics being discussed.
12:25 – Chuck: Most of these things are what people are talking.
12:47 – Aimee: Web Assembly. Why is this on the list?
14:23 – Would you put block chain on there? And AI?
14:34 – Panel: I think it’s something you should be aware of in regards to web assembly. I think it will be aware of. I don’t know if there is anything functional that I could use it with.
15:18 – Chuck: I haven’t really played with it...
15:27 – Panel: If you wrote this today would you put machine learning on there?
15:37 – Ethan: Machine Learning...
16:44 – Chuck: Back to Web Assembly. I don’t think you were wrong, I think you were early. Web Assembly isn’t design just to be a ... It’s designed to be highly optimized for...
17:45 – Ethan: Well-said. Most of the work I do today we are hardly taxing the devices we are using on.
18:18 – Chuck and panel chime in.
18:39 – Chuck: I did think the next two you have on here makes sense.
18:54 – Panel: Functional programming?
Ethan: I love Elm.
21:49 – Panelists talks about Elm.
*The topic diverts slightly.
22:23 – Panel: Here’s a counter-argument. Want to stir the pot a little bit.
I want to take the side of someone who does NOT like functional programming.
24:08 – Ethan: I don’t disagree with you. There are some things I agree with and things I do disagree with. Let’s talk about Data Structures. I feel like I use this everyday. Maybe it’s the common ones. The computer science background definitely helps out.
If there was one data structure, it would be TREES. I think STACKS and QUEUES are important, too. Don’t use 200-300 hours, but here are the most important ones. For algorithms that maybe you should know and bust out by heart.
27:48 – Advertisement for Chuck’s E-book Course: Get A Coder Job
28:30 – Chuck: Functional programming – people talk bout why they hate it, and people go all the way down and they say: You have to do it this way....
What pay things will pay off for me, and which things won’t pay off for me? For a lot of the easy wins it has already been discussed. I can’t remember all the principles behind it. You are looking at real tradeoffs. You have to approach it in another way. I like the IDEA that you should know in 2018, get to know X, Y, or Z, this year. You are helping the person guide them through the process.
30:18 – Ethan: Having the right tools in your toolbox.
30:45 – Panel: I agree with everything you said, I was on board, until you said: Get Merge Conflicts.
I think as developers we are being dragged in...
33:55 – Panelist: Is this the RIGHT tool to use in this situation?
34:06 – Aimee: If you are ever feeling super imposed about something then make sure you give it a fair shot, first.
34:28 – That’s the only reason why I keep watching DC movies.
34:41 – Chuck: Functional programming and...
I see people react because of the hype cycle. It doesn’t fit into my current paradigm. Is it super popular for a few months or...?
35:10 – Aimee: I would love for someone to point out a way those pure functions that wouldn’t make their code more testable.
37:54 – Chuck: We can all say that with someone we’ve done.
38:04 – Panel shares a personal story.
38:32 – Panel: I sympathize because I had the same feeling as automated testing. That first time, that automated test saved me 3 hours. Oh My Gosh! What have I been missing!
39:12 – Ethan: Why should you do automated testing? Here is why...
You have to not be afraid of testing. Not afraid of breaking things and getting messy.
39:51 – Panel: Immutability?
40:00 – Ethan talks about this topic.
42:58 – Chuck: You have summed up my experience with it.
43:10 – Panel: Yep. I agree. This is stupid why would I make a copy of a huge structure, when...
44:03 – Chuck: To Joe’s point – but it wasn’t just “this was a dumb way” – it was also trivial, too. I am doing all of these operations and look my memory doesn’t go through the roof. They you see it pay off. If you don’t see how it’s saving you effort, at first, then you really understand later.
44:58 – Aimee: Going back to it being a functional concept and making things more testable and let it being clearly separate things makes working in code a better experience.
As I am working in a system that is NOT a pleasure.
45:31 – Chuck: It’s called legacy code...
45:38 – What is the code year? What constitutes a legacy application?
45:55 – Panel: 7 times – good rule.
46:10 – Aimee: I am not trolling. Serious conversation I was having with them this year.
46:27 – Just like cars.
46:34 – Chuck chimes in with his rule of thumb.
46:244 – Panel and Chuck go back-and-forth with this topic.
47:14 – Dilbert cartoons – check it out.
47:55 – GREAT QUOTE about life lessons.
48:09 – Chuck: I wish I knew then what I know now.
Data binding. Flux and Redux. Lots of this came out of stuff around both data stores and shadow domes. How do you tease this out with the stuff that came out around the same time?
48:51 – Ethan answers question.
51:17 – Panel chimes in.
52:01 – Picks!
- Automerge - GITHUB
- Lego’s Massive Cloud City Star Wars
- Lego Shop
- The Traveler’s Gift – Book
- Jocks Rule, Nerds Drool by Jennifer Wright
- Cooper Press
- Book – Ethan Brown
- O’Reilly Community – Ethan Brown’s Bio
- Ethan Brown’s Twitter