This blog post was inspired by the recent news that PHPFog is being merged into AppFog and also a few discussions I’ve been having with fellow web developers over the last couple of weeks. My message here is very simple: if you don’t keep moving you’re going to sink. It’s harder than ever to stay relevant but if you’re going to do it, you need to change the way you think.
The Old Way Doesn’t Work Anymore
Ten years ago you could ignore design and UI matters and focus on coding in your language and be employed for years. You could pick a platform and language and ignore everything else.
In the past you could lock yourself into a niche and as long as you built good stuff and produced the features you were asked to everything would be fine, and you’d be safe. Not anymore.
Now as web developers we’re expected to wear many more hats. In most positions, especially at small to medium sized firms you’ll need to write code, build graphics and interfaces, and know some SEO. In fact, here’s what most developers are expected to know at least a little something about:
- Dynamic Language PHP or ASP/C#
- Database fundamentals - MySQL, MS-SQL,PostGreSQL,Oracle
- Layouts, turning comps to html
- Mobile Layouts and/or Responsive Design
- JQuery, Yahoo UI
Unless you are the web guy at some stodgy old company that hates change you’re going to need all this stuff, and if you work at a startup the list gets even longer.
The Way it is Now
The old ways are dying fast. That technology you put so much time into is only a part of the puzzle now. The one language one platform idea is dead. The new buzzword is ”polyglot” and it’s a badge you need to earn and wear with pride. The cycles are so much shorter now that what you were doing last year is antiquated, and what you were doing 5 years ago will get you fired.
Companies don’t care about platforms and languages, they care about solutions.
The folks in charge of running a business don’t care about your favorite programming language. They don’t care about the platform, language or implementation they only care about their problems being solved efficiently. Whatever technology is required to meet that goal is what they will choose, and expect you to implement it. You should embrace this idea and model your thinking around it.
They don’t want to be locked in to one vendor or technology anymore, and you don’t want that either. You should embrace the technology that is going to solve a problem in the best way possible, and mix and match if you have to in order to meet your goals. For a company to innovate on the web, the best money spent is paying great developers to build great solutions.
AppFog’s Gutsy Move
I’ll go back to the AppFog example. Short history: the company started as PHPFog and the goal was to create a platform as a service (PAAS) solution utilizing the equivalent of a LAMP stack. They did it, and it turned out great. With the push of a button you could create your own platform in the cloud and run your PHP/MySQL apps and a few other options. It was cloud based and scalable, and provided an excellent solution for developers.
Then the company created ”AppFog” which included far more than PHP, it provides PHP, Python, Java, Ruby on Rails, Sinatra, Django and more. Same service but far more options. This of course was wildly popular with developers and took off. Then a couple days ago, they announced they’re discontinuing the PHPFog product and merging it in with AppFog.
Stupid? Well, a lot of the reactions I read were from people who thought it might be. But the move makes perfect sense - rather than try and split their efforts on two services, they decided to focus on the one that isn’t on it’s way out. While PHPFog was a great idea the simple fact is locking yourself into one technology isn’t going to work anymore. Polyglot is the future, and they know it. As a developer you should be taking notes.
You Have To Love The Craft
The formula for success as a web developer is far from simple, but I can tell you what the most important factor is: passion for the craft. If this feels like work, you shouldn’t be doing it. A decade ago you could be “in it for the money” and half-assing your way through but that isn’t going to work anymore. You are going to have to love it, and be passionate about it or the industry will outrun you.
If spending an hour a day reading industry blogs and learning a new language or technology every month sounds like work to you, then it’s time to start thinking about an exit strategy. There are tons of young kids coming out of school that are bright and passionate about technology that are willing to learn whatever it takes to get your job. If you aren’t willing to learn it, someone else is, and everyone wants a piece of this exciting web action.
The ones who will thrive in this industry are not the smartest, or those with the fanciest degrees, it will be those who respond best to change.
How Can I Stay Relevant?
Here’s what you can do to keep from getting sidelined in this industry.
Keep learning - This is the most obvious, but crucial. You need to keep learning, read books and tutorials, take classes in your off time. Spend your lunch breaks or get up a little earlier in the morning. Learn something other than what you’re doing every day at work.
Get out of your comfort zone - What you’re doing now might be fun and totally awesome, but will you be doing it next year? Two years? There’s no way to tell so don’t get too comfortable. Do something crazy and wild. Jump the fence and explore something new. Are you a LAMP guy? Download Visual Studio Express and learn to build an ASP site. Microsoft Devs, do the opposite, download XAMMP and build a php site. Or choose neither and Build a Ruby on Rails site, or download Node.js. Do something unfamiliar to you.
Forget about the Fences - The “fence” I mentioned earlier is the one between the .Net and LAMP world that exists right now. Forget about it. There’s no reason you can’t install PHP on Windows and mix it up. Tear these fences down in your mind, because those fences are becoming less and less relevant by they day. With PAAS and other cloud platforms growing fast, there’s no reason you can’t pick the best of those technologies and run a “mixed mode” type of site.
*Don’t be afraid to wipe the slate clean - I was a LAMP guy for years, and I loved it. An opportunity came up at work for an ASP position, and I really wanted it. I got the position and was forced to start at the ground floor. It was exciting, fun and led to me being a “polyglot” programmer now. Writing C# pages changed how i look at things, and I took those skills back to PHP and learned how to develop better sites.
Learn Photoshop and UX/UI stuff - This used to be a separate discipline altogether, but now it’s merging. Yes there are still folks focused on programming while others focus on UX, but the expectation to do both is growing. Even if you’re not an artistic person or UI stuff just isn’t your thing you need to at least be familiar with it so you can communicate with the UI/UX experts you’re working with. Their work is just as important as your programming is, even more so in some cases.
Keep up on your skills - You need to broaden your horizons to other areas, but there’s nothing wrong with focusing on your bread and butter skills. Improve and evolve your code and the way you write software. When the newest stuff comes out, learn it as quickly as you can even if you don’t use it. Try new techniques and methods, they change every day. If you’re writing the same kind of code you were 6 months ago, you’re not moving fast enough.
Watch the industry trends closely - What’s going on with the industry? What kind of new stuff are people doing? You need to keep up on it, and watch it closely. There are some trends now that are clearly going to win out and you need to be involved in it, or at least familiar with it. Mobile, Polyglot, Platform as a service, big data, the cloud - this is the future of the web, are you read for it?
Build or join an open source project - There are many projects on Github and Microsoft’s Codeplex you can join, or you can start your own. No matter how small something is, if the idea is solid it could catch on be forked into something awesome. Why do this? Because many people (myself included) tend to think that money can take the fun out of programming. By contributing to open source you’re contributing to a pool of knowledge as well as helping other people. It will provide motivation to try new things, learn more and write code you aren’t embarassed about.
Put Yourself Out There - I’m not saying you should spend all day on social media sites, but you need to start thinking about your presence on the internet. When you apply for jobs even internally, people will Google you. What will they find? Hopefully they’ll find your blog that showcases some skills, and your social interactions with others. They’ll see you talking about current happenings and know that you’re not sitting in the dark watching the world pass you by.
Start thinking of yourself as a problem solver, not a programmer - as a web developer you are a “hired gun” whose job is to solve people’s problems. Don’t get so hung up on the coding itself and forget your purpose. You’re not being paid to write code, you’re being paid to solve problems. You should always be looking for ways to do that in the most efficient way possible. Nobody cares that you just came up with some new way to organize derived classes, but they sure do care when you’re able to make changes to the software quickly, and without breaking it.
If you are serious about your career and passionate about development, you probably already know everything I’ve stated above. Technology has always been an arena where learning new things is essential but the it’s moving faster than ever. For most us this is heaven on earth because of all the cool things we can do now. But for those resistant to change or folks who just want to collect a paycheck without much effort your days are numbered.
If you don’t love it, you should be finding out what it is you really want to do. If you are truly passionate about this craft and love learning new things, it’s a bright world, and a great time to be a web developer. The barriers to entry are low and opportunities exist everywhere. You are the innovative force in business right now, so be the best you can possibly be.