Skip to content

Commit 83b942b

Browse files
committed
getting started in tech doc first draft
1 parent 199dae8 commit 83b942b

2 files changed

Lines changed: 126 additions & 1 deletion

File tree

general/getting-started-in-tech.md

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
---
2+
layout: page
3+
title: Getting Started in Tech
4+
---
5+
6+
Technology is a vast subject. It can enable you to write a to-do list on your phone, sell goods online or send a space probe to Neptune. Software is built by developers and codebar is here to teach you how to write such software. Whether you want to make a career of it or use your skills on personal projects.
7+
8+
Typically software can fall into two (very broad) categories:
9+
10+
- **User interface** - How to present information to people using the technology and enable them to interact with it. For example:
11+
- Displaying your vehicle and responding to joystick inputs in a game of Mario Kart
12+
- Displaying your balance and allowing you to make a payment in your bank’s online banking site
13+
- Displaying current temperature and allowing you to change the target on your Hive or Nest smart thermostat
14+
- **Data processing** - How to manipulate the data and perform the task that the software implements. For example:
15+
- Calculating the position of your vehicle and detecting collisions
16+
- Validating that your account has enough funds to send this payment and processing the payment
17+
- Starting or stopping your heating or air conditioning depending on the current temperature and the target you set
18+
19+
At codebar, we concentrate on web technologies for several reasons:
20+
21+
- It doesn't need any initial investment: all the tools you need to learn about web technologies available online for free. And the computer you use doesn’t have to be new or a top of the range model, most computers will perform well, including shared computers in libraries.
22+
- You can see results very fast.
23+
- They are ubiquitous: a lot of technologies that started on the web are now used in many other places. Even if you end up working in a domain that has nothing to do with the web, you will likely use or interact with web technologies.
24+
25+
Web technologies are designed in such a way that they tend to more clearly separate user interface work from data processing work. As a result, web developer jobs typically fall into three broad categories:
26+
- Front-end: work that deals with user interfaces
27+
- Back-end: work that deals with data processing
28+
- Full stack: work that combines both aspects
29+
30+
Both front-end and back-end have their own complexities and neither is easier than the other. So let’s have a look at what they both involve. Take this web page as an example. It is a page on the codebar.io website and you are reading it via a web browser on a computer or mobile device. The codebar website runs on a computer in a data center that runs a piece of software called a web server. Both talk to each other via the internet.
31+
32+
ADD GRAPHIC
33+
34+
To build a website like this involves two pieces of code:
35+
- The front-end code that runs in the web browser
36+
- The back-end code that runs on the web server
37+
38+
Below we got into more depth about these roles, and what languages you would need to learn.
39+
40+
## Front-end Development
41+
42+
As a front-end developer you would be responsible for the code that runs in the web browser and displays information to visitors. It is typically the practice of writing HTML, CSS and JavaScript.
43+
44+
#### HTML (Hyper Text Markup Language)
45+
46+
HTML is the language used to build websites. All text and content that you see on the internet is built using HTML.
47+
48+
[HTML Tutorials]()
49+
50+
#### CSS (Cascading Style Sheets)
51+
52+
CSS is used alongside HTML to style the page and make it look good.
53+
54+
[CSS Tutorials]()
55+
56+
57+
#### JavaScript
58+
59+
JavaScript is used to change what is displayed on a web page in response to user activity.
60+
61+
[JavaScript Tutorials]()
62+
63+
## Back-end Development
64+
65+
As a back-end developer you would be responsible for the code that runs on the server. This type of development usually consists of three parts: a server, an application, and a database. Many back end developers know front end languages such as HTML and CSS but need to use languages such as Ruby on Rails, Python, PHP, Java, and .Net to get the job done.
66+
67+
These two roles overlap a fair amount so starting in one role doesn’t close the other one should you decide to change later. They also have strong ties to other areas of technology. For instance, front-end development shares a lot with mobile app development; back-end development with data science.
68+
69+
#### Ruby
70+
LINE ABOUT RUBY
71+
72+
[Ruby Tutorials]()
73+
74+
#### Python
75+
Python is the preferred option for data science thanks to scientific libraries like numpy and pandas.
76+
77+
[Python Tutorials]()
78+
79+
#### Node.js
80+
Node.js is an open-source, cross-platform, back-end JavaScript runtime environment that runs on the V8 engine and executes JavaScript code outside a web browser.
81+
82+
[Node Tutorials]()
83+
84+
#### PHP
85+
LINE ABOUT PHP
86+
87+
[PHP Tutorials]()
88+
89+
### Databases
90+
91+
#### SQL
92+
LINE ABOUT SQL
93+
94+
[SQP Tutorials]()
95+
96+
#### No-SQL
97+
LINE ABOUT No-SQL
98+
99+
[Tutorial Link]()
100+
101+
## Full stack Development
102+
103+
A full stack web developer is a person who can develop both client (front-end) and server (back-end) software. For this we suggest learning any of the languages under front-end development and back-end development. Below are some further subjects that relate to both:
104+
105+
#### Testing
106+
Why do you want to test and what different types of tests you can do:
107+
- Unit testing
108+
- Integration testing
109+
- End to end testing
110+
- Acceptance testing: Cucumber/Gherkin + shared understanding with business
111+
- Security testing
112+
- Performance testing
113+
114+
115+
#### REST API
116+
Basics on HTTP, JSON and how to put this together to use or build an API.
117+
118+
#### Privacy
119+
Basics on privacy, things like GDPR and overall principles.
120+
121+
### Accessibility
122+
We feel this is particularly important if you're wanting to be a front-end developer.
123+
124+
[MDN Article](https://developer.mozilla.org/en-US/docs/Learn/Accessibility)

index.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ <h1>codebar tutorials</h1>
3232
<h2>Guides</h2>
3333

3434
<ul>
35-
<li><a href="general/setup/tutorial.html">Getting started guide for students.</a>
35+
<li><a href="general/getting-started-in-tech.html">Getting started in Tech</a></li>
36+
<li><a href="general/setup/tutorial.html">Getting your laptop set up for codebar</a>
3637
<br>(If you're new to codebar, follow this to set up your computer.)</li>
3738
<li><a href="coaches/lesson-guide.html">Lesson guide for coaches</a></li>
3839
<li><a href="general/setup/how-to-use-discord.html">How to use Discord for codebar's virtual workshops</a></li>

0 commit comments

Comments
 (0)