Book picks similar to
Pro Web Project Management by Justin Emond
development
management
business
project-management_technology
SOA Design Patterns
Thomas Erl - 2008
More than three years in development and subjected to numerous industry reviews, the 85 patterns in this full-color book provide the most successful and proven design techniques to overcoming the most common and critical problems to achieving modern-day SOA. Through numerous examples, individually documented pattern profiles, and over 400 color illustrations, this book provides in-depth coverage of:• Patterns for the design, implementation, and governance of service inventories–collections of services representing individual service portfolios that can be independently modeled, designed, and evolved.• Patterns specific to service-level architecture which pertain to a wide range of design areas, including contract design, security, legacy encapsulation, reliability, scalability, and a variety of implementation and governance issues.• Service composition patterns that address the many aspects associated with combining services into aggregate distributed solutions, including topics such as runtime messaging and message design, inter-service security controls, and transformation.• Compound patterns (such as Enterprise Service Bus and Orchestration) and recommended pattern application sequences that establish foundational processes. The book begins by establishing SOA types that are referenced throughout the patterns and then form the basis of a final chapter that discusses the architectural impact of service-oriented computing in general. These chapters bookend the pattern catalog to provide a clear link between SOA design patterns, the strategic goals of service-oriented computing, different SOA types, and the service-orientation design paradigm.This book series is further supported by a series of resources sites, including soabooks.com, soaspecs.com, soapatterns.org, soamag.com, and soaposters.com.
Testable JavaScript
Mark Ethan Trostler - 2012
This book shows you what writing and maintaining testable JavaScript for the client- or server-side actually entails, whether you’re creating a new application or rewriting legacy code.From methods to reduce code complexity to unit testing, code coverage, debugging, and automation, you’ll learn a holistic approach for writing JavaScript code that you and your colleagues can easily fix and maintain going forward. Testing JavaScript code is complicated. This book helps you simply the process considerably.Get an overview of Agile, test-driven development, and behavior-driven developmentUse patterns from static languages and standards-based JavaScript to reduce code complexityLearn the advantages of event-based architectures, including modularity, loose coupling, and reusabilityExplore tools for writing and running unit tests at the functional and application levelGenerate code coverage to measure the scope and effectiveness of your testsConduct integration, performance, and load testing, using Selenium or CasperJSUse tools for in-browser, Node.js, mobile, and production debuggingUnderstand what, when, and how to automate your development processes
SEO Fitness Workbook: 2018 Edition: The Seven Steps to Search Engine Optimization Success on Google
Jason McDonald - 2010
Check out the other SEO books, read their reviews, browse their 'inside peeks,' and you'll find that the SEO FITNESS WORKBOOK is the best SEO book of 2016. Updated Edition: September 2016 - up-to-date coverage of Google's Penguin, Panda, Semantic Search, Mobile and even Local algorithm updates FREE SEO Tools - includes access to Jason's SEO Toolbook - a $29.99 value! Worksheets and Videos - more than just a book, the SEO Fitness Workbook includes worksheets and videos to guide you from SEO novice to SEO expert. It's not just about 'learning' SEO; it's about 'doing' SEO and 'succeeding at' SEO! Contents - coverage of 'On Page' and 'Off Page' SEO, the 'new' content marketing, blogging, link-building, social media SEO (including REVIEW MARKETING on GOOGLE and YELP) and every other esoteric technical tactic in PLAIN ENGLISH for MERE MORTALS such as GOOGLE SEARCH CONSOLE and GOOGLE ANALYTICS. SEO in PLAIN ENGLISH: let Jason guide you in SIMPLE language to the top of Google, Bing, and Yahoo More on the SEO FITNESS WORKBOOK, 2016 Edition While many books on SEO sell for $2.99 or are even free, the SEO FITNESS WORKBOOK is priced at $39.99. It's not cheap. It's worth it. Here's why - Please 'Look inside' other books on SEO on Amazon, and PLEASE read the reviews! Compare the reviews of those books with the reviews of the SEO FITNESS WORKBOOK. Many of the books on Amazon, unfortunately, are just junk put up quickly to make a quick buck. The SEO Fitness Workbook, in contrast, is built upon years of real experience, and the teaching methodology of Jason McDonald, used in his classes in the San Francisco Bay Area, including Stanford University's Continuing Studies program. It's in-depth, up-to-date for 2016 as of September, 2016, and supported by facts and real experience. It's PRACTICAL. It doesn't just go on and on in esoteric nerd-speak mumbo jumbo. It explains SEO in PLAIN ENGLISH giving practical TODOs and DELIVERABLES in each chapter. It's a WORKBOOK not a book - it's a DO-IT-NOW and GET-IT-DONE guide to search engine optimization 2016 rather than a speak MUMBO-JUMBO and INTIMIDATE YOU INTO analyis paralysis. Got questions? Google Jason McDonald and send an email. Heck, go crazy and call him on the phone! Simple STEP-BY-STEP instructions PLUS free tools PLUS worksheets PLUS videos makes the SEO FITNESS WORKBOOK worth $50 or even $75 dollars, easily. Getting to the top of GOOGLE and BING will save you tons of money vs. AdWords or advertising on BING or YAHOO. There's nothing better than free is there? Well, YES THERE IS: free SEO tools as part of the companion SEO Toolbook.
Agile Software Development, Principles, Patterns, and Practices
Robert C. Martin - 2002
The author incudes OOD, UML, Design Patterns, Agile and XP methods with a detailed description of a complete software design for reusable programs in C++ and Java. Using a practical, problem-solving approach, it shows how to develop an object-oriented application -- from the early stages of analysis, through the low-level design and into the implementation. Walks readers through the designer's thoughts -- showing the errors, blind alleys, and creative insights that occur throughout the software design process. KEY TOPICS: Covers: Statics and Dynamics; Principles of Class Design; Complexity Management; Principles of Package Design; Analysis and Design; Patterns and Paradigm Crossings. Explains the principles of OOD, one by one, and then demonstrates them with numerous examples, completely worked-through designs, and case studies. Covers traps, pitfalls, and work arounds in the application of C++ and OOD and then shows how Agile methods can be used. Discusses the methods for designing and developing big software in detail. Features a three-chapter, in-depth, single case study of a building security system. MARKET: For Software Engineers, Programmers, and Analysts who want to understand how to design object oriented software with state of the art methods.
The Principles of Product Development Flow: Second Generation Lean Product Development
Donald G. Reinertsen - 2009
He explains why invisible and unmanaged queues are the underlying root cause of poor product development performance. He shows why these queues form and how they undermine the speed, quality, and efficiency in product development.
Microsoft Azure Essentials - Fundamentals of Azure
Michael S. Collier - 2015
The first ebook in the series, Microsoft Azure Essentials: Fundamentals of Azure, introduces developers and IT professionals to the wide range of capabilities in Azure. The authors - both Microsoft MVPs in Azure - present both conceptual and how-to content for key areas, including: Azure Websites and Azure Cloud Services Azure Virtual Machines Azure Storage Azure Virtual Networks Databases Azure Active Directory Management tools Business scenarios Watch Microsoft Press’s blog and Twitter (@MicrosoftPress) to learn about other free ebooks in the “Microsoft Azure Essentials” series.
A Software Engineer Learns HTML5, JavaScript and jQuery
Dane Cameron - 2013
Due to their monopoly position in web browsers, and the fact web browsers have spread from PCs to phones, tablets and TVs; their status will continue to grow and grow. Despite their success, many software engineers are apprehensive about JavaScript and HTML. This apprehensiveness is not completely unfounded; both JavaScript and HTML were rushed in their early years, and driven by commercial rather than engineering interests. As a result, many dubious features crept into these languages. Due to backwards compatibility concerns, most of these features still remain. In addition, many software engineers have used these languages without ever learning them. JavaScript and HTML have low barriers to entry, and this, along with their similarity to other languages, led many software engineers to conclude that there really was nothing much to learn. If you have not used JavaScript and HTML for a number of years, or if you are a programmer or software engineer using other languages, you may be surprised at what they now offer. Browser based web applications are now capable of matching or exceeding the sophistication and scale of traditional desktop applications. In order to create complex web applications however, it is essential to learn these languages. This book takes the point of view that once you have a strong grasp of the fundamentals, the details will take care of themselves. It will not present you with long lists of APIs, or intricate details of every attribute, these can be found in reference manuals. It will focus on the details of each language that are fundamental to understanding how they work. This book will guide you through the process of developing a web application using HTML5, Javascript, jQuery and CSS. It contains the following content: 1. An introduction to the HTML5 markup language, and how it differs from HTML4 and XHTML. 2. An introduction to JavaScript, including an in-depth look at its use of objects and functions, along with the design patterns that support the development of robust web applications. 3. An introduction to jQuery selection, traversal, manipulation and events. 4. An in-depth look at the Web storage and IndexedDB APIs for client side data storage. 5. A guide to implementing offline web applications with the Application Cache API. 6. An introduction to the ways JavaScript can interact with the users file-system using the FileReader API. 7. The use of Web Workers in a web application to execute algorithms on background threads. 8. An introduction to AJAX, and the jQuery API supporting AJAX. 9. An introduction to Server Sent Events and Web Sockets. All subjects are introduced in the context of a sample web application. This book is intended for anyone with at least a superficial knowledge of HTML and programming.
The Effective Engineer: How to Leverage Your Efforts In Software Engineering to Make a Disproportionate and Meaningful Impact
Edmond Lau - 2015
I'm going to share that mindset with you — along with hundreds of actionable techniques and proven habits — so you can shortcut those years.Introducing The Effective Engineer — the only book designed specifically for today's software engineers, based on extensive interviews with engineering leaders at top tech companies, and packed with hundreds of techniques to accelerate your career.For two years, I embarked on a quest seeking an answer to one question:How do the most effective engineers make their efforts, their teams, and their careers more successful?I interviewed and collected stories from engineering VPs, directors, managers, and other leaders at today's top software companies: established, household names like Google, Facebook, Twitter, and LinkedIn; rapidly growing mid-sized companies like Dropbox, Square, Box, Airbnb, and Etsy; and startups like Reddit, Stripe, Instagram, and Lyft.These leaders shared stories about the most valuable insights they've learned and the most common and costly mistakes that they've seen engineers — sometimes themselves — make.This is just a small sampling of the hard questions I posed to them:- What engineering qualities correlate with future success?- What have you done that has paid off the highest returns?- What separates the most effective engineers you've worked with from everyone else?- What's the most valuable lesson your team has learned in the past year?- What advice do you give to new engineers on your team? Everyone's story is different, but many of the lessons share common themes.You'll get to hear stories like:- How did Instagram's team of 5 engineers build and support a service that grew to over 40 million users by the time the company was acquired?- How and why did Quora deploy code to production 40 to 50 times per day?- How did the team behind Google Docs become the fastest acquisition to rewrite its software to run on Google's infrastructure?- How does Etsy use continuous experimentation to design features that are guaranteed to increase revenue at launch?- How did Facebook's small infrastructure team effectively operate thousands of database servers?- How did Dropbox go from barely hiring any new engineers to nearly tripling its team size year-over-year? What's more, I've distilled their stories into actionable habits and lessons that you can follow step-by-step to make your career and your team more successful.The skills used by effective engineers are all learnable.And I'll teach them to you. With The Effective Engineer, I'll teach you a unifying framework called leverage — the value produced per unit of time invested — that you can use to identify the activities that produce disproportionate results.Here's a sneak peek at some of the lessons you'll learn. You'll learn how to:- Prioritize the right projects and tasks to increase your impact.- Earn more leeway from your peers and managers on your projects.- Spend less time maintaining and fixing software and more time building and shipping new features.- Produce more accurate software estimates.- Validate your ideas cheaply to reduce wasted work.- Navigate organizational and people-related bottlenecks.- Find the appropriate level of code reviews, testing, abstraction, and technical debt to balance speed and quality.- Shorten your debugging workflow to increase your iteration speed.
Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers)
Michael T. Nygard - 2007
Did you design your system to survivef a sudden rush of visitors from Digg or Slashdot? Or an influx of real world customers from 100 different countries? Are you ready for a world filled with flakey networks, tangled databases, and impatient users?If you're a developer and don't want to be on call for 3AM for the rest of your life, this book will help.In Release It!, Michael T. Nygard shows you how to design and architect your application for the harsh realities it will face. You'll learn how to design your application for maximum uptime, performance, and return on investment.Mike explains that many problems with systems today start with the design.
The Passionate Programmer
Chad Fowler - 2009
In this book, you'll learn how to become an entrepreneur, driving your career in the direction of your choosing. You'll learn how to build your software development career step by step, following the same path that you would follow if you were building, marketing, and selling a product. After all, your skills themselves are a product. The choices you make about which technologies to focus on and which business domains to master have at least as much impact on your success as your technical knowledge itself--don't let those choices be accidental. We'll walk through all aspects of the decision-making process, so you can ensure that you're investing your time and energy in the right areas. You'll develop a structured plan for keeping your mind engaged and your skills fresh. You'll learn how to assess your skills in terms of where they fit on the value chain, driving you away from commodity skills and toward those that are in high demand. Through a mix of high-level, thought-provoking essays and tactical "Act on It" sections, you will come away with concrete plans you can put into action immediately. You'll also get a chance to read the perspectives of several highly successful members of our industry from a variety of career paths. As with any product or service, if nobody knows what you're selling, nobody will buy. We'll walk through the often-neglected world of marketing, and you'll create a plan to market yourself both inside your company and to the industry in general. Above all, you'll see how you can set the direction of your career, leading to a more fulfilling and remarkable professional life.
How To Destroy A Tech Startup In Three Easy Steps
Lawrence Krubner - 2017
When inexperienced entrepreneurs ask my advice about their idea for a tech startup, they often worry "What if Google decides to compete with us? They will crush us!" I respond that far more startups die of suicide than homicide. If you can avoid hurting yourself, then you are already better off than most of your competitors. Startups are a chance to build something entirely original with brilliant and ambitious people. But startups are also dangerous. Limited money means there is little room for mistakes. One bad decision can mean bankruptcy. The potential payoff attracts capital, which in turn attracts scam artists. The unscrupulous often lack the skills needed to succeed, but sometimes they are smart enough to trick investors. Even entrepreneurs who start with a strong moral compass can find that the threat of failure unmoors their ethics from their ambition. Emotions matter. We might hope that those in leadership positions possess strength and resilience, but vanity and fragile egos have sabotaged many of the businesses that I’ve worked with. Defeat is always a possibility, and not everyone finds healthy ways to deal with the stress. In this book I offer both advice and also warnings. I've seen certain self-destructive patterns play out again and again, so I wanted to document one of the most extreme cases that I've witnessed. In 2015 I worked for a startup that began with an ingenious idea: to use the software techniques known as Natural Language Processing to allow people to interact with databases by writing ordinary English sentences. This was a multi-billion dollar idea that could have transformed the way people gathered and used information. However, the venture had inexperienced leadership. They burned through their $1.3 million seed money. As their resources dwindled, their confidence transformed into doubt, which was aggravated by edicts from the Board Of Directors ordering sudden changes that effectively threw away weeks' worth of work. Every startup forces its participants into extreme positions, often regarding budget and deadlines. Often these situations are absurd to the point of parody. Therefore, there is considerable humor in this story. The collision of inexperience and desperation gives rise to moments that are simply silly. I tell this story in a day-to-day format, both to capture the early optimism, and then the later sense of panic. Here then, is a cautionary tale, a warning about tendencies that everyone joining a startup should be on guard against."
Site Reliability Engineering: How Google Runs Production Systems
Betsy Beyer - 2016
So, why does conventional wisdom insist that software engineers focus primarily on the design and development of large-scale computing systems?In this collection of essays and articles, key members of Google's Site Reliability Team explain how and why their commitment to the entire lifecycle has enabled the company to successfully build, deploy, monitor, and maintain some of the largest software systems in the world. You'll learn the principles and practices that enable Google engineers to make systems more scalable, reliable, and efficient--lessons directly applicable to your organization.This book is divided into four sections: Introduction--Learn what site reliability engineering is and why it differs from conventional IT industry practicesPrinciples--Examine the patterns, behaviors, and areas of concern that influence the work of a site reliability engineer (SRE)Practices--Understand the theory and practice of an SRE's day-to-day work: building and operating large distributed computing systemsManagement--Explore Google's best practices for training, communication, and meetings that your organization can use
The Psychology of Computer Programming
Gerald M. Weinberg - 1971
Weinberg adds new insights and highlights the similarities and differences between now and then. Using a conversational style that invites the reader to join him, Weinberg reunites with some of his most insightful writings on the human side of software engineering.Topics include egoless programming, intelligence, psychological measurement, personality factors, motivation, training, social problems on large projects, problem-solving ability, programming language design, team formation, the programming environment, and much more.Dorset House Publishing is proud to make this important text available to new generations of programmers -- and to encourage readers of the first edition to return to its valuable lessons.
AWS Lambda: A Guide to Serverless Microservices
Matthew Fuller - 2016
Lambda enables users to develop code that executes in response to events - API calls, file uploads, schedules, etc - and upload it without worrying about managing traditional server metrics such as disk space, memory, or CPU usage. With its "per execution" cost model, Lambda can enable organizations to save hundreds or thousands of dollars on computing costs. With in-depth walkthroughs, large screenshots, and complete code samples, the reader is guided through the step-by-step process of creating new functions, responding to infrastructure events, developing API backends, executing code at specified intervals, and much more. Introduction to AWS Computing Evolution of the Computing Workload Lambda Background The Internals The Basics Functions Languages Resource Allocation Getting Set Up Hello World Uploading the Function Working with Events AWS Events Custom Events The Context Object Properties Methods Roles and Permissions Policies Trust Relationships Console Popups Cross Account Access Dependencies and Resources Node Modules OS Dependencies OS Resources OS Commands Logging Searching Logs Testing Your Function Lambda Console Tests Third-Party Testing Libraries Simulating Context Hello S3 Object The Bucket The Role The Code The Event The Trigger Testing When Lambda Isn’t the Answer Host Access Fine-Tuned Configuration Security Long-Running Tasks Where Lambda Excels AWS Event-Driven Tasks Scheduled Events (Cron) Offloading Heavy Processing API Endpoints Infrequently Used Services Real-World Use Cases S3 Image Processing Shutting Down Untagged Instances Triggering CodeDeploy with New S3 Uploads Processing Inbound Email Enforcing Security Policies Detecting Expiring Certificates Utilizing the AWS API Execution Environment The Code Pipeline Cold vs. Hot Execution What is Saved in Memory Scaling and Container Reuse From Development to Deployment Application Design Development Patterns Testing Deployment Monitoring Versioning and Aliasing Costs Short Executions Long-Running Processes High-Memory Applications Free Tier Calculating Pricing CloudFormation Reusable Template with Minimum Permissions Cross Account Access CloudWatch Alerts AWS API Gateway API Gateway Event Creating the Lambda Function Creating a New API, Resource, and Method Initial Configuration Mapping Templates Adding a Query String Using HTTP Request Information Within Lambda Deploying the API Additional Use Cases Lambda Competitors Iron.io StackHut WebTask.io Existing Cloud Providers The Future of Lambda More Resources Conclusion
Wordpress for Beginners - A Visual Step-by-Step Guide to Creating your Own Wordpress Site in Record Time, Starting from Zero! (Webmaster Series)
Andy Williams - 2012
Not any more. Wordpress makes it possible for anyone to create and run a professional looking website.While Wordpress is an amazing tool, the truth is it does have a steep learning curve, even if you have built websites before. Therefore, the goal of this book is to take anyone, even a complete beginner and get them building a professional looking website. I'll hold your hand, step-by-step, all the way. As I was planning this book, I made one decision early on. I wanted to use screenshots of everything, so the reader wasn't left looking for something on their screen that I was describing in text. This book has screenshots. I haven't counted them all, but it must be close to 300. These screenshots will help you find the things I am talking about. They'll help you check your settings and options against the screenshot of mine. No more doubt, no more wondering if you have it correct. Look, compare and move on to the next section.With so many screenshots, you may be worried that the text might be a little on the skimpy side. No need to worry there. I have described in the minutest detail, every step on your journey to a great looking website. In all, this book has over 35,000 words. This book will cut your learning curve associated with WordpressEvery chapter of the book ends with a "Tasks to Complete" section. By completing these tasks, you'll not only become proficient at using Wordpress, you'll become confident & enjoy using Wordpress.