LaunchCode is a nonprofit organization that teaches people of all ages and backgrounds the basics of programming, and matches them with apprenticeships and employment in the tech industry. They also happen to be one of our favorite organizations to work with. The latest 101 class graduates TONIGHT (congrats, grads!), and students are beginning to consider the kinds of jobs they want and software they can build.
Recently, our founder and CEO Ian Robinson met with students to discuss his personal philosophy when it comes to creating great software, and I’d like to share some of the highlights. These ideas are especially useful for new developers, but they’re also reminders of the fundamentals of being effective, innovative, and successful in the world of technology.
Focus on People
Technology ultimately exists to solve problems and help people live better, more productive, happier lives. As a new developer, now is the perfect time to orient yourself to a people-focused process, and use it as your guiding light when making tech (among other) decisions. What does it look like to have a people-focused process? For us, it’s an undying commitment to the user and total dedication to solving real-world problems. Check out some examples of our process here and here.
In the Beginning
Figure out what’s important, early. In your first development job, people will tell you pretty specifically what they want you to do (or at least, they should). What they may not tell you is why - why is the product being built, why a certain technology was selected, or why a particular feature is vital.
It should be your goal, as a new developer, to uncover the ‘why’, and make sure that answer is at the center of every decision you make. What problem are you trying to solve? Are you addressing that problem in the most direct, thorough, accurate way possible? As the saying goes, “measure twice, cut once” - strategy is important.
Do as Little as Possible
No, really! The best solutions tend to be simple and straightforward, even though it can be tempting to over-design and over-architect your product.
Your goal here is to do just enough to achieve the goal. In the design/strategy phase, we like to use the ‘now or next’ mentality. Each new idea or possible feature should be scrutinized to determine, is this a vital to achieving my goal? Or would it be nice to have later on?
Validate and Keep Going
After successfully identifying the key features and goals of your software, choose your technology thoughtfully. Great software starts by being excellent at one thing, and can slowly grow to become more and more useful. When deciding on some of the technical details, be mindful of the future; a new product should work well on day one, but also a few years down the road.
What would you add to the ‘must-know’ list for new developers? Are you starting out in the tech world, and have questions? Shoot us an email and tell us more!