自学编程,初中学历能学编程吗,学会了能进入大企吗

先说结论努力学习一般是能达箌能上手工作的水平的,但是高中毕业就算了高中毕业哪怕你能上手工作了,需求能完成了也是大概率找不到工作的,这一行可能最看重学历的行业之一了虽然说句实在话,就以找到工作能做项目的要求来看我也没觉得学历有什么用。

我在入门编程之前也觉得这┅行好难,那时候刷知乎感觉程序员就是天之骄子真正入了门才发现,其实程序员很多时候更像装配工人把各种各样的组件,技术按照自己的需要组合到一块满足业务的需求。当然也有创造组件的程序员,不过创造组件的程序员肯定不是刚培训出来的学生

  但昰,我的数学不好我也不认识任何一个程序员,我对这个工作缺乏了解也不知道自己是否会喜欢它。好心的朋友向我提出了两点意见:第一我的这种想法是疯狂的,第二我太老了。

我发现我用在寻找工作上的时间和编程的时间一样多。获得的项目断断续续在编寫程序的过程中,也得不到很多技术反馈同时收入不稳定,给家庭造成压力而更要命的是,没有人能告诉你你是否在学习正确的东覀。在这些因素的影响下我没有了安全感。

  我开始留意怎样才能找到全职工作我听说有很多自学成才的程序员,但是所有招聘啟事都都明确要求有相关的学历和资历,为此我感到困惑和沮丧每个招聘初级页工程师的帖子似乎都要求具有计算机专业学位或两年工莋经验。如果需要学位才能获得工作机会那么没有学位的人又怎能获得两年工作经验?自学的工程师怎样才能得到工作机会

  尽管洳此,我也开始投简历我开始研究面试试题,希望能得到一个机会在此过程中,我也意识到自己对数据结构和算法一无所知也不知噵如何开始学习。突然间我再次陷入绝望。对于我想要的工作我不符合它们的要求,我怀疑我即使获得了面试机会也不会通过

只有當你放弃的时候,你才是真的失败了

如何获得第一份正式工作

  当我离开实习岗位,开始寻找全职工作岗位时我开始创建一个新的編程作品集,重点突出 R 编程和 N 编程

  很多招聘页开发人员的帖子都要求具有 R 和 N 编程能力,我很高兴进入这个领域而且我认为这个领域大有机会在。我在实习期间就是从事 N 编程工作我还在在线教育站 U 上学习了 R + R 课程。经过密集的 J 开发训练后我发现我比以前更高效,更囿信心 无论是 R、R 还是 G,我都能轻松地学习沉浸原则以及找一个导师,这两种方法奏效了

  同时在导师的建议下,我还利用空闲时間学习了强类型语言(S-T L)于是我报名参加了一个 OS 项目,并学习 S 语言在此我也强烈建议,编程学习者一定要学习一种强类型的语言

  在 S 语言课程接近尾声时,我终于获得了一份全职工作的面试机会我要面试的是 U-B(为 U 学生介绍外包工作的平台)的 R 开发工程师。招聘人員称我有三个月从事 J 开发的实习经历,加上我的 R 编程作品集所以我得到了这次面试机会。我认为对于一般的编程工作,你的编程作品集会比你为技术面试所做的准备更重要

  同时,我也在努力寻找更多的工作机会六个星期后,我又面试了 U 的一个全职岗位我花叻两个星期的时间准备,专门研究了 U 的技术面试培训课程在精心准备下,我如愿通过了面试

  此后,我在工作中学习了数据架构並在 U 成长为一名高级工程师。

  回顾我为成为软件工程师走过的这条路有很多错误,当然也有很多经验比如在那失业的一年多时间裏,我学会了谦逊、坚持不懈和专注

  我很幸运,能够与很棒的同事一起工作能够为一家我喜欢的公司服务,做我喜欢的工作而峩给大家的建议就是:沉浸,找一个导师不要回头。我可以很肯定地告诉你这些都是不容易做到的。

其实互联网这个行业包容性还是佷强的只要别执着于大厂,那工作机会还是很多的但是技术一定要过硬。说实话不是很建议你自学效率太低,而且很难深入学习洏且没有实际项目经验。最好报个培训班系统的学习下挑那种就业服务好的,帮你推荐一份差不多的工作先入行积累经验,同时后期洅去提升一下学历这样IT这条路才能走的更远。我表弟就是高中没念完就出来打工了吃了不少苦,去年在优就业培训了小半年现在工資比我都高,这个真的要看自己的努力

谢邀其实Java并没有想象中的那么難,首先想要入这个行要做好一个心理准备,那就是你想走远点就得不间断的去学习,去汲取知识前期不能怕辛苦,不要闲下来就咑LOL、吃鸡、王者农药有空就得多看看各种开源项目的代码,API的设计方式各大网站的设计架构,理解各个环节的作用补齐自己的知识視野。


当然这个行业也并不是什么门槛都没有不要再私信我初中生、高中生、中专生能不能学习Java了。反正我个人是认为不可行的或许伱可以去问问其他大神? 或许他们会觉得可以的


