An Interview with Jason Lengstorf

In: web resources

23 Dec 2009

Jason Lengstorf is a professional web developer who specializes in PHP and jQuery applications. He’s the author of the recently released PHP for Absolute Beginners, which is an expert’s voice in open source. Additionally, he co-authored an eight-part tutorial on Creating a Web App from Scratch with Chris Coyier. Join us as we discuss web development, PHP, and his life in general.

1. Many of us may be familiar with you because of your book: “PHP for Absolute Beginners.” For those who are unfamiliar with you, can you tell us a bit about yourself and your life?

In a nutshell, I’m a PHP developer based out of Missoula, MT. I run a company called Ennui Design that specializes in small business and individual website development. I’m also into front-end development, which I do primarily using jQuery.

I’m 24, and I’ve been working in web development for about six years, and I’ve been developing full-time for about a year and a half now. I’m completely self-taught, so I owe my career to the blogosphere and the great folks who are always helping out on forums like W3schools and the like.

I also try to write, and I’ve written a couple articles around the web for sites like Smashing Magazine, CSS Tricks, and Nettuts+, as well as for my own blog on Ennui Design. Earlier this year, I got the opportunity to write a book for Apress publishing that came out in October, called “PHP for Absolute Beginners”, and I’m currently working on a new title for Apress called “Pro PHP and jQuery.”

2. How did you get started in web development?

I got started in web development out of necessity. When I was 18 or 19, I played in a band, and we needed a website. When we started looking at pricing, we realized there was no way we could afford to have one built for us. So I told the rest of the guys, “Well, I think I can figure this out.”

I got on w3schools (after searching “how to build a website” on Google) and worked through the HTML course, after which I was sure I was an expert web designer. So I built this awful, table-based website, complete with iframes and all inline styling.

When I got done with it, I thought to myself, “Well, that looks terrible.” So I built it again. And again. About fifteen or so rebuilds later, I had learned a little about CSS and JavaScript; the sites started looking a bit better and I felt fairly comfortable building them.

Right around that same time, a couple friends of mine needed websites, and I offered to build them for free. I did, and they were both happy with them, but I realized that maintenance on their sites was really cumbersome. That’s when I got into PHP, because I needed a solution that would allow for easier maintenance.

Since I didn’t know anything about content management systems or that there were existing CMSs available, I ended up rolling my own. It was full of holes, clunky, and feature-poor, but it did the trick, and I loved building it. I spent 14 hours a day in my favorite coffee shop tweaking it and rebuilding it.

After my two friends’ sites launched, I received a call from my first real client, and realized I could actually make money building websites. I spent four years trying to get good enough to build sites full time, and I finally hit that goal in Fall 2008, when I quit my day job at a FedEx Kinko’s to work full-time on Ennui Design projects.

3. What is the best way to learn PHP – and how was your experience writing this book?

Learning PHP is like learning any language. Yeah, you can do a bunch of exercises that don’t have real world application (”Repeat after me: ‘Cette espadon est glissante! This swordfish is slippery!’”), but that only helps you memorize concepts. I think you have to really immerse yourself in real world uses of the language so that you can see how and why it’s used.

That’s the approach I took when writing “PHP for Absolute Beginners.” We cover the basic concepts, then immediately build a real-world project (a very basic content management system).

Writing the book was great for me, because it forced me to defend my approach in development. I had a technical, editorial, and project reviewer, all keeping an eye on how everything was put together, which put the pressure on to do everything the right way, with no shortcuts. Learning to just do it properly the first time was a good lesson in patience for me. It will also help me when I’m working on future projects with collaborators, because I now have a better grip on writing self-descriptive code, including better inline documentation, and justifying my programming choices with concrete reasoning.

4. Recently, you co-wrote an 8-Part series called “Creating a Web App from Scratch” with Chris Coyier on CSS-Tricks>. What was that like?

Chris Coyier is the man, hands-down. I’m a workaholic, but that guy manages to make me feel like a slacker with the amount of work he produces consistently.
The tutorial series was a great way to force myself back into blogging (because I’ve been slacking lately), and an opportunity to give another real-world example to beginner to intermediate level developers. It’s one thing to explain a concept, but an entirely different beast when you’re attempting to explain a concept in the context of a real-life production site.

The comments we received were really helpful, because it showed us pieces of the app that we hadn’t thought of, like some security holes that we hadn’t considered and features that would really enhance the app.

