Startup Engineering

بواسطة: Coursera

Overview

Spiritual sequel to Peter Thiel's CS183 course on startups. Bridges the gap between academic computer science and production software engineering. Fast-paced introduction to key tools and techniques (command line, dotfiles, text editor, distributed version control, debugging, testing, documentation, reading code, deployments), featuring guest appearances by senior engineers from successful startups and large-scale academic projects. Over the course of the class, students will build a command line application, expose it as a web service, and then link other students' applications and services together to build an HTML5 mobile app. General principles are illustrated through modern Javascript and the latest web technologies, including Node, Backbone, Coffeescript, Bootstrap, Git, and Github. 

Syllabus

The syllabus is optimized to enable students to iterate on their final projects as soon as possible, with technical material in the first half of the class and entrepreneurial considerations in the second half.

  • Introduction and Quickstart
  • Tools: VMs, IAAS/PAAS, Unix Command Line, Text Editors, DCVS
  • Frontend: HTML/CSS/JS, Wireframing, Market Research
  • Backend: SSJS, Databases, Frameworks, Data Pipelines
  • APIs: Client-side templating, HTTP, SOA/REST/JSON, API as BizDev
  • Devops: Testing, Deployment, CI, Monitoring, Performance
  • Dev Scaling: DRY, Reading/Reviewing/Documenting Code, Parallelizing
  • Founding: Conception, Composition, Capitalization
  • Business Scaling: Promotion, CAC/LTV/Funnel, Regulation, Accounting
  • Summary and Demo Week

Taught by

Balaji S. Srinivasan and Vijay Pande

Startup Engineering
الذهاب الي الدورة

Startup Engineering

بواسطة: Coursera

  • Coursera
  • مجانية
  • الإنجليزية
  • متاح شهادة
  • أيام محددة
  • الجميع
  • N/A