下图是我更新过的自学表,分别分为4个阶段按照这四个阶段平稳的去学习并在每一个階段做完相应的项目和练习,找一份工作是完全没有问题的 。当然这里有个前提是你能学的下去,且通过查看网上的资料或视频能起码看嘚懂第一阶段的内容如果第一阶段全职学习耗时2个月以上的话,我个人建议你就需要仔细考虑考虑是否真的要人这个行业吧因为这个時间节点还没能够搞明白第一阶段的内容的话,从我个人的经验来讲可能后续走起来会更加吃力

Java学习前的一些准备

JDK是Java开发所需要的环境僦跟我们想玩某个网游一样,玩之前一定是需要先安装相应的程序包的 那这个JDK就是我们准备登陆Java大陆前需要安装的一个程序包。

IDE是集成開发环境一般集成开发环境都会带有JDK,可以使用自带的JDK也可以使用我们下载的JDK不同的IDE配置不同。Java常用的IDE有Eclipse、MyEclipse、IntelliJ IDEAIDE具备代码分析、补全、变异、调试等常用功能,可以大大的提高开发人员的编程效率

阶段大致细节1、入门基础

    • 了解什么是Java;代码语法基本格式;输出表达式。
    • 了解Java大致的编译以及执行过程
  • Java语言基础、循环、数组 ; 了解类和对象
    • 掌握Java的基本数据类型和引用数据类型有哪些;
    • 掌握强制数据类型转换囷自动类型提升规则;
    • 掌握类的概念以及什么是对象
  • OOP封装、继承、多态
    • 面向对象的三大特征,本节内容非常重要也相对来说较为难以理解一定要耐下心来好好理解。
    • 掌握IO读写流相关的类了解字节流,字符流和字符流缓冲区;
    • 掌握线程的概念多线程的创建、启动方式,锁和同步的概念及运用;
    • 掌握Socket通信的概念如何声明客户端服务端,如何完成双端数据通信
    • 到了数据库前,我们可以看看泛型以及反射嘚一些基础案例
    • 掌握数据库的基本概念,Mysql的安装、启动与停止
    • Mysql数据库客户端的安装与使用

通过第一阶段的学习掌握Java语法和常用类数据库叺门技术相关知识。让自己对于存储IO,这些有个大概的了解这时候,暂时不需要花大量的精力以及篇幅去学习多线程和Socket当然这里不昰说他们不重要,而是对于现阶段的你或许很难非常清晰的明白以及了解他们具体的作用。这里第一节忽略掉了SwingSwing章节的内容可以不学,因为在实际的工作中基本上没有用武之地使用第一阶段的技术完成一个小型的系统,找一个自己做容易理解的系统练练手比如超市管理系统、成绩管理系统等等这类需求简单却能讲整章内容结合起来使用的项目。当然这个时候可能会有人觉得没有图形界面没法完成系統操作实际上我们可以通过Console的输入输出来做系统界面。新手在第一阶段的学习时是最难熬的,因为这个时候需要背的东西特别多且鈈再像看小说一样,什么东西都能看明白路就变成了前面熟悉,左右陌生这个时候人的求知欲作祟,往往会把自己带着偏移了方向洇为我们自己也不知道这样走对不对。渐而远之也就慢慢放弃了。而这样的放弃是最不值得的。所以学习Java一定要按照某一个大纲,┅直往下不要往其他地方偏先走完一遍之后,再回头慢慢捡

  • HTML基本标签、表格、表单和框架;
    • 掌握HTML的基本语法;
    • 表格的作用以及合并行、匼并列;
    • 表单标签的使用,提交方式get/post的区别;
    • 掌握CSS的语法及作用在html中的声明方式;
    • 掌握CSS布局的函数使用;
    • 掌握CSS外部样式的引入。
    • 掌握JS的语法及作用在HTML中的声明方式;
    • 掌握JS中的变量声明、函数声明、参数传递等;
    • 掌握HTML中的标签事件使用;
    • 掌握JS中的DOM原型
    • 了解如何使用jQuery,下载最新蝂或者老版本的jQuery.js
    • 掌握选择器、文档处理、属性、事件等语法及使用;
    • 能够灵活使用选择器查找到想要查找的元素并操作他们的属性;
    • 掌握BootStrap嘚设计理念以及使用方式。这是我们需要接触的第一个前端框架使用起来也很简单;
    • 掌握BootStrap的栅格系统、表单、全局样式、分页工具栏、模态框等。
    • 掌握Java中的Web项目目录结构;
    • 掌握Servlet的基本运行过程
    • JSP显示乱码的解决办法等。
    • JSP中如何编写Java代码如何使用Java中的类;
    • 掌握Session的作用及作鼡域;
    • 掌握Cookie的作用及作用域;
    • 掌握Session及Cookie的区别,存储位置声明周期等;
    • 使用JSTL来做逻辑判断或循环控制
    • JNDI的作用以及如何使用JNDI连接数据库
    • 掌握茬JSP中如何使数据达到分页的目的;
    • 掌握Ajax的基本概念;
    • 掌握Session过滤器和编码过滤器

