Click here to check if anything new just came in.
March 15 2010
10 Things I Wish I Knew as a Web Programmer 10 Years Ago
Shared by Eddie Awad
Good advice even if you're not a web programmer
#1. Over Estimate Your Time
Unless you are 100% confident in what you are programming, you should always over estimate how long you think it is going to take you to complete a project or a task. This will give you more cushion room, but it will also make your time more valuable because you get projects done faster than your estimate.
If you are asked to give an estimate with something that you can’t get at least 50-75% comfortable with, than you shouldn’t estimate on it. If they will not give you the required time to look into it and make a more educated guess, and they force you to create a rough estimate, I would calculate what you think the worst case scenario would be, and times that by 1.5. This may not make upper management happy, but it does show your level of comfort with certain systems and this method is a safe approach to the unknown.
The flip side to this is that if you estimate a project and it takes you longer, this does not make you look good, and I suggest avoiding this as much as possible. As you gain experience with different systems and with the programming languages you work with, you should get a better idea in how long things take. If you get really good at this, you will always end up getting projects completed faster than estimated.
#2. Get Familiar with a Framework System
A framework system, such as CodeIgniter, will increase your productivity if you use it properly.
If you are working for a company that does not let you use a system like this, and doesn’t have their own framework, you should learn at least one anyway. These type of things are great for your resume and can get you jobs. I suggest spending some time researching which php framework you want to go with and then tackle it full force.
I would also suggest getting experience with WordPress, Drupal and/or Joomla.
#3. Don’t Assume that Where You are Working is the Best Opportunity
Will the company you work for be able to pay you what you want to make? What about in 5 years? Is the company growing and going anywhere? Are the people you work for happy? Are you constantly over worked? Do you feel under paid?
I’m not suggesting that you constantly apply for jobs. But it is healthy to have a good feeling for what else is out there. Talk to other programmers in your field that live in different areas (or the same area) and see how much they make. Get familiar with different companies where you live and possibly other companies elsewhere that would let you work out of your home office (like my current situation). If you open up your job market outside of your current city/state, there is a good chance you can increase your salary range greatly and have the opportunity to work for more progressive companies.
The point here is that if you want to see your career get progressively better, you should always be open to other opportunities. Don’t let your current employer make you feel guilty for going with this approach. Sometimes the best option is to quit working for your current employer and join a different team. Just make sure to keep your options open and don’t burn bridges.
#4. Don’t Get too Comfortable with GUI Systems
I learned PHP and how to work with MySQL by using systems such as phpMyAdmin and editors such as Dreamweaver and Eclipse. However, this is not something you want to box yourself into.
Don’t get me wrong, I love to use GUI programs when it makes sense to, but there are some web companies that don’t let you use GUI systems on your own computer. For example….you may need to edit a file or work with MySQL using the command prompt (SSH). You shouldn’t necessarily need to know how to be a server admin when your focus is on programming, but these are things to be aware of and prepared for.
And again, having this skill listed on your resume is a huge plus.
#5. Learn How to Use and Work with SVN
This is similar to #4, but is more specific to a program installed on a lot of servers. This has become a standard in most companies, and I suggest you start using it if you haven’t already. Overwriting a file or making an incorrect change is not a huge deal when using a source control system like SVN, because you can revert back to previous versions easily.
This also helps if you are managing other employees because you can see exactly what they changed in the code, and when it was changed. Over the last 5 years or so this has become a requirement for most of the top web companies, and it is something you will want to learn how to work with.
#6. Maintain a Website or Blog
This may seem obvious, but when you are “comfortable” in a job, you may forget the value in doing this. If you were to lose your job or wanted to get a different one, having a website that is up to date and maintained is invaluable.
Also, it makes sense for us who know how to build and work with websites to have one of our own. Having the writing skills and the how-to in making a website profitable will make you standout over other programmers. You will also learn other tools and systems with this valuable experience.
#7. Master Organization
Being unorganized will cause many problems. You will forget about meetings, issues with websites or other things that will make you look bad. If you take this seriously and create systems that keep you on track with what is important, this will make you look like a super hero.
In fact, this is an area that most programmers are not very good at. They may be very intelligent and can write awesome code, but when it comes to being reliable and dependable, they fall flat. This is your opportunity to shine!
#8. Learn Outside of Work
Often times we get so busy with what we need to get done throughout the work day that we do not have the time to learn anything new. Or maybe you work at a company that doesn’t give you time for learning new technologies. In any case, you should be spending some quality time outside of work either learning new systems, languages, techniques or just fine tuning what you know by working on your own website.
If you don’t do this, you run the risk of being outdated with what everyone else is using. This isn’t to say that you can never catch up, but this is not a place you want to be if you find yourself out of a job.
Some great questions you can ask yourself:
- What could I learn in my field that would make me more valuable?
- Are there any projects I did not get because I didn’t know a specific system or framework?
- If I was to get fired today, what would be the most valuable thing to learn that could be added to my resume?
- What do some programmers who make more than me know that I do not know?
#9. Learn How to Waste Less Time
Along with #7, this can be used in any field. Unless you have no work to do, you should not be checking personal email, facebook, twitter, etc… during work hours unless it is work related. On top of that, you want to be constantly thinking about how you can get more done in less time by implementing different coding techniques or improving the code you use (also see #2 above).
#10. Learn from and Own Your Mistakes
If you broke something, don’t blame someone else (even if you are only partially to blame). Own up to what you are responsible for with the mistake. This shows a level of maturity, but don’t think that it ends there. Go out of your way to make sure that you do not make the same mistake again.
As a manager in the past, this is what got under my skin with programmers on my team. They would end up making the same mistakes over and over again. If you don’t learn from your mistakes, you will look incompetent. If this is something that you spend a lot of time practicing, you will end up getting promotions and raises because this matters to employees and supervisors. And it guarantees that you will get better as time goes on.
There is always room for improvement, regardless on where you are at in life. Don’t lose sight of this.
Russian Circles - Geneva
Live @ Musicbox (Lisbon) 14-03-2010
Crappy video, I know. I’m a crappy camera man. But the show was awesome.
If Fonts Were Dogs
(via janicemomoko)
This really hits home since I just brought home a rambunctious young Fraktur of my own.
Simplicity is the essence of happiness.
...is my new wallpaper. It also describes my approach of minimalism towards my software environment.
My main machine is running Mac OS (although I have a windows box and random-linux-flavored VMs around) and one thing I really enjoy is having most of my computer needs satisfied by the default apps. My mantra is “The less I install, the easier it gets to reset my system”, something that I might have to do in case of emergency (breaking the system, disk failing, etc..) or simply because I like to have my system clean every semester.
There are only three non-default apps in my dock: Adium (only if I could get rid of MSN and just use iChat), Transmission (I don’t see Apple releasing a bittorrent client anytime soon) and Textmate. I do have more apps around for special purposed, but those are wiped in every clean install and installed on a need-basis.
And I get really annoyed when I read twitts about getting “Rucksack for Mac OS X completely free” and about those popular bundles that people buy just because its cheap and not because they really need that software. I won’t install software just because it’s free and cute. I have a nanoBundle2 just because it was free, but I’ve never installed any of the apps, because I don’t feed the need for any of its features.
And regarding Rucksack, OS X unarchives zips, tar, gz and unix stuff out of the box, and I’ve installed unrar via HomeBrew for all the rars that get piled up in my Downloads folder. I even made a simple context-menu service that makes it really easy to use.
And I am really happy with my software real estate. The less I have, the less I will lose, the less will annoy me, and the more I will get from the few really good and useful tools I work with.
:)
Pencil Printer.
This might just be the best product I have ever seen. It takes your old pencils, grinds them up, and prints with them. Oh, and since it’s pencil, you can erase whatever you print. I want to make digital drawings, then have them printed on paper with a pencil, just to create black holes in space and time. Thanks Dornob!
March 14 2010
“ Herbivorous men [sōshoku danshi - 草食男子]: Coined in 2006 by author Maki Fukasawa, this term refers to an emerging breed of man whose passive nature stands in stark contrast to conventional notions of masculinity. Typically in his 20s or 30s, the herbivore doesn’t earn much money, spends little, takes a keen interest in fashion and his personal appearance, and does not aggressively pursue “flesh” (i.e. romance and sex). Friendly and home-oriented, he tends to favor cosmetics over deluxe cars and would rather eat sweets at home than treat his girlfriend to dinner at a fancy restaurant. [More] ”— Top 60 Japanese words/phrases of 2009 ::: Pink Tentacle (via onigiri)
March 13 2010
Danah Boyd: How Technology Makes A Mess Of Privacy and Publicity
Today at SXSWi, keynote speaker Danah Boyd took the stage to talk about privacy and publicity, and how they intertwine online. Boyd is a Social Media Researcher at Microsoft Research New England, and has studied this space extensively for years. It was a compelling talk that challenged the notion that personal information is on a binary spectrum of public or private. To help underscore her points, she recalled and discussed a number of major privacy blunders from Facebook and Google. You can find my notes from the presentation below.
Boyd says that privacy is not dead, but that a big part of our notion of privacy relates to maintaining control over our content, and that when we don’t have control, we feel that our privacy has been violated. This has happened a few times recently.
How The Buzz Launch Failed
As a first example Boyd brought up Google Buzz. She says that nothing with the launch was technologically wrong — you could opt out of Buzz, elect to hide your friend list, and so on. But the service resulted in a PR disaster because Google made non-technical mistakes, doing things that didn’t meet user expectations:
- Google integrated a public facing system in one of the most private systems you can imagine. Lots of people thought Google was exposing their email to the world.
- Google assumed people would opt out if users didn’t want to participate. “I can’t help but notice that more technology companies think it’s ok to expose people tremendously and then back pedal when people flip out”, she says.
- You want to help users understand the proposition. You need to ease them in, invite them to contribute their content.
Boyd says that years ago, researchers noticed people in a chat room would often ask “A/S/L” (age, sex, location). So some services, looking to streamlines things a bit, started building user profiles that had this information. What they failed to understand is that this “A/S/L” was a sort of chatroom icebreaker. Users lost that, and putting that information in a profile — even if they would have shared it to answer that chat message — could creep them out.
With Buzz, Google found the social equivalent to the famous “uncanny valley” (where things seem almost natural, but aren’t quite close enough, so they’re creepy). They collapsed articulated networks (email) and assumed it was a personal network.
Boyd then transitioned to talk a bit about the fuzzy lines between what is public and private. She says that just because people put material in public places doesn’t mean it was meant to be aggregated. And just because something is publically accessible doesn’t mean people want it to be publicized.
The Facebook Privacy Fail
Boyd’s second case study was Facebook’s privacy changes in December, when Facebook changed ‘everyone’ to the default. We’ve written extensively on this fiasco, which may take years to really reveal the extent of the damage it has done.
- Facebook said 35% of users had read the new privacy documentation and changed something in the privacy settings. Facebook thinks this is a good thing, but it means 65% of population made their content public. Boyd has asked non-techie users to tell her what they thought their settings were. She has yet to find a single person whose actual privacy settings matched what they thought they were.
- Boyd recounted a story of a young woman who had moved far away from an abusive father. The young woman talked with her mother (who had moved with her) about possibly joining Facebook. They sat down to make the content as private as possible, which worked well. But in December, the young woman clicked through Facebook’s privacy dialog (as most people did) and had no idea her content was public. She only found out when someone who should not have seen the content told her.
Boyd then discussed how different groups of people think about privacy. She says that teenagers are much more conscious about what they have to gain by being in public, whereas adults are more concerned about what they have to lose.
As an example, Boyd talked about a teenage girl who often put risqué, sometimes illegal content online. When Boyd asked why she’d want to do something, the girl replied, “I want to get a modeling contract just like Tila Tequilla”. Her calculation wasn’t about what she could potentially lose, but rather what she stood to gain.
Boyd says that most techies think about Personally Identifiable Information, but that the vast majority of people are thinking about personally embarrassing information. People often share private information with their friends in part because it allows them to bond, it makes them somewhat vulnerable and establishes trust. But when it’s through technology (e.g. Facebook’s public by default setting) it’s a huge technology fail.
Boyd also called out the presence of racism in social media. On the night of the BET awards last year, all of the trending topics were dominated by terms relating to the event and the black community. In response, some Twitter users made very racist comments — clearly even these open communication platforms are still prone to hate.
To conclude the talk, Boyd pointed out some of the challenges we will continue to face with regard to privacy online. She asks whether or not teachers can be expected to maintain a professional, pristine presence online — something that is very difficult to do while leading a normal life.
Ultimately, she says, “neither privacy nor publicity is dead, but technology will continue to make a mess of both.” We’ve been looking at privacy and publicity as a black-or-white attribute for content, when really it’s defined by context and the implications of what we’ve chosen to share.

via lh4.ggpht.com
Maybe Soup is currently being updated? I'll try again automatically in a few seconds...