That series was one of my favorite tutorials I’ve ever worked on, and I hope to put more of them together along those lines in the future.

5. Can you provide us with any information on your upcoming book, “Pro PHP and jQuery”?

Pro PHP and jQuery is going to be for intermediate to advanced PHP developers who want to become familiar with jQuery’s capabilities. It’s going to cover the creation of an AJAX-powered events calendar that’ll have a bunch of features like tooltips, file uploads, drag-n-drop ordering of events and photos, and other useful concepts.

AJAX is really powerful, and it allows developers to create web apps that feel like desktop apps (because they don’t have to reload all the time, etc.). The rise of jQuery and similar JavaScript libraries has made all that AJAX functionality really accessible to developers, and my goal with Pro PHP and jQuery is to bring the reader up to speed with building top-notch web apps.

6. You are owner of Ennui Design, which offers custom web development. What’s your day-to-day like?

As I mentioned earlier, Ennui Design is the company name under which I do my freelance work. I’ve tried to become a one-man army of sorts by offering top-to-bottom site development, from art and design to customized content management systems. Recently I’ve started to take on clients who need custom applications, and that’s been a lot of fun.

As of this month, I’m expanding Ennui Design and trying to build a network of fellow freelancers to help me handle my client load. I just brought on Drew Douglass recently, and I’m really excited to be working with him. I’m still looking for a front-end designer to help me with artwork and PSD-to-XHTML conversion, so if you know anyone… :)

7-What is your favorite web application framework and why?

Because I never knew that web application frameworks existed, I never learned any of them. I subscribe to the concept of multi-tiered architecture, and I’ve even written an article about it for Nettuts+.

I’ve looked into other patterns, like MVC, and I think they’re great, but I try not to get bogged down in programming dogma; if it’s easy to read, easy to maintain, and DRY for the most part, I consider it to be good code.

8. Can you tell us a bit about your personal projects?

Currently, I’m working on getting my CMS ready for an open source release with Drew Douglass and a few other friends. I’m also planning on developing a version 2.0 of Colored Lists with Chris Coyier (the app we built in our 8-part “Building a Web App from Scratch” series).I’ve also got a few jQuery plugins that I want to tidy up and release sometime in the future.

I recently decided to try my hand at product design as well and launched an apparel company called Humblecock with a couple close friends. We wanted high-quality, ultra-comfortable shirts for ourselves, and we decided that the best way to get them was to make them ourselves. It’s a brand new adventure, and I’m having a blast with it so far. It was one of my favorite websites to design, and it was really cool to design physical products.

My blog, unfortunately, has fallen victim to my overloaded project schedule. Between my client load and deadlines with my publisher, I’ve had very little free time. However, with the addition of Drew and (hopefully) other freelancers to the Ennui Design network, I’m hoping to have more time to blog again.

9. What are your favorite online resources to stay up to date on the web development industry?

I try to keep up with as many blogs as possible, really. If I’ve got a spare moment I’ll try and power-read as many articles as I can to see if any new developments are directly affecting any of the work I’m doing. Some of the sites I frequent are:

Chris Shiflett also has a lot of good articles on security in his back catalog that I use for reference regularly.

10. What’s your opinion on WordPress and Drupal?

I’ve barely used either, so I don’t think I’m really qualified to answer this question.

11. When working, how do you concentrate while writing code, and what is your favorite code editor?

I generally work at my home desk when I’m doing any kind of writing or heavy development. However, when I need a change of atmosphere, I’m known to haunt a local coffee shop (I actually spent so much time there that they had me build their website ).

I use XAMPP, Eclipse, and Firefox (with Firebug/FirePHP/Web Developer Toolbar) for the majority of my development. Eclipse is Java-based, but it’s also open source and has support for everything I’ve ever needed. I’ve briefly played with a few other IDEs, but it would take a pretty solid argument to convince me to switch at this point.

12. What do you think the future holds for PHP?

In the immediate future, it holds great news like anonymous functions and namespaces (with the adoption of PHP 5.3). I can’t wait until there’s wide enough support by the hosting companies to start using them. :)

On a less specific level, I think PHP and other “web” languages are going to start becoming more and more relevant for serious development. The whole world is moving online, and web apps are beginning to matter just as much as native apps, if not more so. I’m excited to see what’s next for PHP.

13. Any code pet peeves?

Personally, I hate to see code that sprawls. It really bothers me when code is written as a long string of actions instead of chunked up into small functions or methods that handle one action. That lack of separation leads to incredibly bloated, difficult to maintain files, and there tends to be a lot of repetitive code. It just begs for errors when you have two chunks of code that do the exact same thing.

