It's the start of a new month and, as is the SitePoint forums' tradtion, time for us to announce the winner of April's Member of the Month award!
This month we present the award to [xMog. His high-quality posts and thoughtful explanations in the PHP forum caught our attention (and recently won him [URL="http://www.sitepoint.com/forums/showthread.php?1201138-Here-s-another-guy-that-deserves-a-medal"]recognition for an outstanding post](http://www.sitepoint.com/forums/member.php?436347-xMog)).
I interviewed xMog to find out more about this longtime member, who is certainly no April Fool!
1. Congratulations on winning the Member of the Month award for April, how do you feel?
I'm not the best programmer in the world, but I have a couple of years of experience and helping people take time, so it's nice to see that my help is appreciated.
2. Can you tell us a bit about yourself?
I grew up in a small town in Quebec, Canada (a village really). There wasn't much there except nature (which is still nice). I went to school without much trouble and then straight to college in CS. Then, I found my first job as a professional web developer here in Montreal. I'm a Montrealer since 2001.
I hate the Canadian winter, I love sushis, I like cities, but also the nature. I have a passion for the Web and I like to travel.
3. Your blog mentions that you live in Montreal, Canada. What's it like living there, and are you one of the French-speaking Canadians?
Montreal is a great city to live in, IMO. Not too big, not too small. I don't need a car and I can bike to my job (but not in winter of course).
In summer, we have a lot of festivals: free outside music shows, free outside concerts, free outside movie theaters... The list is endless and there's always something to do.
Winter is another story. I really don't like the winter in Quebec / Canada, it's cold, there's a lot of snow. So, in winter, I transform into a bear and I hibernate all those 4-5 months.
And yes, my mother tongue is French. I can't hide my accent when I talk, it's obvious And sometimes I write weird sentences in English because of some bad "translations" happening in my head. But I'm getting better at searching Google to validate what I write. And I still have some problems with the "s" and with "verb tenses".
I think that people speaking English should come in Quebec (not just in Montreal), it will be "different" for them with the French language everywhere and we have beautiful scenery too. And Quebec is a nice city as well. But don't come in winter!
4. You've mentioned before that you've been working with the web for a long time, how did you get started?
My first encounter with the Internet was somewhere near 1994. I was a teenager then. Somebody gave me a 14.4kb modem (something like this) and I was allowed to use his Internet account after midnight until 8 am as it was free. I spent a couple of all-nighters hooked on the Internet.
Somewhere around this time, I started to learn programming by myself. I made a couple of static websites (it's a good thing that I don't have them anymore, they were probably really ugly) here and there and coded with the IRC client mIRC (you could created a lot in that software).
We can say that I found my passion, so I studied computer science (it was a no-brainer). I went out of school in 2001 and I started to work here in Montreal. The Web wasn't a really big thing in 2001, but I liked it anyway and found a job in that domain.
5. Having been involved for so long, do you have any thoughts or predictions about the future of the internet, especially from a development point of view?
I'm not THAT old , but being involved in web development since more than 10 years is not common either.
Well, 10 years ago, there were no "front-end developers" (well I didn't hear of it if they existed). And, we were developing for desktop, that's all. A big debate was whether we should make our websites "optimized" for 1024 pixels or the old 800x600 resolution. Now it's impossible to count all the different resolutions with the mobiles, tablets, phablets, phones, desktops with 21 inches monitors.
Also, accessibility wasn't something considered important (and some people didn't even know about it). Now, more and more laws are starting to pop-up here in there around accessibility. In Canada, the province of Ontario has a law about it. If we make websites for the Quebec government, we need to follow a "guide" about accessibility. So, it will start to become the norm in a couple of years. There are still a lot of unaccessible stuff out there (stuff made with Ajax are hard to be accessible, a lot of JQuery libraries aren't accessible, etc.), but it will change. I guess it's a good thing for the developers, it will give us more job
The visual aspects of websites is also starting to become even more important than it was. Parallax, carrousel, tiles with different designs, pages with crafted design especially for the content...
Then the mobile development with apps using APIs, the SEO, SEA, node.js, cache systems (like Varnish, Memcache), Queue servers...
It's not really a "prediction", it's mostly a trend like we can all observe, but the web applications are more and more complex and we'll probably assist in new jobs being created (or at least more popular) and more specialization. IOS programmers, Android programmers, accessibility specialists, API/web service programmer, Front-end animator maybe?... who knows! In summary, we won't have trouble finding jobs for the next decade in web development.
Also, the "traditional" companies that sell stuff in brick and mortar shops are going to have a bad time if they don't make the jump on the Web (and the right kind of jump). Amazon is selling anything and it's cheaper than everywhere else for the moment, so either these companies just wake up and do something about it, or they die slowly. So far, they are dying. I like Amazon, but I would be sad if it becomes our only option to buy stuff.
Another trend I saw was the slow down of computer power. I have the same computer for 5 years and it's still running OK with 8 GB of RAM. It's probably due to the mobiles winning in popularity? Maybe we are on some kind of plateau at the moment, we'll see in the future
6. Do you have any advice for beginners or people considering a career in web development?
First, web development isn't for "nerds". The job isn't to code 10 hours a day without talking to anybody. If you think you're not "smart" enough to code, you're wrong. I've seen guys way more intelligent than me at programming not being able to keep jobs because their lack of social skill. They could program a Shell sort by heart, but they couldn't communicate. They would probably be good for coding R&D in a lab at the NASA or something, but not for doing web development. So, anyway, if you're not a math genius, don't worry about it.
And, maybe try to write a simple mobile app (on android or XCode). Then, add a PHP web service to that mobile app.
After that, you will have an idea of mostly everything a web developer could do. You just have to choose what you prefer. Front-end, back-end, mobile?
It seems like a lot and would probably take someone at least 6 months part time to acheive that (maybe a year?), but the foundation would be rock solid. I didn't started like that and I wish I did.
7. Although you often post in the PHP forum, I understand that you also know Java and C#. Has being familiar with other languages influenced the way you write PHP?
Yes. Well, the most experience I have is with the Java language. I coded with Java for 8 years (or maybe more). It's hugely Object Oriented, so it helped me grasp the concepts and design patterns of OOP. Also, I find it easier to write more maintainable code in Java than PHP (for a lot of different reasons), so it really helped me to recognize good maintainable code in PHP too.
There's also a lot of advanced concepts in Java that are more often used than in PHP (dependency injection for example), so it's nice to know those concepts before diving into PHP where some tutorials and examples are really basics.
8. To be a little controversial, opinion on the web seems divided over whether PHP is dying, or is finally maturing as a language. Where do you stand?
One of the problems with PHP is that it was built on a good foundation, but not a GREAT foundation. It was built for the web 20 years ago! Also, there was a lot of weird function naming and no conventions that we often read about, but it's really better now. That was like 5 years go. And, now with HVVM, APC, caching servers, composer, PHP-FIG, great frameworks... PHP is starting to be a better choice for enterprise development but can also be really simple if you want to.
To answer your question, it will probably die in a couple of decades like every language does eventually, but it won't die soon. It's still installed on 40% of the websites (according to Wikipedia) and it's the easiest web language to start with, IMO.
9. What's the most common mistake you see people making in their code these days?
I wouldn't say "in" their code, I would say "with" their code. It's normal to make mistakes when you start. I see a lot of SQL injections in code posted on the forum, a lot of code mixed with HTML and so on. That's just normal. Somebody has to do those mistakes and learn about them. What they don't do enough is asking questions like "how can I improve this code", or "is there security problems in my code". In short, they should try to improve their code once they understand what they are doing by asking questions and reading more advanced blogs.
10. When you're not working with the web, I hear that you enjoy travelling. Can you tell us a bit about that? What are some of the best/strangest experiences you've had while travelling?
I LOVE to travel. Especially when I can skip the Canadian winter! So far, I went to Scotland, Spain, Cambodia, Thaïland, New Zealand and a couple of other places in Canada and in the USA.
I spent 3 months last year in Thaïland and it's really different from here. For example, they sometimes travel at 3 people on the same scooter (the guy, his gf and baby), no helmet and there's no problem. Do that here, and you're all over the news for a week! It's a really different culture. Scooters in Bangkok are crazy, they ride on the sidewalks, they pass every car. It's like a working chaos and I liked it!
I also love trekking in other countries. My biggest challenge was Abel Tasman in NZ, I walked 3 days with my tent, water and food (OK, I didn't climb the Everest, but it's still not that easy). It was really fun AND beautiful.
I have that bad habit of trekking alone though. In Abel Tasman it's not really a problem, but I wouldn't recommend it when it's not a "touristy" trek. While trekking alone, I got lost in mountains in Scotland, in the jungle in Koh Tao in Thaïland, In the "roads" of the mountains of Koh Tao, I fell in an ant nest on a trek in Koh Phangan (the Bottle Beach treak)... All that alone. So, I think I had my lessons Don't trek alone, it's dangerous! If you twist your ankle, you'll have to wait for somebody and it can be days until they come
11. Are there any other hobbies or interests that you're passionate about?
Like I said, trekking. I especially love to "climb" mountains. There's a lot of beautiful and not too big mountains here in Quebec. I don't like it when it's too difficult and I don't like to suffer too much. Like I climbed mount Washinton... I couldn't even see anything but fog at the top! What a disappointment for a week of pain afterward!
Apart from that, I like sushi! I can tell you what's the best sushi to keep for the following day in the refregirator. I mostly know the names of all the sushi of the shop near my appartment. Also, it's a sign that you eat too much sushi when you order for yourself and there are 3 sets of chopsticks in the bag! And I don't use those wooden chopsticks, I use my own. So I could build a house with all the chopsticks I accumalted over time.
And I like simple sports like roller blade, bike and just simply walking around Montreal.
12. Finally, as a MOTM you're entitled to some shameless self-promotion. Are there any sites, blogs, or Twitter / Facebook accounts you'd like to recommend we follow?
Well, I add a new post usually each Monday on my blog [mogosselin.com ([URL="http://www.mogosselin.com/feed"]feed here). So far, there are general Web development posts, for PHP beginners and more advanced stuff. Also, I'll start a free email course about PHP deployments (it'll be comprehensible even if you don't know PHP) and I send a mail with web dev tips 2 times a month. You can register on my blog (or PM me, I'll add you on the lists). I also have a [URL="https://twitter.com/mogosselin"]twitter account and a [URL="https://plus.google.com/u/0/116667148944294494402/posts"]G+ account](http://www.mogosselin.com/).
Of course, for web developers, you should read [SitePoint's articles. There's also the subreddits [URL="http://www.reddit.com/r/php"]/r/php, [URL="http://www.reddit.com/r/phphelp"]/r/phphelp and [URL="http://www.reddit.com/r/webdev"]/r/webdev](http://sitepoint.com/) that I usually browse and participate in. They contain a lot of great stuff.