The four weeks of One Month’s Programming for Non-Programmers (PFNP) course covered the following topics:
- Web Development Cycles
- Front- & Back-end Developers
- Choosing a Programming Language
- A Short Exercise in Front-end Coding
- Content Management Systems
- Hiring the Right Candidate for Roles
The typical Web Development Cycle can be divided into four major components:
- User-Experience – understand the target user and his goals, and how best to join them.
- Information Architecture – creating a visual blueprint using wireframes, sitemaps and flow diagrams to communicate with your visual designer.
- Visual Design – using comps and style guides to determine the exact aesthetic of a site.
- Development – front end and back end.
Back-end developers are involved with how a site works, data, and can be proficient in whatever language is necessary to fulfill the project’s objectives, e.g., Ruby, PHP, C++, etc.
Choosing A Language
Determine whether you want to develop a web app, a native app, or other.
One Month recommends discarding pre-web languages that don’t cross into the world of mobile/web development. Specifically, they recommend concentrating on:
7. Objective C
The four main criteria in choosing a programming language for your project are:
1. Difficulty Level: How difficult is it to learn this language?
2. Community: How large and supportive is the community of developers?
3. Development time: How long will it take you to develop your project with this language?
4. Your resources: Who is currently available to help you?
When designing for mobile/web, it’s important to be aware of the responsiveness of your design, which are the CSS elements that allow a site to reproduce clearly on a number of different-sized devices.
Also, know your tech stack (or at least the top three):
* Front-end language
* Server-side language
* Web Server
When it comes to JS, be familiar with the big 8 concepts:
The 8 Concepts
Choosing a CMS and Hiring The Right People
One Month generally recommends just choosing WordPress, although one can monitor trends in CMS popularity with trends.builtwith.com.
In order of customization and skills required:
Squarespace has very polished themes, but one can only customize the CSS and choose from ~100 themes.
WordPress.com is generally for beginners who need little customization.
WordPress.org is for users who are self-hosting and would like a lot of flexibility with the build of the software.
Custom CMS – you choose everything because you’re making it from scratch.
One Month endorses the practices described in the book “Who – The A Method for Hiring”.
Scorecards are a good thing to prepare when looking to fill a job. A scorecard requires one to list the mission of the job, objective goals that need to be met, and required competencies to meet those goals.
My objective for the next three months is to run a beta test of my company’s software in order to validate MVP status and establish a product roadmap based on actual user feedback. Our 12-month goal is to have 1,000 paying customers.
I learned a good deal over the past four weeks, including the broad overview of how responsibilities for front- and back-end development are divided and the challenges that developers face when they are asked to create changes and features.
My next learning goal is to flesh out how front and back environments interact with each other.