关于《How to Learn to Code Get a Developer Job in 2023》的经验学习

news2024/9/28 19:23:27

1. Who is This Book For ?

for Anyone who is considering a career in software development.

2. Can Anyone Learn to Code?

      Any sufficiently motivated person can learn to code.

3.Executive Summary

Learning to code is hard.Getting a job as a software developer is even harder. But it's worth the effort.

Coding is a high-paying, intellectually challenging, creatively rewarding field. 

career progression:

senior developer->tech lead -> engineering manager -> CTO, and perhaps even CEO.

4.Build your skills

Front End Development : HTML, CSS, JavaScript

Back End Development : SQL , Git, Linux , and Webservers

Scientific Computing: Python and  its many libraries

The best way to learn these tools is to build projects. Try to code at least some every day.

4. Build your network

Create GitHub, Twitter, LinkedIn, and Discord accounts.

Go to tech meetups and conferences. 

Add people on LinkedIn, follow them on Twitter, and go to after-parties.

5.Build your reputation.

  • Share short video demos of your projects.
  • Keep applying to speak at bigger and bigger conferences.
  • Hang out at hackerspaces and help people who are even newer to coding than you.
  • Contribute to open source. 
  • Keep interviewing until you start getting job offers.
  • Your first developer job will be the hardest. Try to stay there for at least 2 years, and essentially get paid to learn.

Most importantly, sleep and exercise.

Any sufficiently-motivated person can learn to code well enough to get a job as a developer.

Remember: you can do this.

Chapter 1: How to Build Your Skills

Nobody Can Make You a Developer But You

Lessons from my Coding Journey

Why is Learning to Code so Hard?

Learning to code is hard for a few particular reasons. And some of these are unique to coding.

What is coding?

Coding is telling a computer what to do, in a way the computer can understand.

Why is learning to code still hard even in 2023?

There are three big reasons why learning to code is so hard, even in 2023.

  1. The tools are still primitive
  2. Most people aren't good at handling ambiguity, and learning to code is ambiguous. People get lost.
  3. Most people aren't good at handling constant negative feedback. And learning to code is one brutal error message after another. People get frustrated.

coding is the rare profession where you can just infinitely reuse solutions to problems you've previously encountered.

Thus as a developer, you are always doing something you've never done before.

How Not to Get Frustrated

Tip #1: Know that you are not uniquely bad at this.

Tip #2: Breathe.

Tip #3: Use Rubber Duck Debugging

Rubber Duck Debugging is a great tool for slowing down and talking through the problem at hand.

How do Most People Learn to Code?

The Importance of Computer Science Degrees

You don't need a Computer Science degree to become a developer.

But their usefulness is undeniable. And I'll explain why.

"Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter." – Eric Raymond, Developer, Computer Scientist, and Author

Why do so Many Developer Jobs Require a Computer Science Degree Specifically?

