Sunday, January 4, 2015
Appealing a Parking Ticket, The MBA Way
Friday, January 2, 2015
What I Wish I Knew Before I Started Learning to Code
-
This is really hard and takes a lot of time
I am probably between 400-500 hours into learning to code. According to code ‘bootcamps’ like General Assembly, if you complete their 12-week immersive course you should be employable full-stack developer at the end of the period. This implies that it takes 12x40 = 480 hours to become a full stack developer. Of course, not all hours are made equally – there is a big difference to learn with a number of teachers and others learning around you and spending all your mental energy on the problem. So this probably represents a lower bound. So I probably have another couple hundred hours before I qualify as ‘competent, entry-level’. This has been really great for my ego. Who would’ve thought I’d learn humility while in business school? There is probably some amount of time that it takes to be a competent full-stack developer -
The learning curve is flat at first and gets steeper over time
Initially, I knew very little. Thus, when I confronted a new piece of learning, I had not pattern recognition or intuitions to fall back on. Learning coding is like learning a language in that all the intuitions are stripped away. I remember in high school Spanish class being tremendously frustrated because I wanted to write papers about the Cuban revolution and Zapatista rebels and neoliberal economic policies in Chile and all sorts of good stuff I was learning in other classes. But I was barely beyond “donde esta el bano?” and was in no position to put together complicated papers about abstract concepts. In the same way, when I started I wanted to make really slick looking apps that I could envision and wireframe. But I was in no position to think about how a front end framework like AngularJS parses the JSON output of a Rails API backend to enable side-loading data (I’m still not really sure what side-loading data is, frankly). In fact, just getting Rails installed and working properly took a month. -
Get the right tools
Sublime Text is awesome and getting a clean command line tool is helpful. I would have bought a Mac if I could afford it – in addition to the standard crappy build of my $800 Toshiba computer (I’ve had to send it to Best Buy for repairs twice - wasting weeks of time), Ruby is not totally compatible with Windows in that a lot of gems are Linux-only. So some things I have to do remotely via Heroku which wastes a ton of time. Get help – real help
You can teach yourself HTML and CSS because they are ‘markup’ languages. It is easy to make a change in a file, refresh your browser and see the result. Even better to learn to ‘inspect element’ in the browser and identify how the element inherits its styling. But once you get into ‘real’ coding, as opposed to text markup languages, there are roadblocks which can be rapidly overcome with some help. I chose Thinkful, which I liked because you get an hour a week with a mentor via Google Hangouts, plus video office hours (which, like normal office hours, I never attended). It isn’t cheap, at $500 per month, but I learned a lot and I’m glad I took the course, which samples the best of other services and puts it into a cohesive whole which mostly introduces concepts in the right order. With Thinkful, I built a Wikipedia clone, a Twitter clone, and go help on my ‘capstone’ project. By working with my mentor, I learned how to debug database issues with the interactive ruby console and got a lot of practical advice on what to worry about and what to overlook (E.g., don’t freak out about getting a page to look just right until you know exactly how the feature is going to work – it might not even include that page in the final form!).Non-technical people value different things than technical people
I remember sitting in the MBA lounge, plugging away at the Twitter project. Finally, after hours of trying to figure out this API, I get a proof of concept to work – I can display an array of three usernames on the page. A blank screen, three names, that’s it. I show it to a friend who nicely says ‘so what?’ But I just put so much work into this! I thought. I showed another friend, someone with a CS background. ‘Oh man, that’s the best feeling in the world, huh?’ ‘Yeah’. The flip side is, of course, also true. A great looking app can be riddled with bugs and performance issues. And so, the quality of a web product is evaluated in vastly different ways by different people. A user evaluates it by its visual appeal, intuitive layout, ability to enable the user’s goals, and speed. An engineer evaluates it by its scalability, the ability to maintain and extend the application, its test coverage, its conformance to norms, Etc. A product manager needs to take some blended approach, to achieve optimal business outcomes.In some ways, writing code is like any other kind of writing
That is an overstatement, but, at its core, writing requires planning and revision. Tell an MBA that you expect them to produce a full DCF model on a private equity target and they will complain it will take them 10 hours to do. Why? Because you have to design the model, research the assumptions, create the model, create sensitivity analyses, play with the numbers, etc. etc. But ask that same MBA how long it takes to build a simple CRUD app, they will vastly underestimate it. Ask an engineer, and they will describe the need to sketch a wireframe, design the database model, consider alternative technologies, write tests, create some features, refactor, etc. etc. The process of creating intellectual output is not fundamentally dissimilar, but the concerns and specific tools are.
Monday, September 24, 2012
Web design
I really wish I had persisted past HTML and learned javascript and python and SQL and all the other things that would have allowed me to be a webtech wunderkind (who doesn't).
For those of us without technical skills, putting together a website, even a word press site, can be challenging.
So I was thrilled to accidently stumble upon Wix.com, which utilizes a Power-Point-like website design tool.
I built a website for World's Best Food Market, my client through Main Street Partners.
Tools like Wix and (in the auto world) Carsforsale.com, are great for small businesses because they are:
- Cheap
- Easy
In a complicated world and small scales, you can never underestimate cheap and easy.
Saturday, September 15, 2012
Becket - Candlelight Message 2008
I saw it as an opportunity to reflect on four years of college that had just past. With this one last opportunity of a Becket summer, I made the most of it. Whereas in the past I might be tired and take a free time resting in the counselors' shack, now I extended myself to campers outside my cabin and my village. I was honored at the end of the session by being asked to organize Candlelight - the end of session reflective service. We chose the theme "The Becket Way".
As I was backing up my computer, I found my message from that Candlelight. I fear I may not find it again, so I am posting it here knowing that Google will cache it for me to find another day.
Camp Becket Candlelight 1st Session 2008
Message, Michael Sloan-Rossiter
This is my first summer back at camp after a two year break. Coming back to Becket, the contrasts from my life at College have been striking. I would like to talk about what makes Becket so special – our community’s commitment to living, loving, and serving each other that lies at the core of the Becket Way.
Outside Becket, we often judge ourselves in relation to others. We celebrate the best athletes in professional sports and the most popular celebrities in Hollywood. We are taught to celebrate when individuals achieve over others. We tell each other that someone is cool because he has the newest iPod or video game console. We look for the newest and coolest products to own so that these gadgets can make us cool too.
These successes and these products are usually fun, but only for those who own them. They cannot spread joy beyond that person. The joy can only spread so far because it is generated through relative success. When everyone has the same cell phone, a newer, better cellphone comes along to be the cool one. Think about competitive sports – if the Red Sox beat the Yankees, Red Sox fans are happy but the Yankees fans are disappointed.
At Becket, we reject the celebration of these relative sucesses. We do not worry about being the best – only about our community being the best it can be. We celebrate our collective successes – the achievements that bring all of us joy. This, more than anything else, is what I believe lies at the core of the Becket Way.
There are a number of things that we do to ensure that everyone can be a part of our joy. When a friend has a problem we listen to them and help them if we can. We are honest with ourselves and each other during the day and at cabin chat. As Adam discussed, our daily service to each other builds our loving community.
People often say that there must be something in the air at Becket – a certain magic that binds this community and inspires us to greatness. And there is. But it is a magic which we create together. At Becket, we discover that when we commit to living in brotherhood and service to one another, the result is greater than the sum of its parts. The magic of Becket is the magic of each of us living and loving and serving each other.
In the outside world, sometimes we build barriers and put up walls so that others cannot hurt us. At Becket we learn to tear down these barriers with the mottos. They help us live by the Becket Way. The mottos work because we all agree to live by them. ‘Each for all and all for each’ works because we trust that when we help fellow Becketites, they will help us back. ‘Better faithful than famous’ works at Becket because our good deeds are noticed and appreciated but the reward of service outweighs the pleasure of receiving the thanks.
Outside Becket, it is sometimes difficult to live by the mottos because people build barriers to protect themselves. The mutual respect found at Becket may not exist. In these situations, we can make up our own mottos to live by. We can keep the flame of Becket alive in our lives every time we reach out to our friends or do a good deed. Amici says it best: “through our Becket days we travel, with a purpose strong – doing deeds of love and service, as we pass along”.
After previous summers at camp, I would arrive home with the Becket spirit. One thing I’d do was pick up litter when I saw it. My friends were always grossed out: “that’s not your trash, let someone else pick it up” they would say. It’s easier to just let the litter sit there. But, as we know from post-cookout clean ups, if everyone picks up a few pieces of trash, then, like magic, there is none on the ground. We can all make a commitment to do one or a dozen small acts of good. Our lives and the lives of those we care about will be that much better for them.
Becket will always be here, even when we are not. Like the sun during night, during the winter Becket is only hidden, not gone. And day will break again, next summer for most of us. Know that there is a shining light here, know that you have helped to build it this summer. Make your last days of this summer count – live the Becket Way. And then live the Becket Way in your own lives – find a way to bring the sunshine of this place home with you.
Amici.
Tuesday, August 28, 2012
Problem Definition vs. Problem Solving
Wednesday, July 27, 2011
I like routines
Anyway, today I broke my routine. I don't have a ton to do at work at the moment - what we consultants call "being on the beach". I hear at the top firms folks actually go to the beach during these breaks. I just watch HBO GO at my desk.
So my routine is already messed up (not working hard). I decided to use some of my now very free time productively, so after lunch I went to the gym. Fine. Did 40 minutes of elliptical and some squats, if you must know. So now after work, which is when I usually (at least for the past 3 weeks) go to the gym, is now open. I decide to get a haircut.
My hair cut spot is Brighton's Hair Salon, which is in the neighborhood I lived in from 2008-2009. Again, routines. I get to the place, find parking quick, pause the podcast (Marc Maron) on my iPhone, and go inside. I have to wait 20 minutes for the guy ahead of me. Then Sofia, who runs Brighton's Hair Salon, sits me down and does a great job making me look presentable and professional. Great.
Next I run into the beer & wine grocery store and grab a Montepulciano and Cupcake Chardonnay. Also some "owater" because they don't have Vita Coca.
I head back to my car and as I turn the corner I can see through the window that the dashboard is lit up with electronics. What?
My car is sitting in the middle of Brighton, running in park. I get in and check to see my laptop is still in its case. Hallelujah, I'll survive another day!
I like routines.