You and I, we develop software. The things we create run inside browsers and on smartphones. They run on computers and on servers. They serve the need of some, and sometimes the needs of hundreds. Or thousands. Or, if we are lucky or have the right setting, millions use our software or parts of it. The systems we develop and write have many moving parts. They consist of a lot of different technologies. Depending on what you develop, you have to be a generalist, more than a specialist. But it depends.
A thing that is the same no matter what you do is the constant evolution of our tools. On any given day I need at least two applications to do my job: a text editor (my choice is vim) and a browser. Most of my days I use emails to communicate with colleagues. I do development of frontend code for websites, I write code in Objective-C. I extend functionality for users or optimize older code in Ruby projects. I create command-line scripts or tools to optimize my workflow. I even use Photoshop (it came pre-installed with the Mac my employer gave me) to crop or manipulate images. I test my software and code in an array of various environments (Internet Explorers 6-10, Chrome, Firefox, Opera, Safari and MobileSafari, Windows and Mac OS, iOS and sometimes Android). These techonologies are just off the top of my head what I have to use on a day to day basis. Now as I said earlier: these tools and technologies are constantly evolving (yes, even you, Internet Explorer!). You have to keep up with the latest developments. You have to know these tools, even though you don’t need to know everything by heart. But you have to read up on the latest technology. You have to know how the latest public release of an operation system—millions of people use everyday—works. If you don’t read up on the latest developments in your chosen field, you fall behind. There are many many young developers who are eager to step into your shoes and do your work. There are many people who realize the opportunity of changing into a profession you chose yourself some years ago. These people have a need. They have a desire to become successful as a developer. They have a burning passion. And they will do what it takes to make their dreams come reality.
We’ve always done it this way
Sadly, the phrase “We’ve always done it this way.” is the worst thing you can use but it gets said way too often. Especially in a field where your tools evolve, you just cannot keep doing things the way you did them 10 years ago.
I mean I get it. You are a seasoned developer. Your code stood the test of time. Your old C routines still run and you know how to do memory management on iOS ‘the old way’. Guess what: Thousands of other people do as well. But that doesn’t make it the best way.
If all you have is a hammer, everything looks like a nail. Perhaps it’s time to head to the hardware store and acquire some other tools.
If you are keen on learning new stuff, broadening your horizont and trying new things I want to give you a small list of places to look for material and inspiration.
Perhaps an obvious thing are blogs. I mean, you are reading one right now and I teach things. So you made the first step. A really good one I want to add.
Here are some other blogs that I read myself and can recommend:
- Giant robots smashing into other giant robots – Thoughbot is an agency doing Ruby and iOS contract work. They write about best practices in OO software design, testing and using your tools (e.g. vim) properly. And they have the best name for a blog.
- Inessential.com – Brent Simmons is one of the good guys and one of the more experienced. But he doesn’t use the phrase “I’ve always done it this way.” He tries new stuff and writes about his experiences. Mostly iOS/Mac OS. Recently he has a series about synching between client/server.
- Peter Steinberger – Peter blogs very infrequently about Objective-C. But when he writes a new post it is highly informative, technically demanding and really interesting. I don’t always understand everything he writes. It’s sometimes too low-level for me, but you can almost always take something away from it.
- Dave Winer – Scripting News – Dave Winer invented RSS. And did many other great things. He writes about his learning about recent web technologies and his point of view on the world (of tech).
- IOS App Dev Libraries – A collection of (new) libraries, controls and other open source software useful for iOS developers.
- NSHipster – A journal of the overlooked bits in Objective-C and Cocoa.
These are no blogs but websites with regular articles and/or screencasts:
- Practicing Ruby – Monthly lessons about software and Ruby things.
- Ruby Taps – Short screencasts for intermediate to advanced Ruby developers.
- Vimcasts – Free screencasts about Vim. Drew Neil really has the most soothing screencast voice I’ve ever heard.
- Railscasts – Over 400 screencasts about many things for Ruby on Rails developers. Currently on hiatus, but still worth it.
- Objc.io – A high quality periodical about Objective-C/iOS.
- Ray Wenderlich – He came out of nowhere some years ago and made many many many tutorials for iOS developers. Now he is one of THE best sources for beginners and advanced developers for all things Objective-C/iOS/Mac OS.
- 24Ways – An advent calendar for web geeks. Each day throughout December you get something interesting about web dev and/or design. (Relevant since it’s Xmas soonish.)
You can get newsletters to almost every possible topic these days. Here are some that are relevant to developers:
- iOSDevWeekly - Hand picked iOS development links with sections on News, Tools, Code, Design and Business.
- Ruby Weekly – A free round-up of Ruby news and articles.
- node weekly - A round-up of Node.js news and articles.
- HTML5 Weekly – You guessed it: A round-up of HTML5 and browser technology news and links.
I could give you even more links to websites and blogs that teach stuff and have really interesting content, but this is supposed to be a rather short list. It is still really long I think and should give you a starting point for learning. Now you don’t have an excuse if you’re stuck with the old ways of doing things. Read, listen, watch and learn and then go out and teach others.
The developers of tomorrow will thank you for it.
Thank you for reading.