Tips, advice, and guidance for changing your career.
on Tuesday, April 12 @ 8:22pm
Software developer positions are highly desired. Just as astronauts, Supreme Court justices, and Hogwarts professors must have a variety of skills and knowledge, software developers have a combination of technical knowledge and soft skills. This post explores the skills that many companies look for.
Coding Bootcamps and Computer Science degrees are popular routes for students to launch careers in software development. Coding bootcamps average 12 weeks in length, and teach practical skills like building web applications from scratch. They prepare students for a job as an entry-level web developer, intern, or freelancer. Computer science programs average 4 years in length, and teach a wide range of concepts in programming, algorithms, advanced math, statistics, and general electives which may not correlate with computer science.
Coding bootcamps and computer science programs are the two most prevalent ways to start a career as a software professional. But coding bootcamps lack computer science fundamentals, and computer science programs often lack practical experience, and are extreme commitments in time and expense. The gap between what you learn in a coding bootcamp and computer science degree is why we created the Software Engineering Track.
Bloc’s Software Engineering Track teaches practical skills and combines them with advanced computer science topics and open-source software development. It teaches you everything you need to be a professional software engineer, and leaves out everything you don’t. We know this because we built the program after consulting with companies like Google, Facebook, and Twitter. After consulting with top engineering teams, we developed this chart to represent the programming learning curve:
We believe that 2,000 hours of focused study and practice are essential for becoming a software engineer. This chart shows where you’ll be after graduating from a coding bootcamp — which is between 500 and 1,000 hours — but it doesn’t explicitly illustrate why our Software Engineering Track is more effective than a computer science degree. Let’s explore four reasons why Bloc’s Software Engineering Track prepares you for a career in software engineering more effectively than a computer science degree.
For more information on why coding bootcamps often fall short, [read this blog we wrote about the topic](NEED URL).
A computer science program is four years worth of full-time study. This roughly totals to 6,000 learning and study hours. Thousands of those hours are unlikely to directly help you once you get a job though. A computer science program forces you to take electives, and advanced classes on artificial intelligence, history of computing, and theory that are not easily translatable to working as a professional software engineer. It’s not that these are bad things to learn – they may provide some useful life lessons – but they are not essential for becoming a software engineer. Bloc’s program includes 2,000 hours of learning and study hours, and every single hour is meaningful in becoming a software engineer.
Spending one year learning everything you need is a better use of time than spending four years learning many things you don’t. There’s plenty of time to learn new things in life, but when you’re paying to learn, the topics should be directly related to the outcome.
Computer science programs range in cost based on factors like residency, school, and financial status. A four year degree can easily reach into the six figures. For this reason, many students are forced to take out loans with interest rates between 4% and 6%. This is life-altering debt that will likely take years to pay off.
Bloc’s Software Engineering Track is not cheap — $24,000 is significant amount of money — but with reasonable payment options this amount should not be life-altering. In fact, financing as low as $750/month is available, which allows you to pay for the course after getting a job. Also, Bloc offers a tuition reimbursement guarantee that if you are not able to find a job as a software engineer with a starting salary of at least $60,000, you’ll be refunded in full. No computer science program offers such a promise.
At $24,000, Bloc’s program is a fraction of the cost of many computer science programs, and offers a tuition reimbursement guarantee on top of that. Your investment in Bloc is much smaller than it would be in a computer science program, and also much safer due to the reimbursement policy.
ROI is a financial acronym that stands for “return on investment”. It explains what you’ll earn as a result of an investment. Not only is Bloc’s program a fraction of the cost of a computer science degree, but it also employs you faster. After one year, you’ll start earning a full-time salary as a software engineer. The return on your investment of $24,000 will be greater proportionally to that of an investment in a computer science degree, and it will also come quicker. The ROI you realize from a smaller investment and earning at a faster pace can have exponentially positive results over decades. But most importantly, you’ll also start a career doing meaningful work. Software is eating the world because it solves real problems. As a software engineer, you’ll be able to positively impact other people’s lives through software, and the value and satisfaction you realize will be incalculable.
No matter how great a computer science program, coding bootcamp, or our Software Engineering Track is, it will always pale in comparison to the experience you have working as a professional. The lessons you learn in a classroom setting will never match what you learn when you’re on the job. The apprenticeship model – which we employ in the Software Engineering Track – is an improvement over the classroom, as it provides training and lessons in a practical setting, but even it doesn’t match the effectiveness of learning on the job.
To become a master at something, you have to practice a lot, and you have to practice in realistic settings. There is nothing more realistic than practicing your skills when you are being paid to do so. In this respect, you want to be careful not to spend too much time in a classroom.
The final phase in the Software Engineering Track is an Open-Source Apprenticeship, where you work on open-source software with other professional engineers. In addition to learning through practical work, you’ll build a remarkable resume of open-source contributions. After the Open-Source Apprenticeship, you’ll get a job solving real problems for a real company four times faster than you would with a computer science degree.
For more of our thoughts on learning and mastery, [read about mastering software engineering](NEED URL).
We aren’t so extreme in our views that we think computer science degrees should be abolished. They do serve a purpose for aspiring robotics and machine learning engineers, and they do many things well in general. But we feel strongly that they can be improved, and the Software Engineering Track is what we built to prove that. In a shorter period of time, with less of an investment, a safer investment, a faster return on your investment, and more effective learning, you will have a better outcome with the Software Engineering Track, and you’ll start the path to mastery sooner than you would by enrolling in a computer science program.
If you want to learn more about Bloc’s Software Engineering program and how it prepares you to land a job developing software, join us at an online info session. We’ll dive into the curriculum, what it’s like to be a Bloc student, and details about our 100% tuition refund guarantee.
As online education proliferates (read: online coding programs), its proponents and detractors develop increasingly stronger opinions on its effectiveness. Proponents tout online education’s low cost, accessibility, and flexibility. Students can learn anywhere, according to their schedule, and usually at a reduced expense. Detractors, on the other hand, cite high dropout rates and a lack of effectiveness. While both sides of this debate are correct, there is a strategy for succeeding in an online program.
A dedicated home office doesn’t require a large investment. As an online student you’ll work from home most of the time. You must find a space that’s quiet, clean, and allows for ergonomic amenities. 100 square feet should be plenty of space to create an office. You can find high-quality office furniture at IKEA, or buy used from a site like craigslist. Consider using a standing desk, or treat yourself to an ergonomic desk chair. Better yet, you can buy a sitting desk and build a modular standing desk, so you can stand or sit.
After your desk and chair are positioned, build the rest of the office around them. Hang pictures or paintings and buy a small bookshelf to fill with inspirational books. Save your money for perhaps the most expensive things, like a computer and monitor. It’s essential that you have a capable computer, and I recommend splurging on a large monitor. You’ll need to have multiple windows open from time to time, and a large monitor provides the real estate to do this.
Finally, if you live with other people, ask them to respect your office space. A clean, organized, and comfortable office will set you on the right path for succeeding in an online program.
When you take an in-person program, immersion in the topic is inherent. You’re physically near your classmates which means that you’re likely to discuss the program and share knowledge. As an online student, immersion is not necessarily inherent – you have to force the issue. Your program will probably have a community – forums, chat rooms and mail lists – and while those are good places to hang out, you shouldn’t stop there. Subscribe to blogs and podcasts and find people to follow on Twitter. Get to know the lingo of your topic of study, and some of its key figures. It doesn’t matter if you understand everything right away, it’s important to become comfortable with the “language” you’re learning.
In-person programs impose a routine of study because you have to go to class at specific times. Online programs offer more flexibility, so you have to manufacture a routine. Without a consistent and disciplined routine of study, you will not succeed in an online program. Whether you spend 15 minutes or 8 hours studying, you must study every single day. Create a habit for yourself. How long it takes to form a habit depends on the person, but you’ll know once you develop it because it will feel wrong not to study. Make sure that your study time is scheduled when you are at your mental best, and not when you’re tired or easily distracted. Find a method that helps you get into a relaxed zone, and make sure you schedule your study time around it.
The fact that you don’t have a classroom doesn’t mean you should avoid people and in-person interaction. An online program offers many benefits over an in-person program, but interaction in real life is something it can not offer. Fortunately, there are many options for meeting people in real life for many different areas of interest.
For example, if you’re studying to become a Rails web developer, there is almost certainly a Ruby or Rails meetup in your area. Join the meetup group, discuss your program with others, tell them what you’re working on and what you’re having trouble with. You’ll learn a lot from these experiences, and often in ways that are hard to duplicate virtually.
No matter how great your virtual community is or how many meetups you attend, as an online student you’ll spend most of your time alone. It’s easy to forget how much you’ve learned when nobody is there to remind you. You must make it a habit to remind yourself. At the end of every day, you should rebase. That is, think about what you know, compared to the prior day. Think about the problem you’ve been toiling over, and that you finally solved. Even though these may seem like small wins, celebrate them! Treat yourself to a beer, order a pizza, or do something to spoil yourself for every little win.
Celebrating your wins is as important as embracing your struggles. If you focus too much on either, you’ll derail your progress. Develop a balanced mindset for both, and you’ll create momentum to capitalize on your wins, and grit to push you through struggles.
It certainly can, but whether it does or not ultimately depends on your commitment, consistency, and discipline. The strategy outlined in this blog will ensure that you succeed in your program, but you have to embrace every part. If you do, an online program will provide you with a quality education, at a reduced cost, and on your own schedule.
As an aspiring software developer, you must immerse yourself in the software industry and its culture. You need to be able to speak the language of software, in addition to knowing how to code. Fortunately, the software industry has a culture of openness and sharing, so there are plenty of ways to learn about it. One source of information comes via podcasts. Our engineering team at Bloc assembled a Top 10 list that aspiring developers should follow, in no particular order:
Accidental Tech Podcast was created by three people, two of whom are developers. In the podcast, they discuss industry trends, capabilities of new devices, new products with great design, as well as other topics.
CodeNewbie features stories about people who are new to development and are now working as developers full-time.
Shop Talk Show is hosted by Chris Coyier and Dave Rupert. They interview notable developers, designers, and other industry leaders to discuss hot topics in development and design.
Software Engineering Radio targets professional software developers. Each episode focuses on specific topics as well as tutorials on software engineering.
Ruby Rogues is dedicated to the Ruby programming language. It features technical discussions as well as general concepts on Ruby.
This Developing Story was developed by Bloc’s very own Brian Douglas. As a former student and current engineer at Bloc, he interviews new developers to discuss their stories about learning and becoming software engineers.
Under the Radar is primarily for independent iOS developers. However, it hosts a lot of discussions about the day-to-day responsibilities of being a developer.
While short-lived (only four episodes), Reboot is worth listening to. The podcast, hosted by Thoughtbot, shares the stories of people who transitioned from non-technical careers to software development.
Release Notes’ features news and information about Mac and iOS indie software development. Hosts Charles Perry and Joe Cieplinski discuss topics, tricks, and tips for new developers focused on Mac and iOS platforms.
Mule Design’s Mike Monteiro and company host Let’s Make Mistakes. While it focuses more on design than development, it’s worth listening to for anyone who thinks about software.
While not all of these strictly apply to software development, their topics are interesting and each conversation can help you understand the industry as a whole.
If you look through the history of each podcast, you can also find other topics of interest or topics that pertain to a particular skill you’re trying to learn. As you listen, don’t be worried if you’re not familiar with all of the concepts they’re discussing. Listen to the context of each concept they talk about, and take notes on things you want to continue learning. You then have the ability to follow up by Googling or searching on Stack Overflow for more information. Several of these podcasts also have “Show Notes” associated with each episode, such as this Accidental Tech Podcast episode. They have links to articles with the topics covered in each show, and you can use those to continue your research.
We’ve never formalized our core values at Bloc, but if you surveyed our employees you would probably see authenticity in the top three most cited responses — followed closely by swag and Batman. We’ll focus on authenticity today.
Authenticity is a word that we use very specifically, and we don’t use it to mean the same thing as honesty or transparency. The easiest way I’ve found to articulate the difference is to explain it in the context of someone asking a question:
Here’s an example: when we raised our Series A investment last year, a few of my friends asked me if I was now a millionaire.
An honest answer would be yes. On paper, if we had hypothetically raised a round with a post-money valuation over $5M and I owned at least 20% of the company I would have 20% x $5M = $1M ownership in a privately valued company and could technically be considered a millionaire.
The authentic answer would be no, not even close. The question my friends intended to ask was “do you have a million dollars of liquid cash that you can spend to buy me a Tesla Model S?” And the answer to that question is decidedly “no”, unless Elon would accept Bloc equity as cash.
The developer bootcamp industry has an obsession with something called “the placement rate number.” It’s meant to measure a program’s efficacy by quantifying the percentage of graduates who successfully start careers as developers.
Bloc is one of few programs that has never advertised a placement rate. Prospective students are eager to ask us for this statistic, and I don’t necessarily blame them given how appealing it is to use a simple benchmark to compare programs. We don’t publish a placement rate though, as we believe it would potentially conflict with our commitment to authenticity, not because we lack confidence in the efficacy of our program.
When a prospective student asks us “what is your placement rate?” we could honestly say anywhere between 0-100% depending on how we qualify our answer. We could, today, say that 99% of our students find jobs after they graduate from Bloc in a way that is both technically honest and legally defensible, but not authentic or ethical. It’s not very difficult to game that statistic.
99% of our “splorkdents” find “globs” within 90 days of “schmanuating”. – Credit: SMBC Comics.
The truly authentic answer has nothing to do with statistics though. The question our students intend to ask is closer to “Does your program work?” or more specifically “Will your program work for me?” We’ve found a better way to answer that question: our Software Engineering Track comes with a tuition reimbursement policy for students who are unable to find new careers in software development after graduating, and now our students don’t have to worry about landing on the wrong side of a program’s 90% placement rate.
When there are programs with less than 20 grads touting a 100% placement rate and dozens of hidden qualifications, that number devolves from a transparent industry benchmark to a disingenuous marketing prop. While we look for authentic and quantifiable ways to evaluate program quality, I’ll encourage students to dig deeper: ask about the curriculum, background and experience of instructors, tuition and opportunity costs, and the hidden qualifications of these placement rate numbers.