As a novice programmer, I’ve had to rely on looking up random tutorials that walk through exactly how to do certain things. I’ve been given some advice that it’s important to try to learn through documentation as well.
I can see how this makes a lot of sense. Tools are constantly changing and the documentation is more likely to be up to date than any random third party tutorial. Additionally, documentation, likely covers more of the functionalities.
I created a very small project incorporating Bootstrap, Flask, and Heroku. My code is on github here.
Below are resources that I found most helpful in building this.
I’ve been trying to learn how to build a web application. I’ve been perusing a few tutorials and I think this one below was the easiest to follow.
Building a website with Python Flask
I heard the other day that a startup led by a person that I respected is planning on shutting down. It’s unfortunate because I admired the founder’s views. I suppose this is the nature of startups.
On another note, at a talk I attended, Ron Weissman mentioned that only 1/9 startups that received seed funding would go on to raise a series A, meaning 8/9 startups would fail. He attributed the “series A crunch” to the fact that angel and seed financing has had explosive growth relative to series A financing.
I attended a talk yesterday by Ron Weissman. Ron Weissman is an angel investor at Band of Angels. He was a professor at Brown University, but left to join Steve Jobs at NeXT. He’s worked in tech companies and in Venture Capital for many years.
He shared some lessons he learned from Steve Jobs.
- Micromanagement by walking around – Don’t stay in your office isolated from everyone else. Know what people are working on.
- Intense focus – Focus means saying no. It might mean turning away a big customer if it takes away focus from your broader customer base.
- Clean Sheet Thinking – Don’t get married to your past. Be willing to move in a new direction
- Be 10x better – Be top 1-3. What can you do that you are obviously 10x better to the customer? It can be a number of things: amazing product, barriers to entry, availability of information, ability to create buzz, access to customers, etc.
- Hire Different – Don’t focus on credentials. Evaluate how they can contribute.
He also talked about what he looks for in investments using the acronym DUMB.
- Domination – Can answer the question how they will dominate the market
- Unusual – Many business models are the same. Show how it is different. You can also prove this with traction and metrics.
- Metric-Driven: What are the internal metrics that will drive your finances?
- Business-Driven: Many companies with great technology and great products fail. Need to know how you are going to build a successful business.
Andy Grove was the first hire at Intel. As CEO, he helped transform the company into an industrial giant. His biography by Richard Tedlow is on my reading list. I’m currently reading The Innovators by Walter Issaacson and there was a quote by him that I thought was worth writing down.
By the time I was twenty, I had lived through a Hungarian Fascist dictatorship, Germany military occupation, the Nazis’ Final Solution, the siege of Budapest by the Soviet Red Army, a period of chaotic democracy in the years immediately after the war, a variety of repressive Communist regimes, and a popular uprising that was put down at gunpoint. –Andy Grove
I started on the back end section with Python. I decided to take a break and read Python Programming. I’d learned some Python with the automatetheboringstuff class, but I wanted to get a better grasp of the fundamentals. I heard that this book also does a good job of covering basic computer science topics and software design principles.
Git helps with version control. I’m working with a friend on a project and I’ve been using it to see what changes he has made. I haven’t gotten into some of other functionalities such as branching. I’ll walk through an easy example.
Let’s say I have an HTML file, index.html, in a folder below.
To initializing tracking, I would go to the folder with the file on the command prompt and type in “git init”.
“Git add <filename or * for all>” adds these files to a staging area. You need to commit the files before changes can be tracked. ‘Git commit -m “<a message>”‘ stores these changes.
Now, if I make a change and type “git diff”, I can see what was added or deleted since my last commit.
“git add” and “git commit” saves these changes. If you do “git checkout <filename>” , changes to these files will be discarded and the file will revert to the previously committed version.
Some motivating stories on career transitions into programming.