{"id":45238,"date":"2021-12-27T14:13:15","date_gmt":"2021-12-27T14:13:15","guid":{"rendered":"https:\/\/devrims.com\/?p=45238"},"modified":"2024-06-04T06:04:11","modified_gmt":"2024-06-04T06:04:11","slug":"grumpy-programmer-php-interview","status":"publish","type":"post","link":"https:\/\/devrims.com\/blog\/grumpy-programmer-php-interview\/","title":{"rendered":"PHP Interview With The Grumpy Programmer &#8211; CHRIS HARTJES"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">There are many professionals in the software development field, but very few of them are real inspirations in the community. We are glad to feature The Grumpy Programer , Mr. <\/span><a href=\"https:\/\/twitter.com\/grmpyprogrammer\" target=\"_blank\" rel=\"nofollow noopener\"><span style=\"font-weight: 400;\">Chris Hartjes<\/span><\/a><span style=\"font-weight: 400;\"> in our first interview today.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">He is a remote software development consultant and tester who helps companies find and resolve bugs in production.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">He is a PHP and Python developer, tester, author, and speaker.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The Grumpy Programmer owns a company Grumpy Learning Inc. operating for about ten years now. It provides PHP consultation, book creation, and courses to test PHP applications.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">He worked remotely for Mozilla as part of the Ecosystem QA group, focusing on testing services and products that the Firefox web browser relies on.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">He has authored &#8220;Grumpy Programmer&#8217;s Guide to Testing PHP Applications,&#8221; which is good enough to write tests with any framework and PHP application. Also, it helps in automated testing.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>Devrims:<\/strong> First of all, share briefly about your career journey? How did you enter the programming world?<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>Grumpy Programmer:<\/strong> I was lucky enough to have a family that owned several computers when I was younger, ranging from a Commodore VIC-20 to some kind of IBM PC clone. I taught myself programming from typing out programs in magazines like Compute and Byte. After a brief detour to study civil engineering at college, I ended up going back to college to study computers and then got a job in 1997 as the \u201ccomputer guy\u201d for a company that sold compilation CD\u2019s to professional DJ\u2019s. They needed a website, I had learned a little bit of Perl but didn\u2019t enjoy and stumbled across the PHP + MySQL combination. Been working with PHP ever since.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>Devrims:<\/strong> Your profile suggests working in both PHP and Python. How do you see their future?<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>Grumpy Programmer: <\/strong>Neither language is going anywhere and remains solid tool for creating web applications. I don\u2019t follow Python development much but PHP continues to push itself forward with new features, cleaning up inconsistent behavior, and trying to provide a balance between being friendly to beginning programmers while also giving more experienced programmers tools to build more advanced applications.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>Devrims:<\/strong> Share the experience of writing the book &#8220;The Grumpy Programmer&#8217;s Guide To Testing PHP Applications. At exactly what stage of their career level should a developer read your book?\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>Grumpy Programmer: <\/strong>The book is aimed at intermediate PHP developers \u2014 in order to write tests you have to know how to write PHP code. You don\u2019t need to be an expert but since tests are just more PHP code you are adding to your application, it would be pretty hard to teach a beginning developer how to write tests.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>Devrims:<\/strong> There is so much talk in the town about PHP 8.1. What are your reviews about it?<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>Grumpy Programmer: <\/strong>Even though I have been using PHP for so long, I\u2019ve never been the type of developer who pushes the language and tools to their extremes and breaks them. I\u2019m happy, the work continues on the language with each iteration being a little faster and inconsistencies or unexpected behavior being fixed.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>Devrims:<\/strong> You have been a speaker at CakePHP conferences as well. Share some insights if you think CakePHP is better than other frameworks or how it&#8217;s better with others in any aspect.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>Grumpy Programmer: <\/strong>CakePHP was the first open-source project I ever got involved with and my longest-running web application (15 years and counting) was built with it. But these days I don\u2019t really think any framework is better than another. Popularity contests are boring.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>Devrims:<\/strong> Everyone has a few inspirations in the community. Who else is your inspiration in the software development communities?<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>Grumpy Programmer: <\/strong>I\u2019m not a fan these days of \u201cprogramming heroes\u201d but I only have the career I have because Sebastian Bergman created the PHPUnit testing framework. I\u2019ve been fortunate to work with lots of very smart developers over the years, which encourages me to keep learning new things.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>Devrims:<\/strong> What would you like to recommend to new PHP developers? What single piece of advice would you like to give?<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>Grumpy Programmer:: <\/strong>I encourage beginning PHP developers to understand the problem that PHP was built to solve \u2014 how to easily create stateless web applications. It\u2019s easy to get caught up in the hype and excitement that comes with PHP frameworks and related tooling. PHP is incredibly flexible \u2014 worry about solving your problems and then everything else can be fixed when you have a better understanding of the language.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>Devrims:<\/strong> Which IDEs do you use or suggest according to your experience with PHP developers?<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>Grumpy Programmer: <\/strong>I\u2019m a long-time Vim user (I use NeoVim these days) but also use PhpStorm. Pick an IDE (or editor) and learn its features inside and out. There are lots of good options available these days for PHP folks \u2014 literally spoiled for choice.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>Devrims:<\/strong> You have worked at a famous web browser company Mozilla. Share the experience of working over there?\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>Grumpy Programmer: <\/strong>It is very rare that you get to work on something that millions of people use every single day. I approached my testing work with the idea that my goal was to find problems before the users did, and for the most part, it was the correct one.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Mozilla was also a great lesson in what happens when you have to create tools because your problems are actually unique instead of being ego-driven.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>Devrims:<\/strong> You are working in a remote environment. Remote working trends have increased after COVID19 a lot. What do you think is the best or worst side of working remotely.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>Grumpy Programmer: <\/strong>I\u2019ve worked remotely since 2007 so the pandemic hasn\u2019t brought much of a change for me personally in terms of work. I continue to work from a comfortable home office with my choice of equipment. I pursued remote jobs because I didn\u2019t like how much time I was spending commuting and not getting to see my kids. Wouldn\u2019t change any of it.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">What I do think has happened is a lot of companies have had their communication problems exposed in an environment where you can\u2019t have random conversations or everyone is expected to be \u201cbusy\u201d at their desks.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>Devrims:<\/strong> Hobbies are necessary to refresh minds, especially when we have a technical job. Apart from your professional life, what are your interests and hobbies?<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>Grumpy Programmer: <\/strong>My two main hobbies are Magic: The Gathering (specifically playing Commander, a multi-player version of the game where the focus is on social interaction) and a simulation baseball game that uses dice and cards and charts to replication playing the game. My longest-running website is on the league uses to track standings and results.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>Devrims:<\/strong> We at <\/span><a href=\"https:\/\/devrims.com\/\"><span style=\"font-weight: 400;\">Devrims<\/span><\/a><span style=\"font-weight: 400;\"> provide one-click installation for the PHP stack. I would like you to check it yourself and share your opinion about the platform.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>Grumpy Programmer: <\/strong>Any tool that allows folks to quickly and easily create virtual servers is a good tool. As powerful as AWS is, its tooling is written with engineers in mind and not people trying to get their ideas turned into a working application.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>Devrims:<\/strong> Thank you for taking the time out for us. Who would you recommend that we should interview next?<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>Grumpy Programmer: <\/strong>I would reach out to Elizabeth Smith, someone who has done a ton of work with PHP in a Windows environment and consistently breaks everything she pushes against. Her email is <\/span><span style=\"font-weight: 400;\">auroraeosrose@gmail.com<\/span><span style=\"font-weight: 400;\"> and tell her I sent you.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>There are many professionals in the software development field, but very few of them are real inspirations in the community. We are glad to feature The Grumpy Programer , Mr. Chris Hartjes in our first interview today. He is a remote software development consultant and tester who helps companies find and resolve bugs in production.\u00a0 [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":45241,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"site-sidebar-layout":"default","site-content-layout":"default","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[13,32],"tags":[95],"ad-banner":[85,24],"blog-popup":[82],"cta-banner":[],"class_list":["post-45238","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-interviews","category-php-interviews","tag-php-interviews","ad-banner-php","ad-banner-wordpress","blog-popup-app-php"],"acf":[],"_links":{"self":[{"href":"https:\/\/devrims.com\/blog\/wp-json\/wp\/v2\/posts\/45238","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devrims.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devrims.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devrims.com\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/devrims.com\/blog\/wp-json\/wp\/v2\/comments?post=45238"}],"version-history":[{"count":1,"href":"https:\/\/devrims.com\/blog\/wp-json\/wp\/v2\/posts\/45238\/revisions"}],"predecessor-version":[{"id":64485,"href":"https:\/\/devrims.com\/blog\/wp-json\/wp\/v2\/posts\/45238\/revisions\/64485"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devrims.com\/blog\/wp-json\/wp\/v2\/media\/45241"}],"wp:attachment":[{"href":"https:\/\/devrims.com\/blog\/wp-json\/wp\/v2\/media?parent=45238"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devrims.com\/blog\/wp-json\/wp\/v2\/categories?post=45238"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devrims.com\/blog\/wp-json\/wp\/v2\/tags?post=45238"},{"taxonomy":"ad-banner","embeddable":true,"href":"https:\/\/devrims.com\/blog\/wp-json\/wp\/v2\/ad-banner?post=45238"},{"taxonomy":"blog-popup","embeddable":true,"href":"https:\/\/devrims.com\/blog\/wp-json\/wp\/v2\/blog-popup?post=45238"},{"taxonomy":"cta-banner","embeddable":true,"href":"https:\/\/devrims.com\/blog\/wp-json\/wp\/v2\/cta-banner?post=45238"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}