Podcast: | (Duration: 56:02 — 29.5MB)
Panel
- Eric Davis ( )
- Jim Gay ( )
- Charles Max Wood ( )
Discussion
01:26 – Topic: Pivoting Into New Development Areas
02:00 – Taking time off as a freelancer
02:39 – : Eric Davis & Brennan Dunn
03:52 – : Cliff Ravenscraft
04:14 –
04:58 – Pivoting from one technology to another
05:12 – Jim’s experience with ‘pivoting’
08:20 –
08:39 – Partial pivoting
- Learning new skills
- Trying new programming languages
- Satisfaction & what works best for you
12:08 – Eric’s experience with ‘pivoting’
14:47 – Chuck’s experience with ‘pivoting’
17:09 – Client requirements
18:43 – Transitioning to something you don’t have expertise in
-
Diving deeper
-
Find a tool that is similar to what you’re already doing
22:13 – Billing yourself as an expert
23:20 – Repercussions of pivoting into a new technology
- Shortages of work
- Jack of All Trades/Master of None
- Cutting edge technologies
- Making up time lost in old communities
26:19 – Personal reasons for pivoting
- Enjoyment factors
- Trying new technologies
- Growing as a developer
- Preventing burnout
30:05 – Pivoting into new technology versus learning new technology to broaden your horizons
32:31 – Other possible ‘gotcha’s’ of starting from scratch
34:37 – Was it lucrative to pivot out of areas?
39:09 – Adapting to a certain company’s technologies
40:14 – What technologies are people getting into?
- JavaScript
- Mobile techonology
- .NET
49:05 – Closing out contracts with current clients before pivoting
Picks
- (Eric)
- (Eric)
- (Jim)
- : Noal Gibbs (Jim)
- (Jim)
- (Chuck)
Transcript
ERIC: I’ve seen a lot of problems with the Apple ear bud headphones because for me at least, it gets caught under my collar. And so, you can still pick up enough audio, but when you turn, it’s like rubbing on your shirts. You know, like top and bottom.
JIM: You’re dressed when you do this?
CHUCK: [laughs]
ERIC: Yeah. I just have a shirt on.
CHUCK: We know we’ve got Eric at least half covered folks.
[Are you a busy Ruby developer who wants to take their freelance business to the next level? Interested in working smarter not harder? Then check out the upcoming book Next Level Freelancing: Developer Edition: Practical Steps to Work Less, Travel and Make More Money. It includes interviews and case studies with successful freelancers, who have made it by expanding their consultancy, develop passive income through informational products, build successful SaaS products and become rockstar consultants making a minimum of $200/hour. There are all kinds of practical steps on getting started and if you sign up now, you’ll get 50% off when it’s released. You can find it at nextlevelfreelancing.com]
[Hosting and bandwidth provided by the Blue Box Group. Check them out at bluebox.net]
CHUCK: Hey everybody and welcome to Episode 32 of the Ruby Freelancers show. This week on our panel we have Eric Davis.
ERIC: Hello!
CHUCK: We also have Jim Gay.
JIM: Hello.
CHUCK: I’m Charles Max Wood from devchat.tv. This week we’re going to talk about “Pivoting into other Development Areas”. Before we get going though, I want to ask you guys; is there anything interesting going on in your businesses of lives lately?
ERIC: I’m sick, that’s interesting.
JIM: That’s not good. I have been renovating my house unexpectedly. And actually, I’ve been talking with a friend of mine, Sean Marcia and he’s done freelancing and he’s been employed. We have discussions on what’s the benefit of being employed versus being a freelancer and I’ve taken… you know, I plan to take a month off to finish writing my book, but I ended up fixing things in my home. We’ve open up a wall to fix the thing and find hosts of other problems. And to be able to take time off to do that – I think would be really, really rare if I were somebody’s employee. When it comes down to contracts, I can say I – it takes some times off. I’ll be back on the contracts after this time. I happened to be in between contracts right now, so it works out fine but when you’re an employee you’re sort of be holding to asking permission to take care things at home.
CHUCK: Awesome. Now Eric, I want to prompt you to a little bit. Didn’t you start a new podcast?
ERIC: Yeah. I‘ll actually going to say that for the picks but I’m bringing it up right now since you’re prompting me. So, I started a podcast with Brennan. It’s called “The Business of Freelancing”. We have two shows up right now. And actually just this morning, we were set in to iTunes so you can find us in iTunes. I actually searched on my phone and it’s in there as “Business of Freelancing”. We’re still trying to get our feet wet and figure out exactly what we’re doing, but it’s kind of be- it’s kind of so much at this podcast but it doesn’t have the technical development aspects. It’s more of the business side. We’re both going to be pretty heavily on the marketing stuff and talking to clients and working with clients. So, if you can’t go in iTunes, you can also go to the site. It’s businessoffreelancing.com. And it’s out right now.
CHUCK: Yeah. I know somebody who just subscribed. I also know somebody, same somebody who knows a little about podcasting so if you have some questions you’re welcome to ask him.
ERIC: How do my audio not sound like crap?
CHUCK: [laughs]
ERIC: We’re not spending $5000 on equipment.
CHUCK: I’ve probably only spent about $1000 on equipment. Anyway, maybe we should do an episode on podcasting. And in fact, I actually know a guy that I’d bring on for that. I think that would be really cool. The guy I would bring on, he is actually the host of the Podcast Answer Man, Podcast. His name is Cliff Ravenscraft. We’re becoming good friends. He’s a friend right now. And we’re getting to know each other a little bit better.
Anyway, one thing that I have – that I’ve just done is, I just released or I just opened up registration for “Introduction to CoffeeScript Webinar”, so if you’re interested in that, you can go sign up. It’s at introtocoffeescript.eventbright.com. I would probably have some shortened URL for that somewhere; next time we talk. Anyway, I’m trying to get into that more, just talking about stuff. My wife and I are also preparing to go to Aloha Ruby, so fun stuff.
All right let’s get on to the topic then and talk about this. It’s “Pivoting Into Other Areas of Development”. We can probably talk about pivoting into other areas, period if we want to talk about design and stuff but have you guys had any experience pivoting from one technology to another as a freelancer?
ERIC: Yeah. I’ve done it twice, maybe three times and I have to think about it. What about you Jim?
JIM: It’s funny that you should mention design. So, I used to be– sort of still am, but I mostly do Ruby development now. I used to be a graphic designer all day long and I changed from that into doing developments. So, I haven’t – I’ve had have projects were I wasn’t hired to do, per se what they had but they needed something better. So for example, I had a client who’s using Cold Fusion and Access database and a bunch of Dreamweaver templates. And it was as good as that sounds.
CHUCK: [laughs] I was going to say. That sounds really painful.
JIM: Yeah, they would – they would, they told us they were on this Access database. So, we’d ask him, “What do you do when you need to change the schema or when you are adding the fields or something?” “Oh we just lock the database”. “Well how do you lock the database because Access as far as I know, there’s no way of locking the database”. They would email everyone and say, “Hey I’m taking this database down. I’m going to change it and they download it and do whatever they’re going to do then re-upload it. This was their production database.
So, that quickly came to an end. But, we moved them from doing all that to getting them on PostGres and couple of Rails applications and some Ruby applications. I wasn’t hired necessarily to do ColdFusion but they said, “Hey here’s what we have. Can you help us?” And it was the time when a lot of people were looking at Rails or Django and we’ve pretty much just tossed the coin and went with Rail after looking at the options.
CHUCK: Huh. So I’m going to echo Eric’s question. How do I make my design not look like crap? [laughs]
JIM: Oh, there are so many resources, right?
ERIC: I have to add a prefix it, like how do you make my design not look like crap but without having to spend years in learning design.
CHUCK: Yes exactly. But that’s the topic for another show. I was trying to be funny anyway. [Laughs] So, you pivoted from design to Rails or to programming. Have you made any changes recently? I mean there are other technologies that are coming to be exciting and interesting now?
JIM: I haven’t really. I mean, there are different things that I want to put more time into and explore, but at least for me, there’s plenty of demand for either doing Front end work with be it design or just things like you know, JavaScript or Ruby development. I haven’t seen a lot of demand. I know a lot of developers are getting excited about different languages, but I haven’t seen a lot of requests for other stuff. On the other hand, I’m not really involved in like the Clojure space, so maybe things will start popping up on my radar because I’m not playing with Clojure yet.
CHUCK: Right. It’s funny bringing up Clojure the ones that I keep hearing about JavaScript and occasionally, I’ll hear like mobile stuffs. So, I know that IPhone is pretty hot right now. Android, it seems to add and flow some but yeah. They are those technologies too. And I thought about actually not doing a full pivot, were I quit doing Rails but kind of a partial pivot where I pick up the ability to do some of the mobile developments.
ERIC: Yeah. I have actually thought the same. About a month, maybe about two months ago, I was like, “Oh, let’s take a look on mobile and JavaScript stuff” because I’ve done a little bit of each like mobile web, not like Objective C or any of that. And looked at it and I think recently I decided like I really do like Ruby. JavaScript is nice and it has some great features but if given the choice, I would rather program on Ruby over JavaScript. I would rather program on Ruby or JavaScript over pretty much anything else right now. So I’ve learned of that too. And it’s kind a- I don’t know. I’m trying to figure out a way to kind of bring in like more mobile stuff and do kind of—what Jim was saying, more front end JavaScript type stuff. I don’t know. I’m still kind of hardcore server side guy on most things right now.
JIM: I think that’s interesting. Like, one of the things that I have been trying to be guarded against is you know I love Ruby, but am I just setting my ways at this point and I just want to stick with Ruby? You know, I’m not giving another programing language a fair shake or another environment a fair shake because I’ve just settled. You know? I feel the same way like I keep coming back. You know, I can write a Ruby code, it’s really clean and elegant and I can get my points across in a readable way and maybe not as much in other languages or. So I don’t know. That’s one of the things like when I consider what’s happening out there, am I going to be any happier in it? And you know makes me think of Metz’s designing the language to be a class for developer happiness. Are there other languages that are done the same way and are there other communities out there were people are just as happy using that language? I don’t know if there is one.
CHUCK: Yeah, I know quite few people who are pretty happy doing JavaScript and I also know people that have gone from Ruby and or Rails into mobile development like Objective C or Android and they really love it. So, I think, I think it really just depends on where you get your satisfaction from. How much a part of the language place as opposed to maybe the problems you’re solving and things like that.
ERIC: Yeah, I mean that’s very, very subjective. It’s like, what natural language you like speaking? Do you like English, do you like Spanish? It’s different but it’s similar in that, what works best for you and what kind of accomplishes what you want to do. The big thing I think you kind of look at stuff with an open mind. Don’t go into like JavaScript thinking I want to beat JavaScript so it looks like my Ruby or works like my Ruby. You know, you kind of look like JavaScript as what JavaScript is and what it’s good at and what it’s bad at and use it for what it’s supposed to be for. I think this kind of square pegging into a round hole kind of. It’s interesting and it makes a lot of good blog post type stuff, but in the end that’s kind of where you lose the productivity and you lose a lot of the richness of each language or framework or style of programming.
CHUCK: Right. So to bring us the back around to the topic, what pivots have you made, Eric?
ERIC: So, before freelancing, (I have to say because I love talking about this) I first got to programming in around college. So the first two programming languages I learned which was currently, was the Visual Basic and COBOL. The fun thing about COBOL; I was writing COBOL code on a MacBook G3, which was running Linux, which wasn’t actually using COBOL; it was compiling COBOL into the C, which run through the C compiler to make a binary output.
CHUCK: [laughs] Wow!
ERIC: It was fun but in all honesty, the only thing I ran on that computer was a console and Nano. I didn’t even have a GUI. I think I was getting like 16 hours of battery life on a battery that would only take like 30% of the capacity. That was my college years.
CHUCK: I have to say, that’s just amazing. “I was running a bastardized language that compile to a basterdized language, that compile to machine code and I was running it on the machine that wasn’t actually built to run the operating system I was running on to build the bastardized code that I was running”.
ERIC: Yeah and I mean the reason was because I was on a Power PC. All of the COBOL compilers for Linux needed Intel architecture, so I couldn’t use that. I found one that it sent it to C and from there – there’s obviously Power PC compilers for C, so I was able to use that tool. So, that was just something I want to throw out there.
But since then, since I started freelancing, I started freelancing I already was using Rails for a while there. I did of kind of minor pivot into PHP and actually WordPress development for a bit. I lot of that was just to kind of keep the income coming in. Then I had a lot more PHP experience, like actual production apps I was building. So, I went to PHP for a little bit. I’m still doing some Rails stuff and still was using Ruby for day to day scripting and stuff. And then, came back went hardcore into Rails and from there I actually to pivoted and that’s when I started doing a lot of RedMine development and then that turned in to ChiliProject development. It’s still Rails, but when you’re talking of 40,000-50,000 line application, that’s almost its own little ecosystem you have to work in.
Recently, since that, I kind of left RedMine and ChiliProject development and went back to more general Rails programming. And like I mentioned a little bit ago, I was kind of dabbling into going into JavaScript heavily, kind of backed way for that but still picking up JavaScript stuff on the side mostly for front end enhancement stuff. So I’ve had a lot of little pivots. Not really that many major pivots other than the Ruby PHP stuff.
CHUCK: Right. It’s funny because the only sort of pivot that I’ve done and I’m kind in the middle of it, as I seemed to be picking up RedMine and ChiliProject work and—
ERIC: Because I’m referring it all to you?
CHUCK: Yeah. [laughs] Which I appreciate. I’m also going to be picking up iPhone development just because I have – I never have enough clients that want Rails work done and iPhone work attached to the Rails work, that I’m going to have at least understand it well enough to hire a sub-contractor to that can do a good job on it.
ERIC: Yeah. Just how I’m looking a lot of stuff, like you need to know little technology enough to say if this code is good or bad and I mean that’s subjective. If you’re subcontracting and managing people like you almost need that with anything you’re going to touch.
CHUCK: Yeah. I’m hoping to get to the point where it’s really just a — not so much of a, you’re good or bad but you know, what I’ve written it this way is. In other words I have enough expertise to have done it and done it well and then I can look at it and say, “How is this compared to what I would have done?” and getting the idea that way. So, I know where the land mines are because gain that by experience and you know having a minor man wasn’t quite enough.
JIM: Well I’m curious you know we’re talking about moving into different technologies and are we doing it in terms of what we want to do and find new projects or are you on a contract and you want to drive the client’s projects with a different technology? How do you go about convincing them, “Well we want to move off to Java and do this other thing?” or “I want to introduce JRuby” or something like that. Is it moving from one technology in your general freelancing world or is it moving to new technology with your distinct clients?
CHUCK: So I was under the impression that we were talking about, you know general freelancing practice. So, you work primarily on one technology, like, say PHP and WordPress and then you made the transition so that now most of your work is Ruby or Rails.
ERIC: Yeah, what I do if a client comes to me. For example, when I went into PHP for a little bit, the client was like, “We have this three other developers who are working on PHP app. And we are using WordPress . Those are hard requirements. We can’t change that”. I want a work with them. I needed the work. I didn’t really feel like try to show on Rails on that stack. So, I’m like, “I know PHP. I can work a few of that” and saw my advertise specialty but we can make something work with it. It’s a good thing. It got me into the next stage in my career of freelance and stuff.
With the kind of pivot I did from RedMine and ChiliProject into more general Rails, that was more for myself and I just want to get out of that ecosystem a little bit. I have been doing it I think for four or five years straight. When you’re in the code base for that long you kind of – I don’t know- I mean you get these mental blocks and different ways of thinking. I was feeling kind of restricted in what I could do or what I was able to do both code wise and also for my clients. And so, I want the pivot out of that. I still have people contact me that want to work on RedMine stuff and I’m referring that all to Chuck here. You know he’s going and doing that. I think it kind of depends on is this your specialty? Is this what you actually do? And then on a case-by-case basis, what would work best for this client? And then if you want to actually provide that if it’s not your specialty.
CHUCK: Right. So I want to ask, when you transitioned from PHP to Ruby, you already had some expertise in Ruby. Is that correct?
ERIC: Yeah. A couple of years and several apps in productions. So yeah, I knew it when I was doing with Rails.
CHUCK: Right. So you weren’t learning something new and then trying to pivot to it?
ERIC: No. I mean I did – it’s like, I’m getting the dates wrong and the time wrong, but I did it I think a year maybe two years of PHP. And that’s, you know, like the first actual language I was learning other than in school. Do that for a while, I found that it wasn’t working and discovered Rails right when it came out. I did Rails because I was like, “Wow! This is awesome. Look at all this productivity compared to writing everything by hand”. I did Rails for a while, got a job doing Rails stuff and I pivoted back to PHP just because like I said they already had existing code. And I – trying to think- I think it was only for two clients I actually did PHP work, but that was for a span of I thinks six or eight months. It was that significant enough when I came back to Rails I had to kind of catch up.
CHUCK: So I’m a little curious about maybe transitioning into something that you don’t have expertise in? And it sounds like Jim you might have done that a little bit when you moved in to Rails from design?
JIM: Definitely. You know, my programming background was ActionScript. I think it were I did most of my stuff. I jumped on to Flash when it was new and you know version 3 or something and started getting it into ActionScript. I had this all crazy ideas about building my user interface based upon reading an XML file and threw ActionScripts. I was so excited about it. I did a lot of Flash work and I would do pretty much whatever people needed if they needed to throw something together on ASP, I would. I was like a script kiddie. Find some script that did it, figure out how it worked and adjust it to my needs and I have built an e-commerce platform in PHP, but I never really felt like I knew them well. I think at the time, I probably knew PostGres better than I knew any programming language I was connectingwith. But in doing the front-end design, that’s actually how I got into Radiant CMS. And I would have– when we decide to go with Rails for a particular client, we have our custom app and they needed CMS, so we found Radiant. And I just started diving into it. It was my job to handle the Front-ends and all the user interface work.
And Radiant was a great way for me to learn about a new technology because I was building the stuff I was used to in the Front end, with the tools that I was learning. I was to recommend that to any designers. I mean like, “Look just go and find the CMS”. If you want to learn PHP for example, there are zillions of CMS’ out there. You can build a site with it and do all the stuff that you already know, but then dive deeper and find out the other things. So for me, it was very easy to –you know, as we are working on our custom apps to also do the same with the Front end work because I was right on top of the Ruby based CMS.
I think that’s probably a good way to go about moving into new technology; find some tool that is similar to what you are already doing. So you understand the concepts and the domain and then figure out what are all the moving parts of and how are they different to what they already know.
CHUCK: Right. So did you- when you were making the transition to Rails, did you bill yourself as an expert?
JIM: No. No. I mean – we were- my partner at that time, I used to have a business partner and he for sure was an expert. He left his PhD program in Artificial Intelligence to start the business with me. I love telling the clients that because it impressed them very much. He was fantastic. He was the type of guy who throw onto a new technology and he would figure it all out and get the project moving quickly. So that’s what we did. We were weighing Django and Rails and we decided, let’s go with Ruby on Rails. We weren’t Ruby experts. We were just the people who are going to go to help solve their problems. They didn’t really care on this particular project what we are going to use. We could have gone in any direction, we just chose one that was best suited for the task.
CHUCK: Okay. Cool. I find it also fascinating, especially since there really are so many opportunities out there if you do want to pivot one way or the other, what are the kinds of the repercussions of pivoting into a new technology? It seems like you might if you – cut off the other stream of work, you know, “I’m not doing that kind of development anymore”, then you might run into a shortage of work.
JIM: Yeah. That’s definitely possible. I mean coming from a design background I used to do all design work and as I moved into Ruby it was – I found myself getting Ruby projects and my clients’ not even knowing that I had the ability to help them with design or vice versa. I would get a design client and they had no idea that I could do the Ruby stuff. But slowly over time, it just moved from me; balancing the two was kind of weird. I think it was good. I haven’t done design work in a while and I kind of miss it, but just like if you balance too many projects – if you’re balancing too many technologies, it’s difficult to keep the ideas in your head. I think.
CHUCK: Right. Do you have something that you want to add, Eric?
ERIC: You get the problem of like, “jack of all trades master of none”. I mean when I was – there was one instance when I was doing PHP for a while, coming back to Rails, it wasn’t hard in that like I had to learn the new API’s or any of that; but it was hard on that I had to see how the community changed, what were the new topics, the new ideas, what the cutting edge and bleeding edge? Trying to think back I think one that happened was – I think it was actually kind of during a major transition to Rails 2 and so I missed a lot of that stuff. I think I actually did a RailsRumble and my app was just me playing on the new technology in Rails, that way I can always at least get to understand, maybe hurt myself on couple of places but it was outside of the client project, so it wasn’t a big deal.
That’s one thing; you have to really be kind of careful if you’re doing a hard pivot. If you do a pivot and you go to something new and doesn’t quite work out or if you don’t actually get enough projects and you have to go back, making that time up and trying to figure out what happen to the community might be pretty difficult. And so, that’s something you kind of watch for if you’ve kind of been splitting it of what you’re doing both stuff for a little bit and kind of doing a slow transition. It’s a little bit easier because you kind of keep one foot on each one but obviously, it’s going to take more time, more training and you know, it’s going to be a little bit longer transition.
CHUCK: Right. That makes a lot of sense. So, I’m wondering are there any aspects of pivoting that we should talk about. I don’t have a lot of experience here because I really haven’t – I mean I pivot from Ruby on Rails to pick up RedMine work. It’s just more Rails work. You know, you have to become familiar with the code base that whole lot people are using this. You know the difference so…
ERIC: This happened I think in most of my pivots. It wasn’t so much like a client or a technical change; it was more of my personal reasons. When I was doing PHP and came into Rails like, it felt good like I felt not more productive but I just felt like I enjoyed what I was doing more. And then, when I went into RedMine I kind of narrowing down what I worked on, it felt good. I was like, “Oh wow I can instead of jumping from one codebase to another, I can really focus on one codebase, learn it really well and know where are the rough edges are”. That worked good for me for several years because someone could just talk to me and say, “What are the problem here?” And I can list almost to the line of code where you are going to run into problem is if you’re doing this thing.
And then later on, leaving RedMine as I said, I just felt pretty constrained and I just kind of wanted a little bit- little fresher stuff. Be able to try new technology because RedMine is Rails 2. I think they’re moving to Rails 3 now but its- if you look at it there’s still code in there from six years ago. Rails generates like scaffold type code, so it wasn’t moving that fast and I felt like I wasn’t really growing as a developer, as a person with that. And so moving with a more general stuff, I’m able to kind of pick up projects that are Rails 3 cutting edge or maybe even some NVC JavaScript stuff where it’s like, “This is fun and exciting for me. This makes me feel like as a developer something good”. So to me almost – I would probably say every pivot I’ve done has had a large impact on how I feel, being a developer preventing burn out. That sort of idea.
JIM: I think that’s a really good point. I never really thought back to consider it, but when I was moving to Rails, like, I’ve done some PHP work in the past and I never really enjoyed it. But when I started learning Rails and Ruby, I freaking loved it. It wasn’t just me evaluating technologies and looking at and thinking, “This is really good career move for me”. It wasn’t that at all. I don’t even consider that. It wasn’t until years later that I could look back and say, “Wow, that was really fortuitous event that I got into doing Ruby development and I enjoyed it the whole time”. I still do. I think that’s a good thing to weigh. If you’re planning on pivoting, if it’s something that you really do enjoy, try it out, know –write about it go to whatever meet ups there are and talk about it. In fact at recent DC RUG meeting- I forgot his name. There’s someone who did a presentation on a library that helps to use Clojure and Ruby together. He did the presentation and in the end he basically said, “You know, the only reason I am talking about this library so I could come to the Ruby group and talk about Clojure”. So he was excited about Clojure. He’s working that into his day job, but the community where he was already involved. I think that’s the good thing. I think we can – you know if you are excited about some technology, then it’s perfectly fine to go on and talk about it with people who are involved in something else and see who else is excited about it.
ERIC: Yeah. Kind of different angle is I am a heavy Emacs user. I have used Emacs for seven, eight maybe nine years now. I still love watching people using them because I pick up things that I can’t directly to do it in Emacs but I can say, “Wow. I need to copy that technique or that style”. I’ve learned some of the best things in Emacs from watching people in VIM.
CHUCK: So, That kind of lead to another question I was thinking about, is there different between pivoting into new technology and learning new technology to broaden your horizons?
ERIC: Yeah. I think learning new tech is something we should do regularly. I talked about it in the previous episode, but I try to do it every week, like every Friday. That’s more of just like getting a sample of what’s up there, what is the cutting edge in tech versus the cutting edge in the Ruby community. Pivoting is the idea of you going on a certain direction instead of completely like jumping track and going someplace else, you keep one foot down and you pivot on that foot, so you’re heading in different direction. You still have one foot that stays stationary, but your overall trend is to a different way. And so, for freelancing you think of that as you’re pivoting by – you know you’re still doing freelancing, you’re still doing everything in your business the way it used to be, but the change is that you’re doing it with completely different technology or offering a different service around the technology. That’s kind of where I see it as you’re not really embracing kind of what’s in the past as much, like Jim wouldn’t be doing both design and development, if you pivoted. I think a bit harder line than just dabbling in something.
CHUCK: Right. So say you do decide to add iPhone development Objective C to your repertoire and you are still going to keep doing web developments in Rails, is that a pivot? Is it kind of somewhere between?
JIM: I would say no. I would say it’s not a pivot. I’d say it’s like an extension of your product line or something. Now, if you added Objective-C and still offered Rails but you weren’t marketing about your Rails. Like, it’s just like this is an item that’s on the shelf, but you’re not talking about it; I could consider that a pivot. I mean, people will come to know you as someone who does Objective-C who happens to know some Rails stuff too.
CHUCK: Right. Okay.
ERIC: Yeah and I mean we talked about this in the pre-show; pivot is a kind of a buzzword right now. There’s different definitions and different styles – I know a lot of people think of pivot as “throw everything out of the window and start from scratch”. And that is not really it was supposed to be, I think.
CHUCK: Yeah I’ll buy that. So are there any other gotcha’s other than maybe the possible financial, you know, where you quit doing one type of work, you quit marketing it and start doing another one?
ERIC: You could hate it. I mean you could go into – say you’re going to PHP and completely hate that environment and then have to either suffer through it or pivot back or pivot to something else, I guess.
JIM: Yeah there’s – you know, I used to be glad that I knew XSLT. I did a lot of work in XSLT. I would put it like on my resume. So that it was there and people could see that I could do it, but I never ever had to do that again. I’m fully pivoted away from XSLT.
CHUCK: Right. So, did you find a comparable replacement or did you just move away from the development and reacquired it all together?
JIM: I just moved away from development. We were doing a lot of XML parsing and changing it from one form to another and I just never needed that again. It was a big project for a government contract and it was ugly and slow terrible just like other government project tend to be. At least the ones that I’ve done.
CHUCK: It strikes me that the only thing worse than parsing XML is parsing it from XML to XML because you still have XML.
JIM: [laughs] Exactly. And using an XML-based language to do it.
ERIC: Using XML to parse XML into XML is probably the worst.
[All laughs]
JIM: I did that.
CHUCK: That sounds very meta.
JIM: Sounds terrible.
CHUCK: We’ve talked about all kinds of interesting pain today. You got the language that compiles through a language that compiles to machine code [laughs]. ColdFusion and what was it?
JIM: Oh and Access Database. Yeah.
CHUCK: Yeah. Oh man.
JIM: Yeah I don’t know .
ERIC: Technology is not all unicorns and butterflies. It’s like- some is really nasty to deal with.
CHUCK: So, I wonder then, was it more or less lucrative to pivot out on some of those areas? I mean I’m assuming you were paid pretty well to work with XSLT or to work with PHP?
JIM: You know, for me, I have the aptitude to understand programming even while I was just a lowly designer. I never really loved any of it. It wasn’t even “can I get paid enough?” It was “did I like it?”. SO once XSLT wasn’t needed anymore on the project, I was glad to be done. But you know, like I said earlier, when I came to getting with the Ruby, I was excited about it. I love teach thing people knew to develop and showing them Rails and after very short period of time, you can say, “Look, you can now store information in a database”. And their eyes light up and they are like, “Wow it’s amazing. It’s that easy?”
I think if we look at pivoting into new technologies with the same sort of excitement, I think that will be good. I haven’t put a lot of time to exploring other languages and technologies I’d like to, but I’m sort of been interested in iOS development because it could be lucrative, but when I talk to people about it they’re like, yeah that’s a really terrible and verbose language but you get used to it. There some people who love it, but there nothing been prod screaming. “Oh go learn it now. You are going to be excited that you know Objective C.”
CHUCK: I have to point out and I was driving towards this and you talked around it a little bit but in my experience there are exceptions to this. I just want to point out because there are areas that are both painful and extremely lucrative. And that’s why they are extremely lucrative is because nobody wants to do it.
JIM: That’s true.
CHUCK: Or nobody wants to do it anymore but in most fields, the more you like your job – it’s funny the more you wind up getting paid.
JIM: I think the same goes for the clients as well. As freelancers, sometimes we have clients who pay really well. There are times when you need that. And other times, when you have been through the ringer with the client and after a while, you look at the experience and say it’s just not worth all of that money. I’d rather find happiness somewhere else and hopefully to still pay my mortgage.
CHUCK: Right. And the other thing is, and we’ve talked about this on the show too as far as lifestyle design and things- is that, basically pass a certain point, pass certain ability to just pay all your bills and things like that. It doesn’t matter so much how much you’re making, as much as your quality of life and whether or not you like what you do.
ERIC: Yeah. What Maslow’s hierarchy of needs or something like that.
CHUCK: Yeah. Once you get high enough up, that then it doesn’t matter if you’re making 10 thousand, 20 thousand or 30 thousand more than you need to pay all the bills every year. You’re much more interested in the fact that you don’t hate your life anymore; because you’re spending eight hours working in a technology that you can’t stand.
JIM: Were we going to – I remember going to early RailsConfs, I think the first one I went to was maybe 2008 or earlier maybe it was 2009 I don’t remember. Back then, you hear a lot about how horrible Java was and people are moving from Java. You don’t really hear about it so much anymore because I think people hated that stuff of for the most least the vocal ones have. You could get a nice career doing Java work and you still can, but some people have moved on to other things. You know their lives are better for it.
CHUCK: Yeah. Absolutely. You know, it’s fascinating now rather than the Rails community talking about moving from Java, now it’s the transitions are from one company to another or you have these big companies and you have folks that used to work at this Rails Dev shop and now they’re working for Groupon. They were working for Groupon and now they were working for HashRocket or somebody. It just moves around. The transitions are more, more lateral as far as the technology, you know, its orthogonal to that; It’s what am I getting out out of my job other than the technology?
JIM: That’s probably something to think about maybe not as a freelancer but you know, there might be a place where you want to work and you know that they do, for example Relevance, I think they do a lot of Ruby and lot of Clojure. If you are a Ruby developer and you think, “Wow I really love to work in Relevance!” then maybe diving into Clojure would be a good career move for you. But there are things like that where you can look at different companies and say, “I think I really like to work there.” Or work with this person or that person and explore the technology that they are using, because it might give you that opportunity.
CHUCK: Right.
ERIC: Well, you can do that on freelancing. If you know a company that you want to work with is using a certain kind of technology, you can pick that up and focus on that. You can try to pitch on them or whatever, you might have a better chance and if you didn’t know that technology but you’re “willing to learn”.
JIM: Absolutely.
CHUCK: Yeah. So I’m curious. We have about five or ten minutes left before we have to do the picks. What technologies do you see people pivoting to? It doesn’t necessarily t just have to be on the Ruby community, but jut in general -I mean what technologies are people are picking up and getting excited about this days?
ERIC: I’ve seen a lot of movement to JavaScript both on server side with Node and also client side with JavaScript NVC type things. That’s good. I’ve played only few. It’s interesting. This goes back to my point of I don’t think it’s right for me right now. It just doesn’t feel as good as Ruby, especially server side, that’s a big one. The mobile stuff, just the underline mobile changes is actually causing Objective C. You know the JVM stuff for Android to kind of have a bit of popularity. I see a lot of people doing that. You can’t go to any top two Rails consultancy right now saying, “We do Ruby, Rails, Node.js and iOS stuff”. They all do that now. I think they’re just trying to get on that, not bandwagon but just the kind of the trend.
CHUCK: Well, especially with the tablet market out there. Everybody’s got a new one and that’s where the hotness is.
ERIC: Yeah. That could be a good thing. I got into Rails before Rails got hot and it paid off for me really well. It’s like a technology, education investment that has paid well. So, I think mobile is pretty good. I’d really like mobile web stuff and so that’s going to be big. I don’t know. I mean it’s hard to predict this kind of stuff. The nice thing especially of Rails is, I’m seeing a lot of the ideas that might come up in the JavaScript community kind of trickled its way back into Rails. So like Pjax or ***, those are some really recent examples that have come in the past few weeks. Those are really great ideas and it was like, “Wow this is actually JavaScript NVC into Rails server side stuff”. I don’t know if it’s necessarily like, “this technology is the new hot thing” but these ideas are going to make technology, in general, a lot better.
CHUCK: Yeah. I’ve seen a lot of movement from people toward some of the older technologies too. I know that Small Talk has gotten Resurgence and some of the Lisp variants. You mentioned Clojure as one that’s based on Lisp per scheme or something. But yeah, you’ve gone over most of the rest of the programming languages that I see people moving to. I think there’s still some movement out of some of the more established or establishment languages like Java and .NET and then to Python and Ruby. If you’re into those communities, you see a little bit more.
ERIC: What I’m seeing is those guys like .NET and Java are specifically, pulling a lot of stuff from dynamic languages like .NET got JavaScript recently and JRuby for Java is a big deal. I think it’s a lot more sharing. If you look back five or ten years, languages and technologies wasn’t sharing, as much like idea wise and now, it’s moving so fast. Pretty much it’s going to be it doesn’t matter what Saas you choose. You can still do all the same things. So, you can actually pick which ones make you the happiest.
CHUCK: That’s true and you also have things like the Windows phone. We were talking about mobile. When a Windows phone’s coming out, the .Net guys are- you know they’re getting a little bit of mobile goodies there and the Java I -mean the JVM is on the Android phones. So, you know, again, some of them are not necessarily pivoting the technology as much as the environment. I know there’s actually the talk at Aloha Ruby Conference that I’m looking forward to. I think it’s Matt Aimonetti and he’s talking about M Ruby, which is the Mobile Ruby language thing that Metz has been working on lately.
ERIC: Oh yeah.
CHUCK: So, it should be really interesting to see exactly where people might there moving up or down rather than doing web development in Ruby or dev ops working in Ruby when they move into mobile development is Ruby in Motion or MRB.
ERIC: What about you Jim? What are you noticing?
JIM: Pretty much the same things. You know, front ends JavaScript frame works. Ruby Motion, I’ve seen a lot people get excited about and I think it partly because we can stay within your bubble of Ruby and do high res apps. But definitely, mobile. For years mobile has been – native mobile development has been getting bigger. Just learning about Front-Ends Design as well seems to be at least – from what I can tell, more back end developers are scratching their heads thinking, “I really ought to learn responsive design and those types of things. I might not be able to do it well, but I want to feel comfortable on the code base” or something like that. I think there’s a back end developers are feeling sort of like a gap in their skills set, that they need to level up for Front-end work. But yeah, it is difficult to predict and you never know. I can’t imagine anybody years ago would have said, “Oh Ruby’s going to be really hot. Just wait until somebody makes a framework that everybody loves”. You never really can’t tell what will come of any of the exciting technologies out there. Someone might look on Clojure and get ideas and all of a sudden, PHP becomes awesome for some reason.
ERIC: They actually get a name space for other functions.
[Laughter]
JIM: Actually, there is a – I’m curious about what will happen to Perl 6 if it will ever see the light of day. There are a lot of cool technologies in there and things that Ruby can learn from Perl. I don’t think it would be a future, but probably because I say that then it will be. There’s a lot of languages I know a friend of mine, Brock Wilcox is a Perl developer from Arlington Ruby meet ups. He says he’s waiting for all the hipsters to get into Perl because nobody’s using it.
CHUCK: [laughs]
ERIC: Yeah. This kind of goes back to some program stuffs. Some of those early essays are pretty good about, you know, you use the technology because it’s going to give you an edge; whether that edge is for your company but if you’re freelancing. And if Perl gets some amazing features but only half a dozen people know about it, they could have an edge on stuff. I think Ruby had that when Rails came out. Ruby was pretty great before Rails, but when Rails came out, it showed everyone like, “Hey, look at all these stuffs we can do”. That’s something you kind of want to keep in mind. Maybe not for if you’re going to pivot, but if you’re looking at trying to figure out like, “Does learning Erlang give me some edge on something” like, “Could I use this in production in certain places” or “Is there an idea that I can borrow from it?” That’s kind of the bigger, long-term perspective of technology versus “I made a bet on this horse because I think it’s going to win the race”.
CHUCK: Right.
ERIC: But, I want to agree with Jim about the whole front end stuff. I have been picking up some responsive design. I’ve always dabbled with CSS and very, very basic design stuff, but I’ve been trying to fill up that part of me more because I have the back end side pretty solid and I have the dev ops solid pretty solid. And it’s like, the missing piece of my stack is the whole front end.
CHUCK: Right. I’m pretty proficient with the front-end. It’s the colors, shapes and layouts and white space and negative space and understanding how that all works together to make something look nice. If somebody gives me a PSD or a PNG that shows me what it’s supposed to look like, I mean, I can mirror that in CSS and it’s not too terrible. But when it comes down to actually hammering out the details on how to make it look that way, that is something that I haven’t learned to do. It’s something that I’d like to learn to do, but it comes down to priorities at that point so …
ERIC: Yeah. That’s also – Do you want to be “jack of all trades” versus “specialized”? That’s something to think about too. I know enough CSS to get me by, with the exemption of Selector Syntax just because that’s awesome and I love that, but when I work for client I’ll be like, “Yeah, I can tweak your design but I’m not going to build and design something for you”. Its way more efficient for everyone involved; just you get a designer or have someone design something and I’ll tweak it as we go if we need it.
CHUCK: Yeah. Absolutely. Anyway we’re about to the point that we need to do picks. Is there any other aspect of pivoting that you guys want to talk about before we roll over that?
ERIC: One thing I just want to mention, because this is what I did, is you are doing an actual pivot that where you’re changing what you’re offering, close out your contracts with your clients. Don’t leave them hanging. If you can get them to the best case you get them on with another freelancer, so there’s a smooth transition. But if you can’t do that, document how stuff was done. Help them close out the project. That’s like the client’s worse fear is that freelancer just says, “I’m not going to work of you. I’m going to leave.” So if you’re going to do a pivot, try to think about your clients with that. I think most people who are listening to this podcast and most people who do freelancing professionally understand this, but I just want to reiterate that point.
CHUCK: Yeah. I totally agree. All right, let’s do the picks. Eric, what are your picks?
ERIC: So, I already mentioned at the beginning, my first pick is “The Business of Freelancing” podcast I started with Brennan Dunn. We have two episodes up and we’re doing that every week or so. We’re in iTunes. You can search for “the business of freelancing” or you can go to our website businessoffreelancing.com and subscribe there.
Then my second pick is a post from the “Signal versus Noise” blog, which is put up by 37 Signals. It’s called, “Automating with Convention: Introducing Sub”. Sub is an open source kind of wrapper for the terminal to kind of run commands. I think as it is, it’s not very useful but what it’s really useful for is if you have a bunch of scripts or you miscellaneous tasks you do in a command line. You can use the conventions that sub give you to kind of built a suite of apps. So, if you use Git or Subversion, you have the main Git’s version binary and there’s subcommands and all that. This thing -the sub—I’m not going to call it a library; I don’t know what it is. The sub actually kind of makes it easier to build that sort of thing. I haven’t use it yet but I’m planning on because I’ve probably have about a dozen scripts and a folder that are backup hyphen and then some server name or ssh hyphen and server name. So, it’s kind of disorganized mess but by using sub, I can actually consolidate all that to a standard convention and then make it really easy to maintain. Actually have documentation and all that. So it looks pretty neat. I haven’t tried it. I’ll probably give it a run next few weeks or so and try to cut down all the tried one-off scripts I have.
CHUCK: All right. Jim, what are your picks?
JIM: In the interest of pivoting, I don’t know if you guys have heard of “Adhearsion”. It’s a framework for building voice applications and it’s sort of like the Rails for telephony. It’s not Rails, but it’s a Ruby framework that allows you to build applications on top of your voice systems. My old partner and I, when we had an office, we built on top of- gosh, I can’t remember the name of the– Asterisk. We build on top of Asterisk. It was fine. I’ve heard great things about Asterisk. I was always reviewing the book on it but I always wanted to dive on Adhearsion. I sort of had that at the back of my mind. Eventually, I will build an Adhearsion app and play with it and see what it can do.
Then there’s a book that’s been written by Noal Gibbs and it’s called, “Rebuilding Rails”. It’s not finished yet but I love what his doing with it. And I find that often, a lot of new developers anyway will dive into building a Rails app and some problem arises and they go to Google to get the answer and see if it’s there or stackoverflow or something like that. “Rebuilding Rails” is a book about understanding Rails better by trying to rebuild it. What if I needed to write an ORM? What should I do? It sort of walks you through how to do that and kind of guide you to the path of how Rails work. I think it would be a great companion. I don’t really see it as a book that I would read all the way through, others have and I know they like it but I would kind of keep it by my side. I would run into a problem and look it up like, “What’s actually going on here?” It may not be the actual code. It may help my brain in the right frame of mind for understanding the bugs that are on it too.
And then, lastly heckle version 2 – I think the beta release came out early October. Its a testing mutation library. So, if you’re running your test and you want crazy things to happen to make sure you’ve caught exceptions and strange errors in a way that perhaps might arise like a wrong input comes in from the users or something like that. Heckle will help you track down what happens when unexpected things happen in your code.
CHUCK: I like Heckle. It’s kind of a neat tool. All right. Well I’ll go ahead and put in some picks. My first pick is “F.LUX”. What it is, is It’s an app for your Mac. It dims the screen and changes the color a little bit at night, so that it’s not so bright. It really helped kind of relax my eyes last night while I was doing some work late. I was putting together my talk — finalizing this for my talk at Aloha Ruby Conference and a few other things. It was just nice because I didn’t feel like I was staring at this bright screen while I was up late. I’ll put a link to that to show notes.
I think that’s all the picks I really have right now. I’ve kind of been slammed working on this stuff. I haven’t had a lot of time to put together a list of picks. I need to do that. But anyway, we’re going to wrap this up. Just w a few items I want you to remind of; first, go and check out “The Business of Freelancing” podcast that Eric is doing. Is there a URL for that, Eric?
ERIC: Yeah. It’s just “businessoffreelancing.com”.
CHUCK: Awesome. And then go sign up for the “Intro to CoffeeScript Course” at introtocoffeescript.eventbright.com. We’ll wrap this up. We’ll catch you all next week. I’m not going to be there next week, I’m actually being at – I’m going to be flying back from Hawaii, but Eric said he could record for me. So, we’ll get it recorded and get it put up.
ERIC: Yes. You can buy me for the audio quality at that point.
CHUCK: Right. Well, I guess were done. Thanks.