RR 304 The Rails 5 Way and with Obie Fernandez
[0:05] Everybody and welcome episode 304 of the Ruby Rogues podcast this week on our panel we have Brian Hogan hello everyone,
I’m Charles Max wood from DevchatTV go submit your talks for rails with Ruby remote, we have a special guest this week and that is Obi Fernandez.
Hoping you want to say hi introduce yourself for a second pleasure to be on the show long-time fan.
If you work with Jason a little bit at a company called and Ella that’s really kicking ass developing helping to to cultivate the software development,
culture in Africa of all places and yet to send in software development send that.
Area for almost 25 years coming on 25 years so that’s awesome.
[1:15] Well I’m just going to jump right in with some of this so the rails 5 way or the way I remember when it was the rails two way or the rails way,
you know those books coming out.
What kind of prompted that have how did you wind up pulling that together and it seems like it’s kind of grown into this hole.
Professional Ruby Series so it’s it’s more than just that book now,
hey everybody this is Charles Max what I just wanted to talk to you really briefly about yes or no, we just pick speakers,
So if you’re looking to learn things about nodejs about becoming a better developer about deployment about mobile development,
We have left your recordings there we have this year’s conference coming up to make sure you get your ticket and we’ll see you there.
[2:21] And it seems like it’s kind of grown into this whole professional Ruby Series so it’s it’s more than just that book now.
[2:29] Well I mean it’s ancient history now but I mean at the first stuff.
[2:36] The first rubyconf ever went to was in 2005 and.
There was an editor from addison-wesley there,
and she was asking great gal Debra Williams from from addison-wesley she was asking around just trying to get a sense of who were the writers in the group as editors do.
And someone referred her to me because I was blocking a lot about about Ruby on Rails I just come out of about 9 years and and the Java Community has really really excited and was already a lot of things on my bday,
so how she said you want to write a book about,
Caribbean door rails and at the time they’re only Ruby book was the Ruby Way by hell Fulton and then a done reasonably well and they just kind of wanted to do something else using rear end.
The interesting part was that originally I didn’t really have a great idea for the book but I had started doing some Consulting with rails in at the Enterprise level at a big company call John Deere Aaron’s.
[3:51] I said you know I think I think I can write about using rails in the Enterprise and its act like I think the year after that I give a talk at the O’Reilly’s, about that sort of thing.
Amazing because it was way premature and I should have very very ambitious kind of,
Quebec and I am but she said fine and I presented an outline I start working on the book and I got about two three chapters in and realized oh man I don’t have,
I have a book here like using grills in the Enterprise is like a blog post you know or somebody that’s not really a full. But then I was looking at the fact,
the Ruby wave had become a competitor a viable competitor to the pride,
the prize Ruby reference book and I said let me just do that for reals and then the market can have like another option versus the pragmatic rules but that was a good idea and now.
Talking to some other authors and things like that it kind of started very quickly figuring out like hey if you’re going to put the energy into writing a book you might as well write a big-ass reference book,
you know something that a lot of people going to buy,
so start working on that they ended up taking two years to write but along the way I was pretty proud of myself and I called my dad Marco.
In and he was he was visiting and as I was talking to him and bragging about the book and it wasn’t really getting what a big deal it was to have a book being published on out of someone’s lease I walk over and I call Martin Fowler.
[5:35] Patterns of Enterprise application architecture,
off-the-shelf and like bring it over him and like look. You know I used to work with Martin,
RBI I guess of the time I’m still working on mine and I’m like man Martin’s a big deal he’s like one of the best selling authors and in the tech world and he’s like this highly respected figure in this is his,
Usher and I’m publishing a book with this publisher any takes a look at the book and if you look at that book,
you’ll see that it’s a Martin Fowler Signature Series and my dad’s a ball-buster and so he says to me.
Yeah he’s like super mad about he’s like get back to me when you have a signature series yourself.
But also there’s kind of funny and whatever I thought was a funny story so I told Dad but my daughter and she’s like oh sweetie she’s talked with this sudden she’s a sweetie.
You could have a series if you want when you just got to send me a serious proposal I set a signature series in the series but you can have a series I could be a series.
Is it okay what is what is that mean she said no you just got to have an idea for the series in the teams like Ruby’s going to take off keep in mind this is like 2006 right it seems like,
Ruby’s going to take off and I was pretty excited to put together a proposal and I put all these ideas for books I was like Ruby in XML,
[7:08] You know printing stuff with Ruby I don’t know it was like a list of 20 type of stuff that I thought would be good with you to do in a movie series and I submitted it and they said okay.
[7:20] And as a series editor you basically take over the job of I guess it’s called executive editing and you’re pretty much,
thinking about okay one of the ideas who can I get to write on how can I recruit them kind of overall Vision overall quality control and helping out you get to write the four words,
and you make was called an override on the royalties so you basically make a few points.
Or less actually but getting you make you make some money I need to turn the title sold in the series I got to say it’s a pretty good deal and you get The Prestige of being able to say on the series that order of the professional Ruby series by a witch.
Is not as big a deal as it sounds but you know it’s a generally impressive people we had a question about the came into existence,
so I read your book I’ll be like way before I met you and,
we talked on the phone which by the way was it was like getting a call from the president or something like that when I first talk to you cuz it was like,
I’ve read your book an hour and we’re talking to unfortunate how much that’s been to Value these things but ok,
it’s is pretty thick like it’s pretty comprehensive and when I read it I’m like wow,
this guy knows a lot about rails oh I wondered how he liked knew all the stuff about rails and then apparently just took what was in his head and wrote it down.
Sunset time. More people.
[8:51] And I’m learning that maybe it doesn’t really work that way like maybe I had it backwards maybe a person doesn’t know all that stuff to start with and then they just.
Do a brain dump into a book maybe they say I want to write a book and then the book is what forces them to learn all that stuff.
Probably works both ways and different cases.
But I wonder I wonder how what was the case with you like obviously you knew some stuff about rails but didn’t process of writing that book like force you to learn a lot more stuff and you already know.
It’s a it’s a good question in your ear spot on I mean it it didn’t force me to learn a lot.
[9:37] Writing a book especially big reference book like that is.
[9:41] Has a lot more to do than just writing it out it has it and also I got a lot of help like you don’t David black wrote a couple of chapters.
Try to Tasha as I always people that wrote some significant portions of things and.
When you undertake an effort like that and I can’t I can’t remember how big the rails way was but I was at least seven hundred pages.
[10:13] You’re not writing it all yourself you know you’re you’re pulling it together your end it is just no way especially at that time that I could,
cause we have all that stuff in my head other than anyone could have a big reference book like that in their head and just I don’t think it works that way unless you’re a freak of nature like Tim Pope or something but it’s.
You know the generally speaking you have a you have an outline you have the areas you want to cover and then you Delvin and then you do the research and then you flush it out.
Call for reference but now since that time I’ve also written some other books and manuscripts that are slightly different styles and.
[10:57] For those kinds of books I use something called the fuel still not that which was named popularized by by Gerald Weinberg,
and what you do there is like you use something like Evernote or you know we’re just simple text files or whatever and you keep track of.
[11:16] Ideas and notes as they come to you organically so you’re not working on a fix schedule you’re just.
Every anytime you see in his call the Fieldstone method because somewhere I don’t know where do you know they build walls out of field stones and a Fieldstone is literally a rock stone that you find.
In the field and I guess if you are a farmer back in the day or whatever you can go to Home Depot and just buy a whole bunch of rocks you would have to make a pile of rocks and then eventually.
[11:50] Sometimes I guess after years of collecting these rocks as you came as you pack them up and you had sufficiently big size rocks then you can build a wall,
so it’s in the field so method for writing a book which of use now a couple times so you know I feel like pretty successfully as you keep these notes and you.
[12:11] You know you know that you’ve been here I don’t want to write a book you don’t know when you’re going to get to it but eventually you have a big enough pile of these topics that you can put them together and.
[12:23] Listen to is you know if anyone is trying to write a book one it’s better better to write.
Animals like generalist Topix things that are a little more Evergreen and then I can be seen by a wide audience to don’t assume that you’re just going to write it all yourself like you’re going to lie I’m kind of repeating myself love it but you’re going to get a lot of help you should get a lot of help.
People love to help if even if,
you rode every single word in there you’re still going to need people to review at you’re going to still need technical review with two people like actually trying to apply what you did.
I find it hard to believe that there would be taking all those that are actually like literally transcribing the expertise from their head onto the page that makes it was happening,
you know which may be a lot of people assume that because that’s what it seems like you read these books by these experts and I like you mention Martin Fowler and like,
you know that he’s a guy who knows a bunch of stuff,
and so it’s kind of easy tonight with senior page.
[13:34] Yeah you always spot-on with Phil how a lot of a lot of people write books that that Fieldstone method as pretty as it’s ridiculously popular when I’m whenever I end up seeing books that I’m editing a lot of times it is.
Potential conversation as well I’ve been collecting these little nuggets over the years and now it’s.
I know I have a story I want to tell and I got an old my job is to put them all together and that’s like yeah that’s exactly what your job is,
its its accumulated knowledge the committed wisdom in a lot of times you just a curator,
of these kinds of things no you are right after for you here and then but you’re curious because he was he was the primary author off and have the experience to know what,
what’s important what aligns with the goals of your of your book or whatever and and what’s less important so you ear surf pulling one of those things together even though you may not know,
the details of those things you still maybe know who knows the details of those things it’s a good thing too because the way that the way that books actually get finished as you have to work on them like everyday like almost everyday but I’m very irregular rhythm in schedule,
I don’t know about anyone else but at least me I don’t have the energy to to write every day on a project like that I get up in the morning and try to do 750 words,
first thing before I do anything else that I got that from the artist’s way and there’s a site called 750words icon which is probably one of my texts but it’s.
[15:06] That I can do everyday but like actually sit down and get like a serious amount of her original writing committed to the page everyday I can’t do that,
what I can do if I’m forcing myself to finish my book like what I’m currently doing with the real side way,
is every day make edits right so like I’m moving some paragraphs around on validating stuff I’m trying some code refactoring I mean you not trying to just improve the structure,
you know importing the code instead of having a copy of your stuff or stuff like that that you can find something like that to do everyday right,
adding cross-references with whatever whatever your mental capacity allows you to do that night now.
And then eventually you’re finished make progress on the project every day don’t necessarily have to write.
New stuff every day’s first book I ever read the road I think I wrote and 900 pages of that book and it will be introducing its 250 so a lot of the time dispatch deleting stuff too,
I deleted that the R-Spec chapter I’m not sure if I’m going to put it back but only because what end up happening was I even added an added an attitude R-Spec chapter and I got up to,
post 200 pieces I think I don’t know what the printed out the would be but he’s huge.
Likewise it’s in here to pull this out and just make a test thing.
[16:38] Darrell’s way book and because there’s all this other stuff I want to talk about with testing as well not just the mechanics of the syntax of R-Spec and how you put sweet together I want talk about the rationale and how,
what’s what’s my thoughts and how you do tdd and when it was called or not,
and you know what is the proper level of test coverage how do you how do you get the best regression covers things like that,
Anna is all the stuff and eventually realize I don’t need to have this chapter in here I just pulled out,
connecting being smart about using things that you had like I’m trying to get.
Ahold of a lot of the lectures I did and Ella because they were they were recorded.
And I think that I can actually take and transcribe some of those things in that there’s my contact,
and then I was just a matter creating and boiling it down right I’m getting to the good stuff putting it together or not in a structure and a story that makes sense and I got another book,
prom and a lot of a sitter active and things like podcasting or giving Cox’s the Forgotten.
We had at our disposal is just a matter of figuring that out and then actually,
grabbing hold of Interiors another thing I’ll be there in a minute,
there’s another thing that I’m dying to know about the process of having written the rails way which is you’re telling a story about how you had a conversation with somebody from addison-wesley about about reading a book what gave me the confidence.
[18:09] Dad you could write a book because I’m thinking of if somebody asked me to write a book I’d be like I don’t know if I could write a book and then a lot of people probably feel that way to let mean you feel like you can do it,
I really wanted to write a book so for four years at that point.
I wanted to be an author like it was just said that conceit to me now that that I wanted to write I like writing at that point had been blogging like because he can’t let her know I’ve been blowing in a regular basis for Hino probably,
ten or more years at that point so I was used to writing.
[18:47] On a regular basis riding for fun right in and have one at once I started blogging,
in a serious way I thought works it was no longer just for fun it was also two to build reputation and then you know start getting my name out there,
so so yeah I mean I was cocky I got it I have to admit I mean there’s a certain amount of arrogance weather is called for not that it takes two to put yourself out there and say OK and then I’m going to clean the man’s expertise on on something.
Knowing full well that you should not actually an expert nobody comes and blesses you with permission to write a book,
but you just have to decide that you can write yeah yeah you just have to decide that you can and that’s.
For Better or Worse see now that I’ve heard it said that that’s one of the differences between the Sexes for and senses that you know awesome males are,
typically a lot more cocky about putting ourselves out there and I’m pretending like we’re through them something and giving ourselves permission to go out there and talk about something and.
[20:04] Do you know it’s something that I was better naturally blessed with I had no shortage of that.
So I kind of want to ask and you know we’ve kind of been talking around this a little bit but,
it seems like in a lot of these books yes it’s a reference and yes you try to cover mostly everything right in a reference book but,
I mean some of this is going to be colored by your opinion on where we’re at with rails me know what’s going on with rails 5 what’s the right way to do it I mean the rails way kind of implies that that you know that this is the right rails.
[20:41] So I’m curious what is your opinion of where we’re at with rails and how did that influence the book The Rails 5 way.
[20:50] Well I want to answer that purse bye bye.
Clarifying something which is that the rails weighs a little Miss named.
It probably isn’t should or would more accurately be named The Rails what and there is some.
[21:11] There’s some stuff in there that lends itself to saying this is the way that you do it but given that it’s Ruby and giving the philosophy of repeated almond out of relative element,
do you know there’s at least two or three ways to do anything and in a lot of cases they’re valid so the stuff work,
where the book is really prescriptive and lives up to its name has to be friends since with describing restful you know how use the rest and send stuff like that and then give you chapter and talk about helpers I still getting a little captive about some techniques and things like that but most of the book is a reference book,
in the sense that it pulls together and I think a well-organized and comprehensive fashion,
what you need in order to dated a relative element and in my my objective was always to have a book that you could have it you know,
next your keyboard and you can just flip through it real quick you’re not especially like if you were offline or something like that or is this.
[22:15] Nowadays you actually need that and then a lot of people seem to.
Buy the book in electronic form uniform so I guess they’re looking at it in PDF reader or Kindle or whatever but I mean I still like having a paper.
[22:26] Right next to me and in that old school way but it’s really the rails what and now.
What I’m writing and what I’m proud to be writing is,
I’m going to call mastering the rails way and that’s Benefield some effort that’s just getting on their way I’m coming out one together and,
that is really like okay this is this is how it writes rails apps you know and like this is kind of like the sum of my knowledge that I gained in my,
you know 10 20 years of doing serious app development influenced by oo influenced by people like Martin Fowler you bringing those patterns together,
open what what makes me good at that and that’s coming a lot more out of my head,
right because now it’s not just reference material now it’s very,
much more prescriptive and techniques and do this don’t do that yes that’s there but don’t I’m not even a talk about it,
because you shouldn’t do that would be possible only free to give us a little bit of a feel for what’s that like,
did you hear something and I wonder so I worked on quite a number of rails apps over the years and just cuz of the roll the dice.
What’s the background of that project was in who’s working on it because it’s probably not going to be very good right and so most of the project I’ve been here is our somewhere between thick and just plain bad.
[24:03] What I don’t get to see very much something that exemplary.
You know and so I always wonder like if this had been coded by somebody who really really knew what they were doing how different would it be and I think the main thing I’m curious about is like do you kind of just dumb,
put the things in the slot that rails gives you to fill in or do you give it your whole life.
Do you put your own structure into it in a way that I might not even be aware of that idea makes any sense but I wonder if you can just kind of paint a picture a little bit.
Will the big I’m a big fan of the way that David.
Does rails absurd as far as he’s described,
the way that uses rest in the way that he implemented controllers and things like that so there’s a lot of foundation in that because over the years I’ve found him to be right surprise surprise he made the Frankie guides it,
the way that he works it is probably going to you know give you good results.
[25:10] But there’s so much more. You know when you when you actually working on Rails apps day in day out and I,
I also have you no light like princes right now I’m with my day today with with Kick-Ass there’s one project that I’m maintaining that’s a legacy app that was written by someone that didn’t really know what they were doing,
so it’s pretty bad possibly horrific in places but I’m also I also have a couple of projects that I’ve written from scratch and rails 5,
that are starting to get complicated and those are really good so I’m seeing I’m seeing the benefits of those things that I’m doing with them and I’m kind of seeing a lot of the,
the promise of rails come to fruition because real five is this enough fuel so much I love the library’s ReliOn feel so much or they just working not like get us spending half your day,
the bugging you basically not doing note.
yeah you’re actually getting work done but there’s so much death there is so much death into what.
[26:20] What makes it the right way the maintainable way to do stuff,
it and they have to do a lot of them are very designed to their subjective by by Nature very very design-oriented like,
you’re your own design questions your decisions around like how do I model something like I’ve had a Spate of,
instances lately where I’ve had an object,
and a related template object so it’s like basically you’re choosing,
to your here representing your app at the app level the fact that you have a 8 standardized kind of,
Tumblr incense of something and then as a client or customer you want to take that template that you want to make your own,
so how so how do you design. And you’re out and there’s at least two different,
significant ways that you could go like to you know that you come to a fork in the road you go to let it home I can implement this,
one if you want me to delve into it for a couple minutes you can,
just have one class so I’ll put in the context of do props because this is like I like I’m rewriting do props which is your,
can a family with it it’s like a thank-you card system so you have like to do props standard Stars,
but when you’re setting up a new props Network you’re basically cloning cloning a star and making it your own she can change the image you can change the title the description whatever so you have like a standard star and you have a star.
[27:58] One of the ways you can implement this if you want to have standard stars is to have a foreign key Association to the network but the star belongs to and if you wanted to be a standard star meaning it doesn’t belong to protect work you could believe that foreign key Association now,
right so then you just have this like special,
class of star that does not have is not connected to Oprah to go to network and then you can set up a scope and you can say these are my templates where the foreign key is Nolan and.
[28:31] But then if you do that,
then what what are the outcomes like what it what happens with that what are the special cases you have to start putting you know what kind of conditional Logic the other put in and is it is it a violation of solid,
proven methods you know are you putting more than one responsibility to that class is it really one class,
or is it really two concepts because I want the responsibility of one is to represent the concept of a particular star in the responsibility the other is to is the realization of that concept for the bridge card Network,
you go insane so so that that’s that’s pretty deep.
And that’s something that represents like okay if I’m going to talk about how do you do the sand rails that’s the rails way you know.
But it’s too much is too deep to get into an RN in a reference but you can kind of allude to somebody’s thing you could drop hints but if you if you,
I took all the opportunity to go into the house and the wife you do you know certain things a certain way that the book would get,
you know thousands pages long after a while things can only really be meaningfully conveyed via example,
which wouldn’t be like as a silly super appropriate and a reference book.
But that’s something that I’m dying to see it maybe it’s available somewhere and I just don’t know about it but like,
there exists all these open source projects and you can look at the code for it like I could go look at the code for sidekick or any other job and that would be educational in a certain way.
[30:10] But it’s not really like it’s not a production reels at written for a client in odds it’s a library and so the code is going to be totally different.
And so like the opportunity to kind of look over somebody’s shoulder when they’re when they’re running a real,
rails application would be awesome and I don’t know it’s hard because clients there,
repay you the right now open they don’t want you to splashing it on me all over your book and telling,
people who write the APT is going to compete with them it takes a very open-minded client to say it’s okay I’m confident in my business model on my brand,
to know that is not the actual source code that just come to let someone compete with me,
Brazos is a problem that transcends just know that the transcends rails it said it’s an issue was just experiences in software development because a lot of time here,
sure maybe you get lucky in your writing some credit application that you’ve written other times before but if you’re writing something that you,
you’re solving the problem you never saw before here running application for that all you have to go on his ear experience it’s so when I when I was,
no master lock Consulting I would run into these applications in there and it would be oh my gosh I can’t believe a person when they done this then I realized the situation they were in,
I realize well they did the best they could with the knowledge they had in the situation in the time frame that they had.
That’s that’s that’s someone’s things like later II II system the fact things like that you had the time to rewrite it over get it done in a different way.
[31:41] You didn’t you wouldn’t know that until you did it the wrong way first and so what I always wondered is what can we do as a community to help.
[31:50] I would these kinds of things one of the things I found really awesome is the database Community there’s actually a really great website out there that has database schemas for all kinds of problems,
all kinds of from problem and you can look at and you can see if you got a model you’re going to model the store,
ion Ecommerce solution and you want example of database schema try to figure out your own they’ve got one if you’re trying to do one for the spread of the Ebola virus and tracking that.
The site has one I’m just wondering what are you think about that what you’ll think about ways that we can help share that knowledge,
the people need another make those those good decisions in the more specific demands.
Hey there this is Charles Max wooden I just wanted to talk to you really briefly about freelancer no, I’m putting on a conference for people who want to go freelance or who are free men.
I’m bringing in some of the experts from the freelancer show to talk to you about how to find clients how to collect money how to build your business,
how to specialize and much much more so if you’re thinking about going freelance or you’re already freelance and want to hear from the experts on how to go become a.
Grow your freelancing business then by all means come check us out every last remote comes.
Good decisions in the more specific demands.
[33:13] Well I mean I’m doing my part with the books and that’s my vehicle and I’m I’m actually in conjunction with comparing the books on,
thinking parallel by related after to rewrite this this back-burner project that I have called due process which was,
at one time you know venture-funded and and everything like that and then it just kind of fizzled out but kept a small climb base,
and loyal clients and soldiering on with the same Legacy app for like going on five years and I’ve tried.
Maybe two or three times actually rewrite it but you know something you guys might find interesting and I definitely.
Would love to see more of the community is.
My son kind of the phone contacts my son goes to this after school program at a gaming store like an email I can board game,
store on nearby and one of one of the people that works in the store that that actually takes care of them so I got to know told me that he was a programmer,
and I delve into a little bit and turned out that he,
had taken a couple years of Cs at the local community college and I’m his words have done a couple of gotten at apps for some friends that’s okay we’ll hear something,
are you someone that knows at least a little something and right around New Year’s I made up my mind that I was going to take on an apprentice no matter what into an 2017 is characterization.
[34:50] And I went over to this guy Josh and I said hey,
I don’t know if you know who I am or whatever but you can look me up you know Google me or whatever and I’m looking for an apprentice it’s something I’ve done before and my apprentices have gone on to work at,
little labs and other places in like you not done really well for themselves if you’d like the opportunity to Apprentice for me here’s the deal I want someone I can work with me,
for about two hours a day every day,
I can’t pay you the your payment is basically you know what you’re going to learn and we will work on whatever I say we’re going to work on and really no other commitment,
I’m you needed other than maybe three dependents patterns you know what the heck’s going on he was like I don’t know let me get back to you and a day later he was like yes I’m very interested so,
she’s even coming over almost every day you know around 9 930 and he works for couple hours with me and I’ve been doing something I haven’t done before I’ve basically wrote out the prime directive,
This app I’m kind of looking for the piece of paper here has ever written down somewhere but the prime directive I have kind of posted near my desk here and it’s like do it right,
you know elegance and you know correct design,
and we’ve been doing this since January almost every day and it’s kind of like we were saying earlier the way the book gets written is by doing a little bit every day well this guy’s kind of like and is in his Apprentice kind of way.
[36:26] My personal trainer in the sense that he shows up every day we have an outstanding appointment and then he comes and no matter what else I have going on I drop everything else and we sit down and we do.
Fondue props the domain I know you know exactly what I want to build I have my vision for what it’s supposed to be because it’s like the 3rd or 4th time that I’m trying to rewrite it and there’s a legacy out that I,
ultimately want to replace so I know kind of like the requirements of what needs to be done but she doesn’t know anything so have to let it turned out that he actually knows a reasonably little anything to do with programming,
and I’ve had to go down to flight fundamentals and first principles for almost everything that we’re doing in it.
At times painfully slow but it’s also so good one because I’m helping them and butt but too because it’s like forcing me to go through and a masonic away and my.
By teaching relearn all of these things that I’m like taking the journey with him again,
yeah yeah exactly when I started teaching full time a few years ago that was the biggest Revelation I had is you know you know programming but when you can teach it to someone who’s never who really has no basics,
your eyes really open to what it takes to get there and all of all the little intricacies that we have forgotten because they become.
The second nature to us no I think this idea of a friendships I think that’s something to that I think that’s awesome that you’re doing that I think that’s something that I’d love to see a lot more.
[38:06] Of people not just successful people I’d like to see people with experience do something like this and figure out ways to sort of Pay It Forward is it so hard when you’re starting out when you give you eat you finish,
I love my students to finish their there they’re.
Nurse offer development classes may go get their first job and there’s just so much that they can’t learn when they’re.
When they’re in school because it has to be a controlled environment and then when they’re in the uncontrolled environment working on.
Real world problems there’s so much more to learning happens but it’s so overwhelming so I love.
Boys love the idea of apprenticeship programs I would love to see you only a few and if the industry the companies can’t do an apprenticeship program is pretty cool to see that their biggest challenge just not capitalistic.
Yeah it’s the fact that is not happening is a symptom of a broader malaise and our society and the reason that everything is so,
stop is because you don’t do something like an apprenticeship like when I’m just driving here for the profit motive now.
[39:19] You don’t know you don’t invest that kind of time and effort into someone.
Because generally speaking you don’t have a direct or I literally just giving it to the universe I also think it’s kind of a long-term short-term confusion of the employer’s part.
Or is it I worked on on an application over the last 6 months which had really bad code,
and it was bad and just everyday getting worse,
and I ask myself why is the code so bad because the code didn’t write itself the problem is the process by which that code came into existence and I asked why that is what the problem always is everywhere is,
people feel like because they’re under such a time crunch that they can’t afford to take the time to write good code.
Which is partially the fault of the developer.
Because it’s it’s not your manager with you with your managers deadlines who is in a holding a gun to your head and saying right this goes badly it’s all the belly you who’s writing the code but at the same time I think there’s something to like.
giving you permission to do your job right and like not getting you in trouble for taking the times to be taking the time to do things correctly,
I think you probably know what I’m talking about how that can be addressed but I’ll put something in place that I that I found to be really helpful.
[40:54] Which was why I said to the management what if we do like a weekly training program where we just spend an hour.
And take take what’s our biggest pain right now which was we didn’t have any test coverage on the front in,
let’s start with that unless addressed at because if we want to get from from having this bad situation having a good situation,
I want to get from point A to point B first the whole team has to agree like what point B is.
It so we have any training sessions and then I can help us get that shared vision and that was really helpful and I was just a pretty small thing but it requires one that requires the employer,
any sufficiently enlightened that they understand that they’re going to be better off in the long run by taking the time to invest today,
and educating their employees but it’s clear that they’ll be actually better off in concrete terms they may be personally better off in terms of their Network and their community,
but will the shareholders be better off and one of things I come to accept overtime is that probably not.
And that’s the reason that that things don’t get better in in a corporate environment.
Like I like to turn that around it’s because people say like customers don’t care about code and it’s true that they don’t care about the code until the day when production grinds to a halt because the code is so bad.
[42:26] That nobody can touch anything.
It’s probably there’s some subset where I think that’s true but man I.
I’ve just had a bad experience is where like it’s a business model of successful it’s actually so successful that,
it doesn’t matter what the code does there’s always enough money to fix it,
in other situations where at the business model is not successful then there’s never enough money to fix it take them to get into a sweet spot where you actually can do this long term I don’t even know that it’s possible In-N-Out.
[43:02] Venture driven and I’m kind of like productivité driving companies in fact I was kind of thinking of this as you were talking earlier you know what my biggest source of luck has been and like the reason I am who I am today and when that I’m in the position I’m in today thought Works in Hot Rock.
[43:17] That’s it because I thought Works what I learned is that if you’re.
[43:25] I was going to say cone is but you know your arrogance is is,
sufficiently large if your ego as a company is sufficiently large your reputation is sufficiently strong,
you can pretty much just bully customers into doing exactly what you want them to do and having it take as long as it needs to take.
I don’t know if I’m getting that across correctly but like basically we were thought works right leg,
we were going to do it the right way whether you wanted us to do it the right way or not and it didn’t matter what it was going to cost on a lot of projects that was the that was the way we were able to do things,
and because of that while I was at that works I actually got time and experience on projects that we’re done looks a cortical the right way,
actually had solid,
foundations for good code for factoring pairing all the other practice is all this stuff that’s part of what made that work so it’s right and then what I do I leave thought works and I start rocket and I operate the same way,
I like to say that hatch rocket I was like arrogance is we would take clients on,
and we would say it’s our way or the highway but if you’re coming to us is because you were want your stuff built correctly,
and you want to foundation and it really did not matter whether they need it or not we were going to build them something really really high-quality in and we pull that off a lot.
Enough to get a reputation for doing it and then you get a positive feedback loop going and then you’re able to like actually.
[44:56] Get that experience of building things the right way and you’re able to learn it and without that,
you know of comparing and contrasting that to situations I’ve been in that have not been not where I been at you know when Enterprise situations or or as an employee and it shops.
[45:16] You just it it’s impossible the pressures that your boss puts on you to deliver to cut corners and things like that never lets you write it the right way,
and if you never had that experience of actually correctly or Kentucky or rear architect as the case may be,
the system how do you ever learn it how do you learn it if no one ever touch it you know teaches at 2,
wow that’s really interesting to hear you say that because I’ve had that same thought before like is it even possible for me to like,
improve my skills Beyond where they are now if I’m just like hammering away at this horrible Legacy code that’s like it so far below what I already know let us know,
was just take a moment as a community,
and let’s say no it’s not possible and it won’t,
not everyone will be lucky enough to be able to do this but if you have the nature to be able to take the risk.
Of rejecting that situation and going to a thought Works going to a place where you can actually do that good work do it.
[46:32] You literally will not be able to level up unless you do you know unless you get yourself into one of the situations.
[46:41] And to say otherwise if you know like I feel that it is beginning to feel disingenuous to me I mean I guess.
At the stage where I’m at and my little cynical yeah I’m a little cynical because it it’s starting to feel disingenuous to say that you can take a beginner and you can somehow educate them.
[47:00] In a real-world situation where there’s deadline pressure and whatever to do things the right way they all do it the same,
yeah bill just bang your head against the wall until eventually they learned some lessons and eventually they start,
you know actually doing certain things the right way but in terms of getting a holistic,
immersion into the right way to do things you you only get that in these situations where you can Apprentice or be part of teams that are you know just really high performing teams,
hey I just want to chime in with something else too which is like you can work with thought works and get a certain experience you can work on like a horrible Legacy application then and get a certain experience.
But like if you want something in between and that give you said no other options,
the things I think you can do or like to just do your own Greenfield side project like by yourself.
Like I’ve done that myself before and I found value in it and also like finding clients where like I own the client like rather than,
working for a client through an agency or something like that like finding a client but doesn’t have an existing cold days and I’m just writing some code for them to solve a business problem,
and I have complete control over everything technical that’s another situation where like it’s at least better than maintaining a legacy app as far as learning goes,
yeah but the thing is is and I think this is obese point is that most beginners and even people who are somewhat experience to are trying to level up,
you tend to do things the way you’re shown to do things.
[48:30] And so if you wind up in a thought works for a company where they’re actually doing things the way that they should be doing them then you’re just going to do things the way you’re shown and then you can learn how to do it.
More less the right way example of that everyday sorry to cut you off but like I’m teaching Josh would like the very first time.
We Face still a little design decision like the very first complexity we ran into and I said okay let’s let’s write aspect to approve out how we’re going to do this anyway okay,
and we just are hanging no discussion of like this is what tdd means and and all that stuff like he just,
took it as gospel immediately without any justification whatsoever and I guarantee you that if we are not as weak as we’ve done this.
He’s just learning that that’s the way that you do it and when he takes it Forward he’s just going to assume that’s the way you do it like some day if he gets a job.
Do you know like it let’s see what a normal job and the tongue,
he’s going to have a WTF moment yeah that’s super common and that that’s super coming from with beginners getting their first job is if they’re written in farm where they,
when they save an internship where to place that lets them do the right thing and then they go get a job doing other things they are they are very they based trouble very much one of my former students learned all kinds of modern stuff when he was in our classes and then got his got his first programming job at a place.
[50:05] That uses a programming language that no longer exist.
You can’t you too but you can’t Google it you can’t you can’t find any information on the phone it just because it was a commercial programming language developed by a specific company to solve a specific problem domain and that company Fold It Up.
Was a pic no I’m not going to say anything about what I’m saying is he didn’t know how to handle that.
Because all we had was his his fundamentals of of building software and I worry sometimes that were as we as as people who are trying to educate and we as software developers are not mine off about.
Those those kinds of things ocean fundamentals those things that transcend languages we tend to focus too much on difficult of doing I worry about that sometimes especially for people at the beginning,
they treat they treat are maxims as laws that they treat your test everything has a lock and a test everything rather than the more the more experience you really don’t,
actually test everything,
we have some things in because the important things in the beginners they don’t beauty Beauty apprenticeship person though,
right and says you know proper apprenticeship is measured in years,
that’s like you know no spend years being an apprentice like yeah because over the course of years.
You’re going to learn when you touch them when you don’t work on your house a lot of times there’s an apprentice along.
[51:45] And he’s the one pulling all the cables and stuff and he’s the one doing all that work but used.
Learning those kinds of Skillet easy learning how to do it anything to get in so many different different environments and eventually.
The pay that forward to someone else in the future when the other thing is is that that Apprentice you know like you said he’s doing in so many different circumstances but,
when he gets out on his own and he you know we tried to do something different going back to obese WTF example right this guy is going to eventually go work somewhere else and he’s going to,
he’s going to run into okay don’t write that test and he’s going to do it then he’s going to be like man I spent like 10 minutes just sitting there staring at the screen because I’m so used to write an aspect that I didn’t even know what to do.
Until I finally just kind of noodle that out and the spec was a tool that allowed me to do that and I had to check at the end and so we figured out okay you know through some kind of experimentation,
but I definitely want to write these specks first if I can and then when he gets the edge of his knowledge you know the things that he doesn’t walk into word and lead them to the water and show him how to you know how to do what he has to do.
[52:50] You know he knows.
[52:53] Basically how that’s a pro should because he’s seen so many examples of you know this work this way in this work that way and it becomes ingrained well then I think it’s probably this or that because based on what I already know,
and the things that I’ve seen through trade-offs you know this pays off and and you only get that through some kind of longer-term apprenticeship.
[53:13] Just a side note here sidebar,
if you’re listening to this and you’re in a position to either directly or indirectly influence government policy towards retraining programs and,
yeah techno kind of training you know strongly consider,
subsidizing putting you know people who need retraining into apprenticeship kinds of situations I mean we’re paying them unemployment anyway you might as well make it a productive are you so their time end in you can start,
someone with very very little knowledge of programming whatsoever I’m either going to end up sitting next to you and and,
struggling to follow along but but they will get over that hump eventually we learned this Jason I learned this in Africa as well because we know some of our people just,
I never use the terminal before an and we were taking them from first principles and and trying to teach them up you can do it it is doable it’s just a matter of subsidized.
Like I’m not important enough to be in a position right now where I can personally subsidize this this exercise right like someone might be listening to some going over your spending two hours a day with an apprentice like I have to be at work at 9 o’clock,
so I mean I’m I’m fortunate to do it but I mean if you,
there are people out there there are people out there who are capable of if not doing this directly themselves influencing programs that can subsidize this this sort of thing.
[54:48] And eventually and I know this is a long-term goal on commission we could as a society get to the point where it was more common,
now we need to get pics in but I have one more question that I’m hoping you’re in there in like a minute or two and that is how does rails actually help this do this,
cuz we’ve been talking a lot about how we as people do this but rails is a tool how does this fit into this or is it just kind of tangential orthogonal conversation.
[55:16] I have an answer for that I have a pretty good answer that I think.
The stuff that really sucks about my time with Josh or or when it really bogs down and then he motivates me is when,
something doesn’t work did you know like giving yet,
I’ll give you a perfect example like we’re trying to we’re trying to use the bootstraps Alpha version like you know and.
I went in and tabs didn’t work.
Okay well maybe the send text change not the same as bootstrap 3 3 whatever so we go on we look at the reference and if they had changed so we put in all the classes everything I bet,
building work we double-check it didn’t work triple check it didn’t work delete the whole thing start over do it a different way didn’t work we chewed up.
Over half an hour or more trying to figure out how tabs work and why they weren’t working and what it was and.
Including searching GitHub issues and stuff like that and like some of them made it sound like it didn’t actually work there broken or whatever,
when stuff doesn’t work incredibly demotivating especially for a beginner because like even with fundamental stuff that does work he’s,
kind of drowning a little bit but it’s if it’s stuff that you’re trying to debug why doesn’t work at all like now now you have the time so I feel like I’m completely losing him right.
[56:48] So how does that work how does that answer your question with rails 5 as long as you stay away from some of these new additions everything mostly just works,
you know so like,
I might have to Google to remind myself for you to look at my book to remind myself of you know what is this function what is this help her call or whatever but it just works,
so you’re able to move quickly and you’re able to make the finit of statements about this is how you do this thing and that makes this whole thing,
topic that we’ve been discussing of apprenticeship and teaching and learning to do things the right way a lot easier,
Hey everybody this is Charles Max what I just wanted to talk to you really briefly about yes or no, we just pick speakers,
So if you’re looking to learn things about nodejs about becoming a better developer about deployment about mobile development,
We have left your recordings there we have this year’s conference coming up to make sure you get your ticket and we’ll see you there.
[58:08] Teaching and learning to do things the right way a lot easier to swallow.
[58:14] Alright well I do want to be mindful of time so let’s go ahead and do some pics.
[58:22] Jason don’t start stuff pics sure thing,
so I resent it was on a very long flight and I brought some books with me or the books I brought with me was when I read a long time ago and wanted to reread,
it’s a it’s a book by an author Bill Bryson,
is Pretty Woman author she might have heard of him this particular book was called The Lost Continent and he drove around America went to all these all these small towns to like the perfect small town,
and all Bill Bryson’s books are just super funny,
and this one is really funny too so I really recommend that book and pretty much always book son’s number one my second pick.
Is a place so last week I went and delivered this 3-day training class on angular,
and place I thought it was in Sofia Bulgaria I had to look on the map to see where Bulgaria was cuz I didn’t even know when I went there and it was,
it was a really interesting place it’s in the Balkan Mountains it was pretty cold when I went there similar climate to hear in here in Michigan,
but it was a really interesting place and you know off the beaten path but you don’t hear people say like I’m going to go on vacation to Bulgaria,
what if you get a chance it’s a really really interesting place to go check it out that’s my second pick nice Brian what are your pics.
[59:53] Alright I have 2 pics the first is pie hole.
Yeah he is in Raspberry Pi thought it’s a,
it’s basically it’s a black hole for your internet advertisements and things like that so you said it up on a Raspberry Pi or a small device on your network it runs a DNS server and just point your internal all your internal DNS light on your router,
42 Peters Point DNS to this thing and they are blocking your blocking all the malware in the end they have Ties on all the devices on your network.
Text Mike a minute or so to set up and it works really well there’s a couple blocks to can subscribe to an automatic pulled a new the new block down pretty great.
[1:00:40] I really should get going I just seen plication thing that you don’t have to be installed,
does function on all your devices.
He may have you may have like an ad blocker something on your on your. On your laptop but then you go grab your phone to look at something and all the sudden bam.
What you can’t be as everywhere but hearing all your mobile devices and all that I could be covered by this too.
Awesome the other one I have a tight I just mentioned a long time ago but it’s still it’s it’s become a daily fix your for me is a Vim plugin called Jim Wiki around for a long time but I can’t.
I can’t stress how great this is done I’m in them most of my day and I saw him and something to take notes during a meeting or take some notes what a conversation or keep her to do list things like that,
an enzyme Wiki is just a keystroke away in them whenever it whenever I’m working on I can I can use leader ww in my with these right there,
I can start taking notes right away I don’t have to switch another program to switch contacts like Annie Lee start taking notes,
that’s supposed to do list it supports links to other Pages internal Pages extra pages and you can export the thing to an HTML documentation structure if you need to.
But if you’re awesome and keeping my kid snippets in and I’ve been keeping.
Meeting notes in and I’ve been keeping my weekly to do is in it because one of the things that I’ve learned a long time ago is that if you I was starting to feel like I was,
was an accomplished anything at the end of each day like I had this whole day and I didn’t accomplish anything so I started at the end of the day I started keeping a journal of what I do today and it’s really back on that.
[1:02:16] How strong the all the weeks and the months in,
you have to have a one-on-one with your manager it’s actually helpful to have a daily log of all the things that you’ve accomplished all things to be dead so you can identify patterns and stuff and this this November key made that friction West Remuda ski.
Down what I what I what I got done those are my two awesome I’m going to jump in here with a few pics the first one is,
is that if you’re on the Ruby Rose mailing list you probably noticed that you’ve been getting a lot of emails about Jas or milk off of course by the time this comes out that was like a few weeks ago and I use a system called that I just I love it to death so,
anyway if you’re looking to do that kind of thing you know email marketing then definitely check it out one of the things that I’m going to pick and I.
I am trying to find a link in my browser history but.
[1:03:13] I’ve decided that my next computer that I buy is going to I’m actually going to build a PC and put Windows on it cuz,
the MacBook Pro just kinda turn me off on them on on that kind of thing it wasn’t a big enough step up for me so anyway I found.
A guide or at least a list of parts that you can buy,
I modified it some so I’ll go ahead and put links into the show notes for that but anyway,
so yeah I’m building a PC it’s going to cost me about $2,000 to,
put it all together but I am looking forward to having a machine that has like 64 gigs of RAM and you know what time the hard drive space and stuff like that which is something I’m really not getting out of my MacBook Pro that I currently have and I didn’t really see it as a major step up to get the other,
one other pic that I have if your new cuz we talked a lot about apprenticeships is newbie remote conf which is going to happen in July it’s an online conference,
if you sign up now it’s $100 the price will go up she probably want to do that soon so definitely check that out as well.
[1:04:16] And finally for my microphone I talk a lot about my audio equipment me know when I find new stuff so I bought this shockmount which is,
if you pump the arm it doesn’t vibrate in the microphone well the elastics are pretty crappy on it and so I found some new elastics for it,
I’m in this is for the re-20 shockmount so I’ll put links that the shirt as well but there’s a lot thicker bands and it’ll actually hold the microphone up which this doesn’t do OB.
[1:04:48] Do you have some pics for us.
[1:04:51] Yeah absolutely I will just part one real quickly I mentioned earlier in the show the artist’s way.
Awesome book you probably heard of it but I’ve tried to read it like 3 or 4 times I never got past the first couple chapters but one of the takeaways I got from it was to unblock yourself creatively beginning of each state by by writing,
in a journal and the best Hilaire found that I’ve been using now for over five years is called 750 wards.com and it,
it has a really really nice interface for developing streaks of writing uses of,
a bowling scoring metaphor so if you hit it’s got a strip of 30 boxes across the top of the interface and for the days of the month and when you get your son 50 you got an axe,
if you got a lesson some 50 you get a slash.
It’s like a spare if you don’t right you got an empty box and it motivates you to keep it going I was looking at my stats and I’ve written a lot like almost hundred thousand words that way,
na+ could give you all this matter did I can’t recommend it enough that used to be free I think it’s got a small charge now but really well worth it especially if you’re trying to practice being a writer or creativity of any type so I recommended 750 words like on my love to plug them cuz they’re just,
amazing and I want them to stay alive forever.
[1:06:25] Also mention I spent a week in Cuba kind of ripping off to Jason’s recommendation in Bulgaria,
probably some similarities there but his Anna Caribbean setting with with better music,
you know for me it was going back in and researching my roots because both my parents are from Cuba the immigrated After the Revolution and.
It was just amazing it was just,
I know tons of Ben’s has been said about Eva but they’re opening up so it’s really easy to go like you might think I wasn’t it a big deal to go like American citizens are not allowed to go no you totally allowed to go,
no big deal on the Visa you pay $50 through direct flights on Delta and JetBlue you have to take cash because your credit cards don’t work.
And it’s an eye-opening experience to actually see how life Works in an actual,
socialist society in so that you like go look at what,
you know certain people are afraid of and it’s definitely gone too far in the other direction where you know there’s there’s economic issues,
but it’s it’s amazing and I opening as an American to go and see it and also it like,
as a cuban-american I grew up with a lot of propaganda on this site about how bad things are in Cuba I got there and realized oh my God people aren’t starving,
highways are great,
how you know it’s far as I can tell there’s medical care for everyone people are reasonably happy and do the things that you would associate but they don’t have a lot of those excesses that we have that I think our kind of poisonous to torso.
[1:08:08] Two thumbs up highly recommended for Cuba Unico before it opens up so much that turns into everywhere else,
okay and then I want to plug a couple of things out one is I’m speaking at magnacomp in Colima Mexico.
Which is near Guadalajara doesn’t cost too much to fly to Guadalajara from almost anywhere in the states.
It’s an amazing conference as it has been going on for several years now really really good organizers they really know what they’re doing today beautiful beach location I’m giving,
the keynote on the second day I believe,
Makino is going to be called let’s laugh so we don’t cry every talking about kind of my philosophy of life in the house it really to development and and where we’re going,
and I’m going to bring in some elements of philosophy around the absurdist thought and the existentialism and things like that so I’m done trying to make that really interests thing.
Also if you want to go.
I know you can get a ticket for about 30% off now with a coupon code but I’m going to see if I can get your listeners 50% off code is still time to get a ticket and then also,
I’m running but I think it’s a really good deal right now for purchasers of the leanpub version of the Rails 5 way so you can currently by the rails 5 way on Main Pub,
which by the way is a fantastic service but importantly if you pay I think like $10 extra.
[1:09:43] Right now you can get a free Early Access or another early access to my next two titles which means that like,
basically they’ll be a coupon codes specifically for the people that buy this package deal and as soon as I start publishing bettas of mastering the rails way and testing the rails way which I will be doing in the summer you’ll get immediate access to those without having to pay anything additional,
so that’s so those are my two plugs as pets.
[1:10:13] Awesome will people want to follow you follow up on what you’re doing you know it sounds like a good way but do you have a blog or Twitter or gitHub that you want to plug for us real quick,
yeah totally probably the best Portal 2 all that stuff is to just go to OB Fernandez that, that’s my name,
a.com and there’s like some my Twitter and to my medium blog and to my shop where I sell contracts and things like that huh,
contract templates follow me on Twitter at obob ie,
I’m not a super active Twitter user but you know I do generally post links on the relevant activities and things that I’m doing on Twitter.
[1:10:59] Alright well thank you for coming over you’re somebody other than watching for a while and it’s been fun to just chat and trying to hear where you’re at these days.
Did you guys,
it’s so it’s a real honor and a pleasure to be on the show I hope something last time nope but the first time actually believe or not I was on the show during the Rubicon fonts with Josh saucer oh yeah and some of the other folks,
but I really enjoyed it all right we’ll wrap this one up thanks everyone for coming and will catch everyone next week.
Been with for this segment is provided by Cash live the world’s fastest ET and deliver your content fast with cash light visit,
da Chef ly.com to learn more.