Professional Development For Software Engineers
Become a better coder with Hack Reactor short courses that blend computer science theory and practical programming practices. Learn from experts, develop leadership skills, and advance your career.
Our corporate training programs have upskilled thousands of seasoned software engineers at some of the world’s most innovative companies.
Now we are making that training available in a microlearning format to all coders looking to advance their careers. Meet in the evenings with live instructors and a small group of fellow software engineers.
Get the mental model, so that you can solve problems.
Get mentored by experts. Learn the best practices.
Advance Your Career
Get future-proof relevant skills. Join a network of learners.
Networking + Reactive Programming
Write better code with a sound knowledge of networks, their protocols, and how to consume and broadcast using reactive programming.
Computer Architecture + IoT
Write better code as a result of creating virtual computer components and applying that knowledge in microprocessor programming.
Microservices + Orchestration
Write better code to meet the scalability requirements of millions of users by deploying and scaling microservice-based applications.
Algorithms + Data Structures
Write better code by identifying the correct kind of data structure and algorithm to use for a problem that you’re facing.
Methodologies + Requirements Gathering
Advance your career by using the appropriate agile software development methodology for your team and getting the best requirements from your stakeholders.
DevOps + Testing
Write better code by reliably moving that code through validation and verification steps from source control to production.
Managing Up + Data Visualization
Advance your career when you have the ability to engage business leadership with information-dense communications and presentations.
Compilers + Script Engines
Write better code through understanding the designs of computer languages and creating your own to increase the usability of your applications.
Software Design + Modeling in Color
Write better code by recognizing recurring patterns in your software’s architecture from the low levels of functions to the highest levels of systems architecture.
Databases + O[RD]Ms
Advance your career by demonstrating an innate understanding of document and relational databases and software frameworks built to ease their use.
Get More From Your Education Investment
- Computer Science Theory provides the underlying and unifying principles of how software runs at all levels, from the bare metal up through the languages that you write to the screens that people use to interact with your software.
- Practical Programming Practices create an opportunity for you to apply theory and best practices to design, develop, and/or deploy non-trivial exemplars of maintainable applications.
- Leadership Strategies and Skills engage you in conversations to help you construct meaningful spoken understanding for you to provide thought leadership with respect to the subject on team projects, in your organizations, and within your peer group.
Designed for Your Individual Success
Join 20 colleagues twice per week in an informal and inclusive developer-centric setting to exercise your new knowledge and skills. Learn from the real-world failures and successes of your instructors and classmates.
Reinforce your growing mastery of the theory, application, and thought-leadership found in the course through non-trivial learning actions. Instructors will provide individual and group feedback that you can use to refine and improve your craft.
Each course has two major coding projects that apply both the theories and practical implementations learned in class. You will be challenged with software design projects to enhance the synthesis of theory and thought leadership. In class and on your own, you will have access to reviewing other developers’ code to bridge the gap between practical application and leadership.
Featured Instructor: Curtis Schlak, VP, Professional Development
Curtis Schlak’s software development career spans more than two decades in software, energy, finance, legal, and education. He has worked as an individual contributor and has led teams of nearly 200 people. He has worked or consulted at Barclays Capital, Bank of America Merrill Lynch, British Petroleum, CITGO Petroleum, Ernst & Young, and Microsoft. He has led software teams at startups like KickFire and DataCert. His consulting firm leads the training and adoption of Feature-Driven Development in the US. He has created and delivered consumer and enterprise training for hundreds of people through The Iron Yard, Hack Reactor, App Academy, and Galvanize. He has a BS in Mathematics, BA in English, and MS in Computer Science. He is currently working on his PhD in Computer Science.
Featured Instructor: Daniel Billotte, Principal Instructor
Daniel Billotte’s career as a software engineer began in the mid 90’s, as the Internet was coming of age. He’s worked at large companies like Netscape, AOL, and Canon, as well as smaller companies and entrepreneurial ventures of his own. He has also worked extensively in the printing industry at every level from cleaning floors to building a globally deployed print-shop workflow tool. He helped start the first coding bootcamp in Phoenix in 2014. Daniel enjoys frontend web, but his passion is for building scalable backend systems that use cool technologies like neural networks. When he isn’t working or playing with his family, he’s riding his mountain bike, learning DSP/audio programming and audio circuit engineering, or breathing new life into an old truck. Daniel has a BS in Computer Science from Arizona State University.
Have more questions about our courses? Take a look at our most frequently asked questions below:
Who is the typical applicant?
Our favorite applicant is someone who enjoys learning and participating in a dynamic learning community. We look for learners that are curious and motivated to further their craft. A learner who has grown tired of either unfocused or inefficient courses that have failed to take them to the next level.
How do I begin?
Our application process is simple. Your application will help us learn more about you and should only take five minutes to complete. The application includes information about your educational background, programming experience, employment, and motivations for taking this course. We will review your application and either email any follow-up questions or accept you into the course. Once you’re accepted, you’ll sign an enrollment agreement and pay for the course.
What is my time commitment?
Our typical course is six weeks long and consists of two evening classes per week. Our evening classes are 90 minutes long. Classes are recorded in case you are not able to attend them live. You can expect four to six hours per week outside of class for work on prepping for the next class and/or working on focused projects.
Are there any prerequisites?
Some of our courses require prerequisite skills or knowledge. If applicable, we ask about this in the application process.
Will I receive a certificate?
Yes, you can. The live classes, homework, and projects are optional. We encourage you to participate in all to get the most out of your investment in the course. To receive a certificate, you must score 70% or higher on the course project(s).
Can my employer pay for the course?
Yes. If your employer reimburses for education or professional development, we will make it easy for them to reimburse your participation in our courses.
How do these courses compare to courses at a university?
Universities typically only focus on computer science theory. We blend computer science theory with practical programming practices and thought leadership strategies to create more relevant courses. This format has more real world applications that will help you advance your career.
Have more questions?
Please reach out to our team at email@example.com.
Interested in learning more about our professional development courses? Fill out the form below and stay informed about updates.