Matt and Charles keep Brandon Farber pretty busy these days, but even so he managed to find the time to answer some questions for an Admin Zone Interview!
Can you tell us a little bit about yourself?
I'm 23, married, and I have two kids (ages 2 and 4). I was born in upstate NY, but moved to Jacksonville FL when I was 15, where I met my wife a year later. I spend a lot of time outside of work doing things for my sons, as most fathers would.
What is your educational background?
I stopped going to a traditional high school when I was 16 because my wife (girlfriend) became pregnant, and completed high school at age 17 through a home schooling program. Shortly after I completed high school, I enrolled in college where I graduated Valedictorian of my class, earning an Associates Degree in Electronics and Computer Technology.
What do you consider to be your accomplishments?
My family is my greatest accomplishment. I don't know what I'd do without them now.
Any failures you'd like to tell us about?
Nothing of interest, at least that I can think of. I can't recall failing at anything that I really wanted to succeed at.
How did you first get into coding / programming?
I got into making login screens for Windows XP a while back and after I had made 30 or 40 I decided I wanted to host them on a site. Around the same time I was working 6:30 PM till 3 AM and at work (in between tech support calls) I started learning basic HTML. While my free site was in its infancy, I downloaded a program (which has grown outdated now) called phpdev, which ran a WAMP combination on localhost. With it, IPB 1.2 was provided. I liked how it worked and soon got a copy of 1.3. I setup a site (which I no longer own) to host login screens and visual styles for others who enjoyed XP Customizations. As I did this, there were features missing (like a download system to host the files) that I wanted, so I got involved with Invisionize at the time. I started using a copy of a download system by Sno (which was originally coded by Parmeet) and eventually just dove into the code to learn it - I had no formal training, so the only way for me to learn it was to open up the files and sift through them. I had questions, and Parmeet answered most of them (involving changing code) which really helped me get started. PHP isn't so hard to learn if you take the time to do so.
Eventually I got to the point where I could alter the code with little or no assistance. I read php.net's docs completely around this time, and read the basic SQL syntax documentation from MySQL.com. Over time, I just got better and better. I'm still improving.
What advice do you have for people looking to get more involved with coding?
It's easy - jump right in. Modify existing things at first, like I did. Install a mod, and if you notice it's not working properly, try to find out why. Ask questions, and read what's on php.net in the documentation. PHP is viewable source (for the most part, save any encoded products) and doesn't need to be compiled - it's easy to download scripts, open them up, and look at them. Another thing that can help you understand how things work is to install existing mods (especially simpler ones) - look at the existing code, and the new/modified code, and find the differences...those differences cause the software to behave differently. When you do this enough times, you understand why that is.
How did you become involved with IPB and how did you come to be on the IPS staff?
I got involved with IPB when I got involved with coding basically - I became a modder in the IZE community when I was good enough to do it on my own, but didn't really post or visit the company forums much. IPS had a job opening posted last year around the time I decided I wanted to get out of my current job, and quite frankly it was the perfect fit for me - php developer, working on the software I had already been doing paid custom services for (independently of IPS). I was spending 9 hours a day at work, and another 5 hours a day coding - and then coding all day Saturday and Sunday, to bring in some extra cash. I figured if I could work for IPS and just code during the day, I could reclaim my social life, at least a little. I interviewed with IPS, and a month or two later they decided to hire me. It involved moving, but in the end it was the best decision for myself and my family.
How long have you been with them? Is it your fulltime job?
I was doing some custom services for them after my first interview last year in August, and moved here to Lynchburg VA to work for them fulltime in mid-September.
Yes, this is my fulltime (and only) job.
What is your official title / job description?
I'm a developer. I co-develop IPB with Matt now, I wrote Invision Download Manager for scratch (which can be purchased in the client area if anyone is interested), and I am taking over Gallery once we're done with the latest version of IPB. I also do all of the advanced technical support for IPB and Gallery, I do some custom services, and I'm in charge of IPS Beyond (http://www.ipsbeyond.com).
What specific parts of IPB are you involved in coding?
I'm involved with it completely at this point. At first, when I was doing basic tech support, I was finding solutions to bugs, and eventually Matt and Charles decided rather than just filter them to Matt, they gave me subversion access so I could fix them directly in the base code. The first point release I worked on was 2.1.2, and have mainly only fixed bugs through the 2.1 series (no new features or anything like that). Now, working on the next version, I've been working on a lot of new features, tweaks, optimizations, and of course fixing any bugs leftover from the 2.1 series.
What about other IPS products?
I wrote IDM (Invision Download Manager) which is a download management system that can be purchased through IPS, and I'm taking over development of IPG (Invision Power Gallery).
How do you attack large coding chores - in long sessions or do you break it up? Do you drink a lot of caffeine? Do you listen to music while you work? Do you get more done in the morning, afternoon, or night?
For work related activities, I code throughout the day, though I tend to work on tickets in the morning and work more on the products towards late morning through afternoon. I code at home on the weekends in the morning too, but I rarely code at night these days. I drink 4 cups of coffee in the morning, so you could say I intake a lot of caffeine. I don't listen to music typically - unless I'm at home, and only rarely then.
Typically, for large coding jobs, I just jump right in and try to get as much done at once as possible. As you are coding you might think of a way to change something, or want to optimize another section after changing something, and I find breaking up the work tends to make you forget some of the smaller things you want to do.
Which PHP editor do you use?
Crimson Editor (freeware)
What's it like to work with Matt? How about the rest of the IPS Team?
Matt's great - I feared him initially, as I figured he'd be somewhat protective over changes I make to IPB and the like, but he's really easy going and easy to talk to. The rest of the IPS Team is the same way - moving here wasn't like starting a new job at some corporation as you might expect it to be - it is almost like a bunch of friends working together towards a common cause. I couldn't ask for a better work environment.
Tell us about the Invision Community members.
I'm not sure what you mean by this - for the most part, everyone I've been involved with (either as a coworker, or in an employee-customer relationship) has been great. On the forums (both the company forums and the support forums) you have a mix of those who don't know how this kind of thing works too well (servers and php software) and those who know it very well, and you find it's a nice balance typically.
Are the IPB Support Forums difficult to manage?
Not really. They're still relatively young, but there haven't been too many problems so far thankfully. There is a lot we want to do with the site eventually though, and the more you do to a site, the more work it ends up being typically.
Just how busy do you guys get after a major release?
Very busy. I work out of the Advanced support department, and I haven't been here for a major release yet (only point releases involving bug or security updates). But I know after some of those updates there was upwards of a few hundreds tickets, with only a handful of employees. A lot of times it's just something simple, but it doesn't make it any less hectic and busy.
Are online communities an important part of the internet? Of life?
Of life - that's debatable. I firmly believe there is more to life than a computer, and everyone should spend some time away from the computer in the 'real world'. But they do serve a very important service, and can be quite versatile in serving that purpose - from allowing internal employees at a company communicate amongst themselves to allowing people sharing the same interests from around the world chat. The internet would not be the same if we didn't have online communities.
Tell us about your own community.
I'm largely only involved with IPS Beyond now. I used to run bfarber.com, but eventually sold it due to lack of interest (and a need for money at the time). I've started a couple of really small modding sites since then, but nothing I've ever grown or wanted to watch grow. I have enough to do and enough communities to work with that I don't really have much time to manage my own right now.
How would you describe your moderation style?
I'm very lax - I give several warnings typically. I don't jump to conclusions, and will usually look for common grounds in a disagreement. I don't tend to close topics right away (or delete them) and I believe most members have an easy time coming to me with problems on a site.
What are the most common technical mistakes you see admins making?
This is difficult to answer - for the most part, admins that aren't technically inclined have us install the software for them, and they don't have to deal with the technical side of things. I do see a lot of servers, however, that have every php and apache module under the sun loaded when looking at their phpinfo output - this is unnecessary and will bog the server down a lot more than if only the modules your site uses are loaded.
What are the most common administrative mistakes you see admins making?
Installing too many mods - I see this time and time again. An admin installs IPB, thinks it's great, but wants more. Before they know it, they have an arcade, a links database, a downloads database, Gallery, Blog, army systems (and 9/10 times this has absolutely nothing to do with the site's theme) and one hundred million other sections to the site that make no sense for what the site is supposed to be there for. A lot of times an admin sets up a CMS or some other front end to the site, and then the forums don't look anything like the front end of the site - it feels like a completely different site. I've always felt it important to tie in your forums with the rest of the site through your layout and skinning.
Also, sites that have no specific theme tend to be boring, misguided, and without direction - and there seem to be a lot of sites that pop up wanting you to talk about 'anything'.
I see some admins very overzealous with an attitude kind of like "It's my site and if you don't like it leave" - you don't attract members with an attitude like that, and those sites typically fail pretty quickly.
What are your thoughts on IPB 2.1?
IPB 2.1 introduced a lot of neat things for IPB, and I believe it will only get better moving forward.
What would you like to see added or changed in the next version?
I can't really answer this, as I'm already working on the next version. Mostly, I cater to the members - what the majority want, we tend to work that in.
Please describe your typical weekday schedule? Weekend?
Monday's I get less done than other days, because there are usually a bunch of tickets built up for me to handle (and some of the tickets I work on take a long time to handle). Usually, though, in the morning (9-12 or so) I will clear out any tickets in the advanced department, and after lunch I work on IPB features and bug reports. On the weekends we usually go shopping on Saturday (grocery shopping, rent movies, things like that) and on Sunday my sons and I often go swimming. I get on the computers at home in the morning, but throughout most of the day I try to spend that time with my family.
What is your ultimate career goal / dream job?
Ultimately, I truly love my job now. I'm really not interested in running my own business or having to deal with any of the politics involved with that. I'm not extremely interested in managing, though I wouldn't mind as IPS grew in size, to be something of a project team leader, or something of that nature. Right now there's a limited number of developers, and we all work on our own products (except for IPB, which Matt and myself work on together now). But that may not always stay the same.
How do you see the internet in general changing over the next 5 to 10 years? What about online communities in particular?
The interest is totally unpredictable, so I can't say. Online communities won't change, that's for sure. Though I suspect new markup standards, browser technologies, and changes to current protocols will introduce new ways of handling events and actions. An example could be instead of typing out a reply to your post in a quick reply box or in a textarea, you might speak out your reply into your computer's microphone and that will be entered into your form for you. Things to make life simpler.
What are your thoughts on blogging? Do you have a blog?
I have a blog that I don't maintain much - occasionally I give an update about the portal modification I'm working on (which I haven't worked on in a while) or about something going on in my life (such as me buying a house later this month). In general I'm not a daily blogger though. I never was really interested in blogging, and in general, don't hold a huge interest in it now. Many of the things I work on day-to-day for IPB I can't release publicly yet anyways, so I'm the type of person that doesn't want to 'talk' if there's really nothing to say.
What are your favorite books? Movies? TV shows? Music? Games? Foods? Beverages?
Books - anything by Dean Koontz. I have almost every book he's written on paperback
Movies - The Matrix Trilogy, "The One"
TV Shows - Smallville, One Tree Hill
Music - Eminem, Bone Thugs N Harmony (I listen to rap/hip-hop)
Games - Fable for XBox was my favorite game, but since I've beat it I'm waiting for a new version. I like 'Command & Conquer: Renegade' a lot too.
Foods - Tacos, Chicken Quesidallas, China Pepper Steak (family recipe)
Beverages - French Vanilla Cappucinos, Smoothies
What websites do you visit on a regular basis?
Those are about the only ones I visit on any sort of regular basis.
What do you do for fun and relaxation?
Go swimming or watch movies - I spend a lot of time watching movies.
What do you know now that you wish you’d known 10 years ago?
Ten years ago I was 13. I can't think of anything I know now that I wish I knew at 13. I wish I knew I'd be addicted to cigarettes if I started smoking so I would have never started in the first place I suppose.
Tell us something about yourself that we don't already know.
I'm very very credit conscious (hence why I visit creditboards.com regularly). I ran into credit problems several years ago, and it has taken me a couple years to recover. I can name sections of the FCRA and FDCPA, and tell you things about credit you probably never even thought of. It is probably my biggest hobby outside of coding (Lindy and Charles can attest to that).
What does the future hold for Brandon Farber?
Who knows - let's hope it's something good.