The MVC (Model-View-Controller) design pattern is well established for web development by now. Popular frameworks such as Ruby on Rail (Ruby), CodeIgniter (PHP), and Spring (Java) are just some of the examples. These frameworks provide a great way to organize code and create a familiar architectures for engineers to work with. In addition, one of the great advantages is the direct connection between the model and the database, which can be set up. Deep knowledge of SQL is no longer needed by most of the engineers utilizing an MVC framework.
Continue reading
Software Engineering
Overhead of hands-off management is shrinking
There’s an interesting blog post by Larry White (Google manager) about how classic software engineering management is dying. From my experience, it’s spot on. Org charts have been collapsing for years now. Things went from having engineers -> team leads -> managers -> directors -> vp’s -> svp’s -> cto, to the much more common developer->director->cto, and the all-time start-up favorite: developer -> cto.
Overall, companies are trying to do more with less. Instead of looking for managers to oversee engineers, companies take the approach of finding self-managed engineers. This is where the newly minted classic of culture fit comes in. While every company has its own flavor of culture, they all overlap when it comes to employees being self-driven and motivated. This soft skill is no longer optional due to collapsing levels of management.
I have two friends who work at a very large global corporation. Both excellent professionals and have been moving up the corporate ladder over the years. The on-going joke is their org chart depth. I believe currently one is -6 and the other is -7; that’s levels of management between them and the C-level. I’m at a proud -1 at a start-up, and not because my title may impress leaders of small nations.
Respect others, just how you’d want to be respected
This article I found about respecting your colleagues mentions some great points about how it’s easy to be a jerk. Respect Among Software Developers.
Looking for rockstar engineers is like playing tetris
Every single day I hear from everyone around me about how they can’t find good engineers to fill positions. They look for rockstars, for a-players, for gurus, and every other cliche synonym for best of the best. I definitely agree that the right hire can determine the success of a project and the wrong hire will not only fail in his tasks, but undermine the success of every other person on the project.
What hiring managers frequently fail to ask themselves is “what role are we looking to fill?”, including the skill and talent needed for that role.
Continue reading
Introduction to Object Oriented JavaScript
The goal of this tutorial is to introduce someone already familiar with Object Oriented Programming concepts and has a basic knowledge of JavaScript, to object oriented development using JavaScript.
The Constructor
Every class starts with a constructor and in JavaScript (JS) it’s no different. Because JS is a very loose language, a constructor is in fact a function.
ExampleClass = function () { document.write('The constructor.'); }
Eight Real Tales of Learning Computer Science as a High School Girl
Everyone remembers their first computer. I got my Intel Pentium 75 Megahertz (yes, mega) with 64mb of RAM and an 850mb harddrive in the fall of ’95, right after Windows ’95 was released. I wrote my first program on it.
Here are a few stories on how some learned computer science.
PS – I was a high school guy, but the stories are pretty general.
The Magic clear:both Trick
These days table-less HTML web development is the norm. Everyone has a set of tricks up their sleeves to get the proper positioning and alignment of DIVs. One of the tricks is definitely the css command clear:both.
Here’s a great trick from Mighty Hacks to avoid a bit of HTML with a little CSS.
The Little Introduction To Programming
I first learned the basics of HTML when I was 14. I couldn’t get enough. Every new tag I came across I had to try out. Every attribute of each tag was amazing. The first true program I wrote was on a TI-83 calculator. C++, JavaScript, PHP, and a whole goody bag of others followed by college. The main theme each time was solving a puzzle.
With the world only getting more tech-oriented and companies looking for “smart people”, being able to at least know some of the terminology is a must.
Check out a free online book that gently introduces the art of programming, The Little Introduction To Programming.