8.1.2PHP Version268msRequest Duration2MBMemory UsageGET ar/الدورات/{slug}Route
    • Booting (170ms)
    • Application (97.79ms)
    • 1 x Booting (63.27%)
      169.59ms
      1 x Application (36.48%)
      97.79ms
      14 templates were rendered
      • public.courses.show (resources/views/public/courses/show.blade.php)3bladefile
        Params
        0
        course
        1
        links
        2
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.courses.partials.details (resources/views/public/courses/partials/details.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.layouts.main (resources/views/public/layouts/main.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.meta (resources/views/public/layouts/partials/meta.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.navbar (resources/views/public/layouts/partials/navbar.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.links (resources/views/public/auth/profile/partials/links.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.layouts.partials.flash-session (resources/views/public/layouts/partials/flash-session.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      uri
      GET ar/الدورات/{slug}
      middleware
      web, localize:ar
      controller
      App\Http\Controllers\CourseController@show
      as
      ar.courses.show
      namespace
      prefix
      /ar
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      7 statements were executed5.1ms
      • select * from `courses` where `slug_ar` = 'startup-engineering' limit 1
        3.61ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. startup-engineering
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:20
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • update `courses` set `visitors` = `visitors` + 1, `courses`.`updated_at` = '2025-04-28 06:31:38' where `id` = 1169
        450μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-04-28 06:31:38
        • 1. 1169
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:21
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `topic_id`, `slug_en`, `slug_ar` from `subjects` where `subjects`.`id` in (10)
        170μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        140μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 25. /app/Http/Controllers/CourseController.php:23
        • 26. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 27. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 28. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 29. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `institutions` where `institutions`.`id` in (5) and `institutions`.`deleted_at` is null
        160μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `providers` where `providers`.`id` in (2) and `providers`.`deleted_at` is null
        150μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `html_files` where `html_files`.`id` = 1162 limit 1
        420μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 1162
        Backtrace
        • 21. /app/Models/Course.php:84
        • 28. view::public.courses.show:29
        • 30. /vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:125
        • 31. /vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • 32. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:72
      App\Models\HtmlFile
      1
      App\Models\Provider
      1
      App\Models\Institution
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        MvghrKp4zziYwzQZA3ArlIUbOWNWAaqwqwkOrOoP
        locale
        ar
        _previous
        array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/startu...
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/startup-engineering
        status_code
        200
        
        status_text
        OK
        format
        html
        content_type
        text/html; charset=UTF-8
        request_query
        []
        
        request_request
        []
        
        request_headers
        0 of 0
        array:24 [ "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "18.217.156.194" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "cf-ray" => array:1 [ 0 => "9374848f6e5e61cf-ORD" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "priority" => array:1 [ 0 => "u=0, i" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "x-forwarded-for" => array:1 [ 0 => "18.217.156.194" ] "host" => array:1 [ 0 => "www.corspedia.com" ] "content-length" => array:1 [ 0 => "" ] "content-type" => array:1 [ 0 => "" ] ]
        request_server
        0 of 0
        array:50 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_CF_CONNECTING_IP" => "18.217.156.194" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_CF_RAY" => "9374848f6e5e61cf-ORD" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_X_FORWARDED_FOR" => "18.217.156.194" "HTTP_HOST" => "www.corspedia.com" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "corspedia.com" "SERVER_PORT" => "443" "SERVER_ADDR" => "141.95.147.152" "REMOTE_USER" => "" "REMOTE_PORT" => "65140" "REMOTE_ADDR" => "172.69.7.177" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => "on" "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/var/www/corspedia/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/startup-engineering" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "SCRIPT_FILENAME" => "/var/www/corspedia/public/index.php" "PATH_INFO" => "" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1745821898.4238 "REQUEST_TIME" => 1745821898 ]
        request_cookies
        []
        
        response_headers
        0 of 0
        array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Mon, 28 Apr 2025 06:31:38 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6Ikl1UkhzQVZ1Z1oxa3IvZGRLRFo3YVE9PSIsInZhbHVlIjoiNUV2aytsRE9Rd3E5UitWQjdGYVV5eENlNEtPaGVDTGFYSDBrMDcyanBrWFc4Qzk4UlJ1UUhOMERjTlkzaVZuSHh1Qm1wdWJMNGZpb1NodExXMmhoS3ljRSthSEJkbmVKNVhDQ2oyZkovN1o2WkljR0xtZ3p3SXh0SGpOd3FQaHEiLCJtYWMiOiI3ZTRkMTZlM2JiNDU4ZTgwNjY5NjNhM2M3ZWU3NmNjMmQxMGVjZDUyODM2MzIwYmQwZmQ0NjU5MjkzNjg5N2Y3IiwidGFnIjoiIn0%3D; expires=Mon, 28 Apr 2025 08:31:38 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6Ikl1UkhzQVZ1Z1oxa3IvZGRLRFo3YVE9PSIsInZhbHVlIjoiNUV2aytsRE9Rd3E5UitWQjdGYVV5eENlNEtPaGVDTGFYSDBrMDcyanBrWFc4Qzk4UlJ1UUhOMERjTlkzaVZuSHh1Qm1wd" 1 => "laravel_session=eyJpdiI6IkhIMk1TTXpqVGtVVmNLdGoxWTFiRmc9PSIsInZhbHVlIjoiVExia3VNL3NXb29lQmRQNUdlNWVGNFQ4dlBFZ29wVDYyNkhZU2FYdnlZa2JjUUFVdUc1U0dCNXMzWWpzWE8xZkx0L2tVNkF1eTFkQjdaTVlETmh6Qm1CNEJZZE1QNUFqb1RyNmdKSHFWU0hmZmUrZy8xd0pUU0EyQmY5VmViRVAiLCJtYWMiOiI2MmI3NjNmMTA4NzNiNGYxYTA4OTYxMjg3YTEzYTNhM2JjNmQwNjAyMDg1Y2YyMmNiM2MxM2JlYTUxYjI3ODIxIiwidGFnIjoiIn0%3D; expires=Mon, 28 Apr 2025 08:31:38 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6IkhIMk1TTXpqVGtVVmNLdGoxWTFiRmc9PSIsInZhbHVlIjoiVExia3VNL3NXb29lQmRQNUdlNWVGNFQ4dlBFZ29wVDYyNkhZU2FYdnlZa2JjUUFVdUc1U0dCNXMzWWpzWE8xZkx0" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6Ikl1UkhzQVZ1Z1oxa3IvZGRLRFo3YVE9PSIsInZhbHVlIjoiNUV2aytsRE9Rd3E5UitWQjdGYVV5eENlNEtPaGVDTGFYSDBrMDcyanBrWFc4Qzk4UlJ1UUhOMERjTlkzaVZuSHh1Qm1wdWJMNGZpb1NodExXMmhoS3ljRSthSEJkbmVKNVhDQ2oyZkovN1o2WkljR0xtZ3p3SXh0SGpOd3FQaHEiLCJtYWMiOiI3ZTRkMTZlM2JiNDU4ZTgwNjY5NjNhM2M3ZWU3NmNjMmQxMGVjZDUyODM2MzIwYmQwZmQ0NjU5MjkzNjg5N2Y3IiwidGFnIjoiIn0%3D; expires=Mon, 28-Apr-2025 08:31:38 GMT; path=/XSRF-TOKEN=eyJpdiI6Ikl1UkhzQVZ1Z1oxa3IvZGRLRFo3YVE9PSIsInZhbHVlIjoiNUV2aytsRE9Rd3E5UitWQjdGYVV5eENlNEtPaGVDTGFYSDBrMDcyanBrWFc4Qzk4UlJ1UUhOMERjTlkzaVZuSHh1Qm1wd" 1 => "laravel_session=eyJpdiI6IkhIMk1TTXpqVGtVVmNLdGoxWTFiRmc9PSIsInZhbHVlIjoiVExia3VNL3NXb29lQmRQNUdlNWVGNFQ4dlBFZ29wVDYyNkhZU2FYdnlZa2JjUUFVdUc1U0dCNXMzWWpzWE8xZkx0L2tVNkF1eTFkQjdaTVlETmh6Qm1CNEJZZE1QNUFqb1RyNmdKSHFWU0hmZmUrZy8xd0pUU0EyQmY5VmViRVAiLCJtYWMiOiI2MmI3NjNmMTA4NzNiNGYxYTA4OTYxMjg3YTEzYTNhM2JjNmQwNjAyMDg1Y2YyMmNiM2MxM2JlYTUxYjI3ODIxIiwidGFnIjoiIn0%3D; expires=Mon, 28-Apr-2025 08:31:38 GMT; path=/; httponlylaravel_session=eyJpdiI6IkhIMk1TTXpqVGtVVmNLdGoxWTFiRmc9PSIsInZhbHVlIjoiVExia3VNL3NXb29lQmRQNUdlNWVGNFQ4dlBFZ29wVDYyNkhZU2FYdnlZa2JjUUFVdUc1U0dCNXMzWWpzWE8xZkx0" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "MvghrKp4zziYwzQZA3ArlIUbOWNWAaqwqwkOrOoP" "locale" => "ar" "_previous" => array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/startup-engineering" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]