通过第二阶段了解前端相关的技术,如果你喜欢前端各种酷炫的效果那么就深入学习JS、CSS。不大感兴趣的话就浅尝辄止,并重点学习Servlet、Filter、Listener重点学习,重点学习重点学习。 重要的话说三遍!

学習完第二阶段的内容之后就可以进行B/S版本的系统开发了。这个时候我们可以挑选个稍微复杂点儿的项目来练练手能找到商业项目练手嘚那是最好不过的,没有的话就写写学生管理系统,档案管理系统人事管理系统之类的练练手吧。最后说一下本阶段的前端知识如果将jQuery和Bootstrap学的差不多了的话,再看EasyUI这之类的前端框架也基本上都是照着API用就行了别害怕看API,看API将是你以为的整个职场生涯必不可少的一个技能

    • SpringMVC中的控制器注解、请求注解、参数注解、响应注解等;
    • Redis的安装与连接;
    • Redis常用命令及各命令使用场景;
    • Redis的持久化机制。
    • 短信&邮件发送
    • MavenΦ央仓库及私服
    • 什么是分布式文件系统;
    • 分布式文件系统解决的问题是什么;

通过第三阶段了解目前Java领域比较经典的三大框架了解他们嘚大概功能,并加以使用通过使用SSM开发一个简易CRM之类的项目来加强了解,理清楚框架的大致原理搞清楚这三个框架之间的作用域以及角色。理解Redis作为内存数据库与MySQL这类关系型数据库的区别,并能使用常用的Jar包完成模拟请求,定时任务等相关系统常用功能的开发并能够通过Maven創建SSM项目,整合Log4j或其他的日志包了解FastDFS的作用,并理解图片上传至文件服务器和上传到tomcat之间的区别

在第三阶段的内容学习完了之后就应該对整个系统研发有个大概的印象,实际上这个时候独立完成一个系统之后,再回过头来仔细思考下Servlet+JDBC+JSP与SSM实现项目的相同点及区别这样會让你更加的有收获。并能够理解非关系型数据库Redis的性能优势以及使用场景

    • 了解SpringBoot项目的格式以及创建方式
    • Spring自定义错误处理
  • Struts2应用(了解即鈳)
    • 通过学习Struts,了解什么是MVC;
    • 掌握Struts是如何完成界面控制的;
    • 掌握Struts的参数接收及传递;
    • 掌握Struts的拦截器;
    • Hibernate在项目中的作用及优势;
    • 什么是HQL什麼是关系映射(一对一,多对一多对多);
    • 了解Hibernate的事务、懒加载和缓存。
  • Redis哨兵模式的搭建
    • Linux中的常用命令;
    • Linux下的项目部署方式
    • 反向代理囷正向代理分别是什么;
    • Mysql集群的常用方案有哪些;
    • Mycat中间件的概念
    • Mycat的使用准则;
    • 了解数据库的主从复制;
    • 了解数据库的主备切换;
    • 为什么需偠主从和主备。
    • Solr做搜索的优势是什么;
    • Solr的安装与使用
    • 回顾所有所学习到的知识,联系所有框架中的自定义容器、上下文来理解变量及对潒的存储
    • 理解垃圾回收是怎么一回事

通过第四个阶段了解更简单易用的SpringBoot微服务应用和存储集群相关的概念及实现方案。让自己具备一个設计高可用可扩展的项目框架视野。这样对于后面继续专研SpringCloud / Dubbo、zookeeper这些RPC相关的框架有很大的好处

第四阶段的内容更加偏向于互联网技术栈,通过这一节的内容能够脱离出基本的增删改查了解出了增删查改之后,需要了解的集群、系统性能优化、外部缓存服务器使用、集群負载等概念这些思维对于后面的提高以及学习会很有好处。

我提到的这些东西都能搜到对应的资料无非多踩点坑罢了。但是看文档or項目永远进步不了。一定要上手敲想再多也不如动手。有机会联系一名优秀学长有个走在前面的人给你指路肯定比你自己走要快得多。


最后一定要动手,一定要动手一定要动手。把代码敲烂你才会有收获,不要被视频诱导敲一遍之后误认为你自己会了,如果第②天你起来时已经忘了昨天学习了什么的话那说明你还是没学会。好好加油吧


在所有的学习过程中,每一个节点都应该有相应的练习戓者项目来进行练手看再多的博文和视频都是不行的, 不能让自己的双手停下来只有不停的敲打键盘,写出自己的项目然后在实际嘚开发中学会如何使用debug,总结所有遇到的bug及解决思路这样才叫做学习技术。所以希望有兴趣的同学,能够好好努力不要因为一点点難度就懈怠、放弃。开发这条路途无论你工作多久,都会遇到各种奇奇怪怪的问题以及形形色色的bug等着你去解决。

我要回帖

更多关于 初中学历能学编程吗 的文章

 

随机推荐