So, Myles Recny wrote a little conversation about why you should be nice to programmers.
There’s so much about programming that is incredibly satisfying and empowering. But it doesn’t change the fact that, for me, programming builds an acutely negative mindset over time. I’m always asking the question “what’s wrong with this?” Positive people are always focusing on “what’s good about this?”
As soon as I saw it, I immediately sent the following back to him:
We can’t spend our lives mired in depression by seeing everything we do as imperfect. Nothing is perfect. Especially with our “programmer’s eyes” for technical detail, we will almost never achieve a level of quality that we would consider perfect. In fact, I would be worried if we did achieve perfection with any regularity.
Instead, if you start to feel the same way as Myles did, take a step back, and a deep breath. Stop looking at your code base, and start looking at your usage metrics. Look at all of the people using your code. Deriving value from your code. Improving their lives because of your code. If you don’t have access to that information, ask for it! Validate that your “bug-riddled mess” is actually helping people do something they want (or need) to do. Seeing this will help fuel your creativity, and drive you to provide ever better solutions.
Take some time to connect to your users. They are your best defense against the negative subtext that we operate in. View your work through their eyes, and see how they derive value from it. It’s a powerful thing, knowing you are improving someone else’s life — and we get to do it every single day. How lucky are we?
If you haven’t checked them out already, go to Symfony’s “Talks” section.
Now, this is great for all of us Symfony developers, but it’s also a good thing for php developers in general.
If you’re a Symfony developer already, you know what you’re interested in there, so I’m going to focus on what non-symfony developers can get out of this treasure trove. Also, these videos are also available in French through the talks section.
Talks that apply to everyone
Designing HTTP Interfaces and RESTful Web Services — David Zuelke gives an excellent presentation on what restful web interfaces mean, and was actually the driving inspiration behind my dedicating my Symfony Live hack day project to the Accept Header Service Provider for Silex, as well as this pull request for the Symfony core.
Talks for programmers
Behat by example (Behat best practices) — Konstantin Kudryashov walks you through how to do approach BDD in a way that makes sense. I haven’t watched it yet myself, but it is definitely on my list.
Symfony2 components to the rescue of your PHP projects — Xavier Lacot goes over how you can use symfony components in your every-day php projects to make your life easier.
Using MongoDB responsibly — Jeremy Mikola gives a talk about Mongo DB. Really, who’s surprised? I haven’t seen it, but it’s on my list, and I’m sure, knowing Jeremy, that it is “web scale.”
PHP developers, what can Postgresql do for you? — Grégoire Hubert gives a talk about Postgresql, why you should use it, and what advantages it has in store for your next project.
ORMs don’t kill your database, developers do! — Guilherme Blanco shows you some ways to optimize your setup when dealing with an ORM. I’ve heard there is some controversy on some suggestions within, but I think that just makes it juicer.
Dependency Management with Composer — If this is anything like his talk in San Francisco (and I’ll just go ahead and blindly assume so!), Jordi Boggiano gives an excellent overview of what you can do with Composer and how to take advantage of it right away.
Talks for frontend developers
How we built the new responsive BBC News site — Really. Need I say more?
Still need more?
Richard Miller gave a talk on what you get from a full stack framework. I haven’t watch this, as I have already drank that particular kool-aid, but if you haven’t made the leap yet, I’m sure he presents some compelling arguments. If, after it, you’re still not sold on full stack frameworks, just wait until Dustin Whittle’s Silex talk from San Francisco is up. It will blow. Your. Mind.
I wanted to write a quick note about one of the ways that I stay up to date with things: podcasts.
They’re great for anyone who commutes, and the rest of you can surely find some time to fit them in somewhere. Even if you can only track one or two.
A lot of the podcasts I listen to aren’t specifically web development or even PHP related, but that is on purpose. I have Twitter and RSS feeds, as well as IRC for keeping up with more directly related topics. I’ll detail those later.
- The Critical Path — A podcast by Horace Dediu about the theory and practice of disruption, and jobs to be done theory. It has an Apple centric overture, but it uses Apple as an example to build a lesson from.
- Freakonomics — Always interesting(ish) topics, to keep the brain going.
At Symfony Live San Francisco 2012, I gave a little talk. No, really. A little talk. Seven minutes. I’m not even sure I used all of it. That’s not a lot of time, but I think I managed to at least provoke some thinking. At least I hope I did.
Hmm. How do you act like you care about your work, as a developer?
Continue reading “How to act like you (maybe actually) care about your work” »
Update: Gregorie Pineau pointed out to me that this was already done, so I will refer you to the more canonical resources: Silex Skeleton and Silex Kitchen Edition.
Update #2: However it does seem that my setup may be even more minimal than even Fabian’s Skeleton, which could be a benefit to some.
One of the inherent problems of micro frameworks is the tendency to just go … willy nilly … and put your files in any ol’ spot. It makes the code look awful and hurts your brain trying to comprehend where to handle your changes, and then your project turns against you.
To that end, I want to help! Who’s surprised? Awww, c’mon! Pretend? Ok. Thanks.
I have created a Sample Silex Install on GitHub that shows some of the best practices for working w/ composer, and getting off to a great start with your next Silex project.
Questions? Comments? Please leave them below!