About: The Importance of Community

Community is important. You could say I'm a lone wolf (although I have no intentions of starting a massacre, contrary to popular belief), but one thing I've realized since becoming a software engineer is that your surroundings are extremely important to your success. In other industries advancement has been slow simply because there are just way too many barriers to entry. For example, think of inventing a drug; I don't see you starting a lab in your parents' basement anytime soon. It's just too expensive, dangerous, and frankly, the industry has been far too centric and has been led by a few powerful companies. Sure, I'm not here to deter you from doing it if you're serious about it, but most likely you'll have to go through some official, pricey university education, then get a job at some pharmaceutical company, and then go from there.

On the Internet you don't have to care about any of that nonsense. You can invent something for free. The information is out there, be it in the form of a book like this one, or discussion boards, IRC, and forums. All you need to know is out there for free.

But this influx of information comes with a price. The price of lots of noise. This doesn't mean all information consumed at a university is prime quality, but still, when it comes to software engineering, there's tons of BS online. So here is where your critical thinking skills come in handy. Use them to decide what's of value and what isn't. Look at reviews, read others' opinions, and learn how to find credible data. Do your research before deciding on any tool, software, or device.

Recently I started a new job at a software company where I truly believe in its product. I was psyched about every aspect of my new job except for the technology used in it. The site for my company is mainly written in PHP and the framework that was chosen was CakePHP. Now, I don't wanna go into too much detail for fear of pissing someone off (since you already have my address), but coming from the Ruby on Rails world, CakePHP just proved to have too small a community which ultimately slows down our development process. Conventions aren't imposed the way I was used to from Rails, plugins are not being developed as rapidly, and overall it is a lot harder to get a new developer up to speed since many of the resources one would expect to exist, simply need to be written from scratch. And that, in my book, is a waste of time.

But when it comes to making decisions about tech, don't overdo it either. Listen to the people who are experienced in the field, read articles, follow on Twitter. But reach a decision as soon as you can responsibly do so and move on to what matters most -- development. Trends will change and so your decision can only be the best one for a limited amount of time. When I started to program for the web, PHP was the language everyone recommended for a beginner to start with. As you can imagine, this isn't the case anymore.

Table of Contents