In general, I just wish everyone would code like there was someone else working with you that needs to understand what the hell you’re talking about. The arrogance that leads someone to think, “If you’re not smart enough to understand how my code works, you shouldn’t be in my source code,” really bothers me; I think a better question is, “If you’re not smart enough to write clear code that any functional developer can understand, you shouldn’t be talking down to anyone.”

14. What type of music do you like? Any hobbies?

I grew up on country music, then started listening to Top 40 stuff as I got a bit older. I got introduced to metal, then punk and hardcore, then hip-hop, then folk. I found some good in all of it, but I listen to mostly folk/alternative and hip-hop now. I spend an inordinate amount of time listening to music, and I track it all through Last.fm.

I stay pretty busy, so I don’t have too many hobbies, but I make an effort to keep them non-geeky (I mean, at some point I’m going to need to impress the ladies, right?). I lift weights a few times a week, and I like cooking. I’m also a big time beer lover, and I love finding new microbrews and specialty beers (especially stouts and porters). I brew my own beer every month or two for fun, which is way more fun than it sounds. Plus, there’s nothing better than drinking a beer you bottled yourself. I try to travel as much as possible, also. I’m planning a couple road trips that pass by some of my favorite breweries in the spring, and I’m hoping to get out of the country next fall and hang out in Europe for a bit.

15. What are your future plans?

If I get everything I’m hoping for, I’ll be doing a little less in terms of freelance work and focusing more on the teaching aspect of programming. I’d love to continue producing in-depth tutorials alongside influential bloggers in the community, like Chris Coyier. I also hope to start speaking at conferences in 2010, if I’m lucky enough to get the opportunity.

Apress has been great, and I hope to continue writing books about web development. I also want to get back into writing articles for sites like Nettuts+ (I haven’t forgotten about that article, Jeffrey! I promise!) and regularly blogging on Ennui Design.

I also want to try and grow Humblecock as much as possible, if for no other reason than I want to be able to make exactly the clothes I want to wear.
And at some point I’ll have to grow more of a social life and start dating. My mother will have a heart attack if I keep coming home alone for Christmas. :)

Thanks so much for your valuable time, Jason! It was a pleasure to talk with you!

Ready to take your skills to the next level, and start profiting from your scripts and components? Check out our sister marketplace, CodeCanyon.

CodeCanyon



Go to Source

5 Responses to An Interview with Jason Lengstorf

Avatar

davidsnoodles

January 27th, 2010 at 7:41 am

Well for Verizon, Unlimited Web Browsing usually means its tied into business stuff like Enterprise Servers. The data plan is usually just for regular consumers. The more expensive plan is the one that is tied into business stuff. They are the essentially the same when it comes to browsing speed and the types of websites they open.

Avatar

Mutt

February 16th, 2010 at 8:38 am

I don't know what "kankas" law is, but if you mean KANSAS law, can you be more specific about which law?

Without knowing this, the only difference I know of is Kansas law is state law, and is only enforceable in Kansas, while the Adam Walsh Child Protection and Safety Act is a federal law, and enforceable nationwide.

*EDIT* – Technically, Megan's law is a state law in Washington. Some people call the Jacob Wetterling Act "Megan's Law", but that's not really correct. They are basically the same, but the Jacob Wetterling Act is federal.

Adam Walsh Act kind of expands on these two by setting up a 3 tier system for sex offenders and how long they must register for (tier 3 is the most likely to re-offend and must register for life, while tier 1 is the least likely to re-offend, and has to register for 15 years). It also sets up a national database and DNA registration, along with many other things.

Avatar

malva

February 16th, 2010 at 8:20 pm

An event to honor the novelist Amy Tan captured San Francisco literary life in a nutshell, especially its sense of community and school spirit.

Avatar

bungiebabe

March 21st, 2010 at 10:19 am

Cos they give you unconditional love I guess hun!

Avatar

Clay D

March 21st, 2010 at 2:51 pm

hey Cool I live in eureka, mt. I think u can check into the planned parenthood place and they can help u locate an agency.

Comment Form

About this blog

This blog delivers stylish and dynamic news for designers and web-developers on all subjects of design, ranging from: CSS, Ajax, Javascript, web design, graphics, typography, advertising & much more. Our goal is to help you communicate effectively on the web with an engaging website or functional interface.