Inspiring, personal and full of all-too-relatable stories from life in modern America, Real Tough Software is an unforgettable memoir from a woman who didn’t take no for an answer. In a life filled with dead-end jobs and a quest for meaning, RealToughCandy has emerged as a survivor taking full advantage of everything the developer lifestyle has to offer - but not without sacrifice. As an educator, creator and business owner she created a multimedia empire dedicated to up-and-coming developers while establishing herself as tireless advocate for newcomers to the field. RTC invites you into her world, chronicling events from sleepless nights learning RESTful APIs and JavaScript type conversion to her time spent in a senior position at a dysfunctional enterprise software company. She details her wins and losses, telling her story in a way that takes you right to the scene. Real Tough Software is a brutally honest look back at one person’s incredible journey to a career in software, sharing the fight, the heart, and the relentless hustle that resulted in not only a new career, but a new chance at freedom.
"This book addresses the topic of software design: how to decompose complex software systems into modules (such as classes and methods) that can be implemented relatively independently. The book first introduces the fundamental problem in software design, which is managing complexity. It then discusses philosophical issues about how to approach the software design process and it presents a collection of design principles to apply during software design. The book also introduces a set of red flags that identify design problems. You can apply the ideas in this book to minimize the complexity of large software systems, so that you can write software more quickly and cheaply."--Amazon.
"How to Get a Job in Web Development" is designed for junior web developers. Whether you’re coming from a coding bootcamp, are completely self-taught, or graduated from college with a tech-related degree, this book is for you. Written by RealToughCandy. In this book, you will learn how to: • Expertly craft the ‘holy clover’ of application materials: your resume, cover letter, GitHub page, and portfolio. • Leverage the power of LinkedIn, Meetups, and social media. • Handle follow-up emails and phone calls. • Prepare for the multiple types of interviews you will encounter, whether via phone, video conference, or in person. • Strategically apply to jobs so you can maximize your salary demands during negotiation. • Efficiently organize and prioritize the jobs you’ve applied to. • Craft results-driven email check-ins with your potential employer. • Reduce your vulnerabilities for discrimination. • And much, much more! No awkward whiteboard interviews. No hour-long explanation of Big O notation. Just practical, actionable steps that will put you far ahead of the pack when it comes to getting a job in web development. Now let's go get that job! "Just finished reading your book and all I can say is WOW! Mind you since May of 2016 I have taken about 6 online courses specifically looking for employment and around three of them were specifically for either how to get an IT or Web Developer job. These courses cannot hold a candle to the majority of the information you put in this book!" -George M., Web Developer WHY I WROTE THIS BOOK: When I started my web development journey, I was a lost hiker in the digital woods. I knew I wanted to build web apps, but didn’t know what those people called themselves. Were they website builders? Programmers? The term ‘software engineer’ floated around a lot online – was that my aspiration? Since I didn’t know exactly what I was looking for, I spent a lot of time reading and watching materials that were nothing but discouraging: mock Google coding interviews with whiteboards and markers. Lots of articles and videos that name-dropped things like binary trees, Big O notation, and time complexity. Forum post upon forum post that gave away actual coding interview questions from the biggest tech companies in the world like Facebook, Google, and Microsoft. Making things worse, some web developers I had discovered on YouTube were talking about a really good, popular book for coding interviews. I checked it out and once again my stomach sank. “I’m never going to make it in this field,” I said to myself. “I’ve been studying and practicing and building projects for months, and I still have no idea what these people are talking about.” What they didn’t tell me was that the book is geared towards senior software engineers trying to get a job with Amazon and Google. I wanted to quit my coding journey. In fact, I did quit. The difference was, I didn’t stay quit. Something told me to keep pushing forward, keep building projects to put in my portfolio and Github, keep reaching out and trying to find clients who needed websites. I kept pushing until I got a job as a fullstack web developer at a data company. As it turns out, the internet isn’t very generous to our career field. Beginners are especially marginalized. There aren’t any quality one-stop resources for discovering one of the most important questions – if not the most important question – web developers have. “How do I get a job in this field?” I wanted to change the junior web developer tech landscape with this book. My goal is for every junior developer who reads this to find a job. And if you take the recommended actions in this book, you can do it.
Today, software engineers need to know not only how to program effectively but also how to develop proper engineering practices to make their codebase sustainable and healthy. This book emphasizes this difference between programming and software engineering. How can software engineers manage a living codebase that evolves and responds to changing requirements and demands over the length of its life? Based on their experience at Google, software engineers Titus Winters and Hyrum Wright, along with technical writer Tom Manshreck, present a candid and insightful look at how some of the worldâ??s leading practitioners construct and maintain software. This book covers Googleâ??s unique engineering culture, processes, and tools and how these aspects contribute to the effectiveness of an engineering organization. Youâ??ll explore three fundamental principles that software organizations should keep in mind when designing, architecting, writing, and maintaining code: How time affects the sustainability of software and how to make your code resilient over time How scale affects the viability of software practices within an engineering organization What trade-offs a typical engineer needs to make when evaluating design and development decisions
Are you ready to jump-start your freelance career? Freelance Newbie has you covered! In this book, you’ll learn practical, actionable steps you can start using today to get your first client by the end of the week. Featuring all the methods, techniques, tips, tricks, and insights you need to succeed, Freelance Newbie was written by a working freelancer whose mission is to help people like you find personal success and financial independence. The material you’ll read here has never been featured at a lower price — you simply cannot get this kind of value for less. We go through everything step-by-step with real-world examples so you know exactly what you need to do to become a successful freelancer. In Freelance Newbie, you’ll learn how to: :• Develop a business plan from scratch• Establish a suitable work environment • Configure your own freelance website to generate quality leads • Determine what services to offer (and what to do if you don't know how to do something) • Figure out an appropriate pricing scheme for your services • Find “starter” clients that pave the way for 5-star social proof and full-paying, long-term clients • Draft effective proposals and contracts• Advertise for free (or very, very cheaply) • Deliver above-average customer service • Efficiently complete client projects — time runs out FAST • And much, much more! This book can also be used as the perfect companion manual to the video course available on Udemy by RealToughCandy.
Software architecture is foundational to the development of large, practical software-intensive applications. This brand-new text covers all facets of software architecture and how it serves as the intellectual centerpiece of software development and evolution. Critically, this text focuses on supporting creation of real implemented systems. Hence the text details not only modeling techniques, but design, implementation, deployment, and system adaptation -- as well as a host of other topics -- putting the elements in context and comparing and contrasting them with one another. Rather than focusing on one method, notation, tool, or process, this new text/reference widely surveys software architecture techniques, enabling the instructor and practitioner to choose the right tool for the job at hand. Software Architecture is intended for upper-division undergraduate and graduate courses in software architecture, software design, component-based software engineering, and distributed systems; the text may also be used in introductory as well as advanced software engineering courses.
Right Your Software and Transform Your Career Righting Software presents the proven, structured, and highly engineered approach to software design that renowned architect Juval Löwy has practiced and taught around the world. Although companies of every kind have successfully implemented his original design ideas across hundreds of systems, these insights have never before appeared in print. Based on first principles in software engineering and a comprehensive set of matching tools and techniques, Löwy’s methodology integrates system design and project design. First, he describes the primary area where many software architects fail and shows how to decompose a system into smaller building blocks or services, based on volatility. Next, he shows how to flow an effective project design from the system design; how to accurately calculate the project duration, cost, and risk; and how to devise multiple execution options. The method and principles in Righting Software apply regardless of your project and company size, technology, platform, or industry. Löwy starts the reader on a journey that addresses the critical challenges of software development today by righting software systems and projects as well as careers—and possibly the software industry as a whole. Software professionals, architects, project leads, or managers at any stage of their career will benefit greatly from this book, which provides guidance and knowledge that would otherwise take decades and many projects to acquire. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
Most programmers' fear of user interface (UI) programming comes from their fear of doing UI design. They think that UI design is like graphic design—the mysterious process by which creative, latte-drinking, all-black-wearing people produce cool-looking, artistic pieces. Most programmers see themselves as analytic, logical thinkers instead—strong at reasoning, weak on artistic judgment, and incapable of doing UI design. In this brilliantly readable book, author Joel Spolsky proposes simple, logical rules that can be applied without any artistic talent to improve any user interface, from traditional GUI applications to websites to consumer electronics. Spolsky's primary axiom, the importance of bringing the program model in line with the user model, is both rational and simple. In a fun and entertaining way, Spolky makes user interface design easy for programmers to grasp. After reading User Interface Design for Programmers, you'll know how to design interfaces with the user in mind. You'll learn the important principles that underlie all good UI design, and you'll learn how to perform usability testing that works.