Here is some of my coverage of the 2012 Silicon Valley Code Camp at Foothill College in Los Altos, California where I was reporting for Dice and Dice News.
“The hallmark of a bad design is when the design has to change to accommodate the change in a requirement,” said Juval Löwy, President and Chief Architect of IDesign. Good architecture is built with change in mind. It encapsulates that change by creating functionality where and when you integrate with system volatility.
Löwy led sessions on architecture and process at the 2012 Silicon Valley Code Camp conference at Foothill College in Los Altos, California.
For Löwy’s other session he explained how to orient your process to accommodate the highly modular nature of modern software systems. The act of project planning is actually an engineering task. The architecture may not allow the process to go too fast, but how can you create a plan that prevents it from slowing down, asked Löwy.
Here is some of my coverage of the 2012 Silicon Valley Code Camp at Foothill College in Los Altos, California where I was reporting for Dice and Dice News.
Silicon Valley Code Camp is a weekend long event of 200+ sessions on anything that would be of interest to a developer. It’s also purely a volunteer event, and Ixchel Ruiz, an engineer with Griffon, loves coming to these events and participating.
Back in her homeland of Switzerland, she participates in Hacker Garden, a space where coders and developers work on open source projects and contribute back to the community.
I asked Ruiz why she likes working on open source and she said it all comes out of frustration. You work on some project and you begin complaining that it’s not working the way you expect it. Instead of complaining, Ruiz just connects with people who are having the same problem. It’s often an issue that she has to deal with every single day, so she quickly becomes very passionate about it.
For Ruiz, she sees three benefits of working on open source projects:
You solve a problem.
You get your name out in a very open and public place.
You give something back. The next person won’t have the same awful experience you had.
Here is some of my coverage of the 2012 Silicon Valley Code Camp at Foothill College in Los Altos, California where I was reporting for Dice and Dice News.
Surviving a coding interview was top of mind of the more than 2500+ developers that attended the 2012 Silicon Valley Code Camp conference at Foothill College in Los Altos, California.
It was such a prevalent topic that Gayle Laakmann McDowell’s session, “Cracking the Coding Interview,” also the title of her book, was the most popular session at the conference. McDowell is also the author of The Google Resume, and founder of CareerCup, a website that hosts more than 8,000 interview questions for software engineers.
Be prepared to write on a whiteboard
McDowell’s first piece of advice for a coding interview is be ready to write out your code by hand. You won’t have a compiler in front of you, so practice writing and debugging on paper. She invites developers to look at the questions on her site, CareerCup.
Make sure you get all your semicolons in place as pseudo-code won’t fly, said McDowell.
Coding interview algorithms
McDowell recommends these mental tricks to help you work through questions for which you don’t readily know the answer:
Pattern matching: Think about what interview questions are similar to the one you can’t solve. Approach the solution to the problem with the version you do know.
Simplify and generalize: If the problem is too complex for you to wrap your head around, simplify it or tweak some of the constraints so you can at least solve a simplified version of the problem. Then generalize to the regular problem that you see.
Base case and build: Solve the problem for the n=0 and n=1 case and see if you can use solutions from prior problems to solve for n=2 and n=3, and then build up from there.
How to really blow a coding interview
When I was in college I admitted to really blowing a coding interview. Honestly, I just froze, mostly because I didn’t know the answer right off the top of my head. McDowell said this is one of the grand misconceptions of the coding interview. Developers think that they can just hear a problem and then belt out the right answer. That’s not how it works. The interviewer really wants to know how you think about the problem and how are you going to approach it. So be calm and don’t get flustered. Don’t expect you need to know the right answer. It can take the absolute best candidates 30 minutes or longer to work through a coding interview, said McDowell.
Here is some of my coverage of the 2012 Silicon Valley Code Camp at Foothill College in Los Altos, California where I was reporting for Dice and Dice News.
Hanging out on the lawn of Foothill College at the 2012 Silicon Valley Code Camp in Los Altos, California was Project Detroit, Microsoft’s attempt to create the most technology-enabled car. With the body of a 1967 Mustang and a whole load of technology from Microsoft, this car took the guys from West Coast Customs eight weeks to build along with four members of the Microsoft Coding for Fun group. This car is not rolling off the line anywhere in Detroit, but if you can afford all that, you can afford this car. Here’s what’s inside:
Two laptops running all the systems in the car.
An XBOX360 for tailgating.
Rear projection screen with messages displayed on back window.
Three Kinect devices that allow you to see what the car sees.
Car PA system.
Controllable RGB LEDs all over as car accents. Change the color to whatever you want.
Digital dashboard that can change to different styles of dashboards.
GPS system (of course).
Windows 8 Slate for passenger side.
All different systems can be controlled or viewed from the Windows mobile phone. Control elements such as the LEDs, the custom messages on the back screen, and announcements. Plus you can view the dashboard or see video from the car.
The car is a cloud-enabled device. All engine information such as your speed, RPMs, etc. are pushed to the cloud so you can do data crunching later.
Here is some of my coverage of the 2012 Silicon Valley Code Camp at Foothill College in Los Altos, California where I was reporting for Dice and Dice News.
You’ve got a team, and it’s got some quirks. That may be OK if it’s got these following factors that make up a high performing product team.
The “five factors of high performing product teams” is the result of a study performed by Actuation Consulting. You can request a full copy of the study here, but above is our interview with the President of Actuation Consulting, Greg Geracie at the 2012 Silicon Valley Code Camp conference at Foothill College in Los Altos, California.
High performing product teams need the following:
High degrees of executive involvement: Instead of just having one executive in place, there is more than one executive that engages with the product team.
Managing the transition from development into ongoing support and launch: If there is a single person that has accountability, there is a higher likelihood that the team will succeed.
Onboarding new employees to the product team: Geracie underappreciated this at the beginning. If you don’t sink enough resources into this you’ll fail.
Make sure the product team is aligned with the company’s overall goals and objectives: Fifteen percent of product teams have a portfolio plan in place and only 14 percent have multi-year strategies. Absence of these is an indicator that you’re not performing at a high level. And even those organizations that do have those plans in place, only 50 percent of their respondents say they do it effectively.
Make sure you have the right people on the team: Forty two percent of respondents said they had the right people on the team. This breaks down when you look at the actual launch process because it’s typically under-resourced and it doesn’t have the appropriate parties on the team.
The biggest surprise from the study, said Geracie, was that the majority of organizations are using blended methodologies to produce their products. If you listen to industry buzz it’s agile that’s getting the marketing noise, but they found that 53 percent are actually using some combination of agile and waterfall.
Here is some of my coverage of the 2012 Silicon Valley Code Camp at Foothill College in Los Altos, California where I was reporting for Dice and Dice News.
Presenting is not all about the glory. There are a lot of annoyances and irritations before you can educate or demonstrate to an audience. At the presenters’ dinner at the 2012 Silicon Valley Code Camp, where more than 200 presentations were given over the weekend, I asked those who presented, “What’s the most aggravating part about presenting?” Here are their answers in a PowerPoint-void video.
Here is some of my coverage of the 2012 Silicon Valley Code Camp at Foothill College in Los Altos, California where I was reporting for Dice and Dice News.
“Every time someone steps into a new role, they’ve been trained to do a previous task and they’ve been promoted because they’ve been a manager really well, a director really well. And so the previous habits that they had which is having lots of meetings, or being able to figure out goals, or being able to be tactical, all of those habits need to be untrained,” said Elaine Wherry, Cofounder and Chief Experience Officer of Meebo which was purchased by Google just a few months ago. “It takes everybody about 6 to 12 months to be able to get there, but knowing the missteps you’re likely to make along the way will really help.”
Wherry led a truly standing room only session at the 2012 Silicon Valley Code Camp entitled “The 100 Mistakes You’ll Make from Contributor to CTO.”
Wherry’s first piece of advice as you level up to the first two positions, manager and director, is to have a clear vision. Communicate clearly. A common mistake is to get into the minutia. Instead, you should just be describing one goal over and over again, in different ways to your different audiences. Say it multiple times so everyone knows the story from their aspect. Don’t get hung up in the details.
When Wherry’s became VP her biggest surprise was that she needed a plan B. While VPs are required to track metrics and performance goals, you’ll still be surprised. Excuses are not an option when you become VP. You will need to be able to deliver no matter what happens. So Wherry recommends that you always have a plan B, and probably a plan C as well.
When you get to the level of CTO, you’ll be responsible for hiring VPs and that’s really difficult, said Wherry, as you’re probably already going to know the person you’re going to hire or at least know of them. You’ll have a sense of whether they can do the job as there are a lot of people you can call as references. But there are going to be lots of discussions and debates and you’ll have a very dynamic relationship. Still, whatever happens you need to respect each other’s roles and decision making.
“When you’re a C and you’re hiring for a VP, saying, ‘Hey, yes, they can do the job, but do we have the same values?’ is a totally different conversation,” said Wherry.
Here is some of my coverage of the 2012 Silicon Valley Code Camp at Foothill College in Los Altos, California where I was reporting for Dice and Dice News.
Scott Guthrie has made a big bounce at Microsoft. He was just the key developer of ASP.net and now he’s the Corporate VP for Windows Azure. At the 2012 Silicon Valley Code Camp conference at Foothill College in Los Altos, California, I spoke with Guthrie about ASP.net, the tools for ASP.net, the potential of Windows Azure, and open source. Here are some highlights from our discussion.
While the tools for ASP.net are fantastic, it isn’t so for Azure. Guthrie said Microsoft is trying to make Visual Studio the ultimate IDE (Integrated Development Environment) for cloud-based solutions.
Support for some scenarios are admittedly weak or nonexistent such as data partitioning, data sharding, multi-tier, and end-to-end diagnostics. Microsoft is working to build those out.
Most people don’t understand that Azure has the unique ability to do PaaS (Platform as a Service) and IaaS (Infrastructure as a Service) together. In a way they can partner and be competitive with services such as Rackspace and Amazon EC2.
Microsoft is embracing more open source technologies. This allows you to use a combination of technologies in the Microsoft ecosystem and the open source ecosystem together.
Here is some of my coverage of the 2012 Silicon Valley Code Camp at Foothill College in Los Altos, California where I was reporting for Dice and Dice News.
If you’re a developer you need to make sure you’re part of the next big thing, said Peter Kellner, founder and coordinator of Silicon Valley Code Camp. Kellner has been running this event for seven years and the one constant he’s seen over all those years has been change.
Developers are trying to figure out what the next big thing is going to be, said Kellner. This year the conversation was around HTML vs. native. Now that Facebook has made the switch to native for its phone app, what does that mean? If you’re an HTML5 and CSS programmer, should you switch to native? What’s the right thing to do?
Education is critical to a developer’s life, not just with programming languages, but all aspects of their business which are heavily represented at Code Camp. Kellner mentioned they had one session with an attorney who talked about patents.
Having been in the coding game a long time and having run Code Camp for seven years, Kellner has noticed that successful developers are willing to change. They’re willing to throw out what they know and learn something else.
“Their skill is not the thing that they know, but their ability to learn the next thing,” said Kellner who admits it’s frustrating when you have to become a newbie in a new language. You get made fun of and people roll your eyes when you ask stupid questions.
If you’re not willing to pay the price to go through that you’ll be stuck working on 15-year old technology, said Kellner. You can still make a living on old technology though, he admitted, assuming you just want billable hours and be the leading expert in a technology that hasn’t been popular in a long time.
That’s not what Kellner wants to do. He loves coding and he’s willing to pay the price to be on the leading edge of the next big thing.
Here is some of my coverage of the 2012 Silicon Valley Code Camp at Foothill College in Los Altos, California where I was reporting for Dice and Dice News.
“[Programming] style is the part of the program the compiler ignores,” said Douglas Crockford, known to many programmers as the Guru of Javascript. Crockford laughs and said he sees himself more as a mahatma. We spoke at the 2012 Silicon Valley Code Camp at Foothill College in Los Altos, California.
While style is personal taste, it can have a critical influence on your error rate. And reducing your error rate will make you more productive, said Crockford.
“Qualities that you want to look for in a programming style are things which will help make your programs more perfect,” said Crockford who developed a program called JSLint which reads all his programs and tells him what he’s getting wrong.
As for how programmers can find their style, Crockford offered this thought exercise: “Think of a bug as being a needle in your program. If you want to be able to find them easily you need to make your program look less like a haystack.”
I tried to get Crockford to explain monads to me, for which all he could explain is that they’re an idiom that can be used in higher order programming. The failure to articulate, explained Crockford, is that once someone understands what a monad is they lose the ability to explain it clearly.
For other advice on style, Crockford recommends a very dated book, Elements of Programming Style by Brian Kernighan and P.J. Plauger. While the book hasn’t aged well because the languages referred to in the book were Fortran and PL/I, the principles on style are still good and hold up today, he said.