here's my theory on this: what you learn in university is less important than whether you finished university.

  • The education itself. (You can take courses from some of the best universities online for free, so this alone does not justify the high cost of tuition.)
  • The "college experience" of living in a dorm, making new friends, and self discovery. (Most US University students never live on campus so they don't really get this anyway.)
  • General education courses that help you become a "well rounded individual" (Ever hear of the Freshman 15? This is a joke of course. But a lot of university freshman do gain weight due to the stress of the experience.)

Do You Need a University Degree to Work as a Software Developer?

No. There are plenty of employers who will hire you without a bachelor's degree.

A bachelor's degree will make it much easier to get an interview at a lot of employers. And it may also help you command a higher salary.

If You Already Have a Bachelor's Degree, Does it Make Sense to Go Back and Earn a Second Bachelor's in Computer Science?

No. Second bachelor's degrees are almost never worth the time and money.

If you have any bachelor's degree – even if it's in a non-STEM field – you have already gotten most of the value you will get out of university.

What About a Master's of Computer Science Degree?

These can be helpful for career advancement. But you should pursue them later, after you're already working as a developer.

Many employers will pay for their employee's continuing education.

One program a lot of my friends in tech have attended is Georgia Tech's Master's in Computer Science degree.

Georgia Tech's Computer Science department is among the best in the US. And this degree program is not only fully online – it's also quite affordable.

Will Degrees Continue to Matter in the Future?

Yes, I believe that university degrees will continue to matter for decades – and possibly centuries – to come.

What Does a Computer Science Bachelor's Degree Cover?

What Alternatives are There to a University Degree?

If you want formal education, go for the bachelor's degree. If you don't want formal education, don't do any program. Just self-teach.

How to Teach Yourself to Code

 So whether you pursue formal education or not, know this: you will need to get good at self-teaching.

What Does it Mean to be a "Self-Taught" Developer?

 when I refer to self-teaching, I mean self-directed learning – learning outside of formal education.

What is Self-Directed Learning?

You're going to choose what to learn, from where. That is the essence of "Self-Directed Learning."

What Programming Language Should I Learn First?

The short answer is: it doesn't really matter. Once you've learned one programming language well, it is much easier to learn your second language.20

There are different types of programming languages, but today most development is done using "high-level scripting languages" like JavaScript and Python. These languages trade away the raw efficiency you get from "low-level programming languages" like C. What they get in return: the benefit of being much easier to use.

Python is a powerful language for scientific computing (Data Science and Machine Learning).

You could code your entire career in JavaScript and would never need to learn a second language.

So I recommend starting with JavaScript. Not only is it much easier to use than languages like Java and C++ – it's easier to learn, too. And there are far, far more job openings for people who know JavaScript.

The other skills you'll want to focus on are HTML and CSS. If a webpage were a body, HTML would be the bones, and CSS would be the skin. (JavaScript would be the muscles, making it possible for the website to move around and be interactive.)

You'll also want to learn how to use Linux. Linux powers a vast majority of the world's servers, and you will spend much of your career running commands in the Linux command line.

You'll also want to learn Git. This Version Control System is how teams of developers coordinate their changes to a codebase.

You'll want to learn SQL and how relational databases work. These are the workhorses of the information economy.

You'll also hear a lot about NoSQL databases (Non-relational databases such as graph databases, document databases, and key-value stores.) You can learn more about these later. But focus on SQL first.

Finally, you'll want to learn how web servers work. You'll want to start with Node.js and Express.js.

When you hear the term "full stack development" it refers to tying together the front end (HTML, CSS, JavaScript) with the back end (Linux, SQL databases, and Node + Express).

But the key skills you should spend 90% of your pre-job learning time on are:

  1. HTML
  2. CSS
  3. JavaScript
  4. Linux
  5. Git
  6. SQL
  7. Node.js
  8. Express.js

If you learn these tools, you can build most major web and mobile apps. And you will be qualified for most entry-level developer jobs. 

Building Your Skills is a Life-Long Endeavor

We've talked about why self-teaching is probably the best way to go, and how to go about it.

Chapter 2: How to Build Your Network

"If you want to go fast, go alone. If you want to go far, go together." – African Proverb

How to Build Your Reputation as a Developer

There are at least six time-tested ways you can build your reputation as a developer. These are:

  1. Hackathons
  2. Contributing to open source
  3. Creating Developer-focused content
  4. Rising in the ranks working at companies who have a "household name"
  5. Building a portfolio of freelance clients
  6. Starting your own open source project, company, or charity

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/366525.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

01-基于SOA架构someip 开发-Linux开发环境搭建

前言:SOME/IP 是一个汽车的中间件解决方案,可用于控制消息。从一开始,它的设计就是为了完美地适应不同尺寸和不同操作系统的设备。这包括小型设备,如相机、AUTOSAR设备,以及头部单元或远程信息处理设备。同时还确保了S…

华为OD机试题,用 Java 解【VLAN 资源池】问题

最近更新的博客 华为OD机试 - 猴子爬山 | 机试题算法思路 【2023】华为OD机试 - 分糖果(Java) | 机试题算法思路 【2023】华为OD机试 - 非严格递增连续数字序列 | 机试题算法思路 【2023】华为OD机试 - 消消乐游戏(Java) | 机试题算法思路 【2023】华为OD机试 - 组成最大数…

脑洞|ChatGPT加持下,ChatOps将如何革新团队协作与运维管理?

要说近期科技圈 “顶流”,非 ChatGPT 莫属。 比起目前常见的语音助手与聊天 bot,这位机器人显得更有 “人味儿”,不仅能模拟人类的语气,跟你聊得有来有回,还能写剧本、编音乐、写代码。 说到聊天工具,就让…

低代码开发可以解决哪些问题?

低代码开发可以解决哪些问题?如果用4句话去归纳,低代码开发可以解决以下问题—— 为企业提供更高的灵活性,用户可以突破代码的限制自主开发业务应用;通过减少对专业软件开发人员的依赖,公司可以快速响应市场上的新业务…

完全背包—动态规划

一、背包问题概述 如图,完全背包与01背包的区别只有一点:01背包中每个物品只能取一个而完全背包中每个物品可以取无数个。解决完全背包问题必须首先弄明白01背包,不清楚的可以看我的这篇文章01背包—动态规划。 二、例题 重量价值物品0115物…

Jenkins+docker发布Springbot服务

1.开发Springbot应用 新建多个环境的配置文件 bootstrap.yaml 通过变量获取不同环境active bootstrap-dev.yml bootstrap-pre.yaml 预发布及生产环境配置文件走nacos 二.配置docker 新增Dockerfile文件 Dockerfile内容 # Docker image for springboot file run # VERSION…

代码名命规范浅析

日常开发编码中,代码的名命是个大学问,能快速的看懂开源代码的结构和意图,也是一项必备的能力。在java项目的代码结构中,采用长名命的方式来规范类的名命,能够自己表达其主要意图,配合高级IDE,可…

万字长文带你实战 Elasticsearch 搜索

ES 高级实战 前言 上篇我们讲到了 Elasticsearch 全文检索的原理《别只会搜日志了,求你懂点原理吧》,通过在本地搭建一套 ES 服务,以多个案例来分析了 ES 的原理以及基础使用。这次我们来讲下 Spring Boot 中如何整合 ES,以及如何在 Spring Cloud 微服务项目中使用 ES 来…

考研复试机试 | C++ | 王道机试课程笔记

目录Zero-complexity (上交复试题)题目&#xff1a;代码&#xff1a;括号匹配问题题目&#xff1a;代码&#xff1a;表达式解析问题 &#xff08;浙大机试题&#xff09;题目&#xff1a;代码&#xff1a;标准库里提供了栈 stack<typename> myStack .size() 栈的大小 .pu…

互斥信号+任务临界创建+任务锁

普通信号量 1、信号量概念 2、创建信号量函数 3、互斥信号量 创建互斥信号量函数 等待信号量函数 释放互斥信号量 4、创建任务临界区 5、任务锁 任务上锁函数 ​编辑 任务结束函数 效果 普通信号量 1、信号量概念 信号量像是一种上锁机制&#xff0c;代码必须获…

Java性能-回收算法-Throughout回收算法

垃圾回收算法 理解Throughput回收器 回收器三个基本操作——回收 找到不使用的对象 释放内存 压缩堆碎片 Minor GC和Full GC&#xff0c;每个操作都会标记&#xff0c;释放和压缩对应的目标分代 [63.205s][info][gc,start ] GC(13) Pause Full (Ergonomics) [63.205s][info][…

Odoo丨Odoo框架源码研读三:异常处理与定制化开发

Odoo丨Odoo框架源码研读三&#xff1a;异常处理与定制化开发 Odoo源码研读的第三期内容&#xff1a;异常处理与定制化开发。 *异常处理* Odoo中的Exception是对Python内置异常做了继承和封装&#xff0c;设定了自己核心的几个Exception。 而对异常的处理和Python内置异常的…

【趋势分析方法三】MATLAB代码实现TFPW-MK检验

目前水文时间序列趋势分析的方法很多&#xff0c;主要分为参数检验和非参数检验两大类&#xff1a; 参数检验中常用的有线性回归法、滑动平均法、累积距平法等非参数检验则主要包括Mann-Kendal&#xff08;MK&#xff09;法和 Spearman 秩次相关法等 虽然从理论上讲&#xff…

2023年,什么行业更有发展前景?

关于有前景有发展的行业推荐&#xff0c;小课今天还是推荐咱们IT互联网行业。 很多人会说现在懂电脑的那么多,这个行业都饱和了,很多学电脑的找不到工作都改行了。但事实是现在每个行各业都需要互联网&#xff0c;需要懂电脑的技术人才&#xff0c;尤其是在云计算、大数据到来…

了解一下TCP/IP协议族

在《简单说说OSI网络七层模型》中讲到&#xff0c;目前实际使用的网络模型是 TCP/IP 模型&#xff0c;它对 OSI 模型进行了简化&#xff0c;只包含了四层&#xff0c;从上到下分别是应用层、传输层、网络层和链路层&#xff08;网络接口层&#xff09;&#xff0c;每一层都包含…

《安富莱嵌入式周报》第304期:开源硬件耳机设计,AI单片机STM32N6已确定为M55内核,另外还有新品STM32H5, H50X, H7R, H7S发布

往期周报汇总地址&#xff1a;嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 更新一期视频教程&#xff1a; 第6期ThreadX视频教程&#xff1a;图文并茂吃透RTOS运行机制&#xff0c;任务管理&…

微信小程序的全局弹窗以及全局实例

全局组件 微信小程序组件关系中&#xff0c;父组件使用子组件需要在父组件index.json中引入子组件&#xff0c;然后在父组件页面中使用&#xff0c;这种组件的对应状态是一对一的&#xff0c;一个组件对应一个页面。如果有一个全局弹窗&#xff08;登录&#xff09;&#xff0…

拒绝select *,Navicat快捷查询表中所有字段以,隔开两种方式【附带阿里开发手册】

一、前言 今天公司规定了不要使用SELECT *进行查询&#xff0c;让我想到阿里的《Java 开发手册》 中的ORM 映射规范也是这样的&#xff0c;于是翻出来看看&#xff0c;刚刚好重温一下&#xff01; 规范看了一定要实践&#xff0c;严格规范自己的代码风格&#xff0c;做一个优…

TEMU联盟计划用意何在?做推广达人真的能收入满满吗?

据东哥近期了解&#xff0c;Temu在北美市场表现十分火爆&#xff0c;甚至冲上了AppStore下载榜第一名。Temu在美国市场上采用了类似PDD的病毒式传播策略&#xff0c;以实惠的产品和折扣吸引消费者并动员普通人大量传播链接和App下载&#xff0c;所以有了TEMU联盟计划&#xff0…

Sprng依赖注入(三):构造方法注入是如何工作的?

前言这是Spring依赖注入系列的第三篇&#xff0c;前两篇主要分析了Spring bean依赖属性注入的两种方式&#xff0c;是字段注入和setter方法注入&#xff0c;单独比较这两种方式&#xff0c;会发现其过程和工作原理非常类似&#xff0c;那么构造方法注入会不会也和前两种比较类似…