{"id":41013,"date":"2023-12-10T02:26:08","date_gmt":"2023-12-10T02:26:08","guid":{"rendered":"https:\/\/masterskills.org\/blog\/12-loi-khuyen-dang-gia-cua-mot-developer-thanh-danh-o-tuoi-40.html"},"modified":"2024-03-09T10:26:26","modified_gmt":"2024-03-09T03:26:26","slug":"12-loi-khuyen-dang-gia-cua-mot-developer-thanh-danh-o-tuoi-40","status":"publish","type":"post","link":"https:\/\/masterskills.org\/blog\/12-loi-khuyen-dang-gia-cua-mot-developer-thanh-danh-o-tuoi-40.html","title":{"rendered":"12 l\u1eddi khuy\u00ean \u0111\u00e1ng gi\u00e1 c\u1ee7a m\u1ed9t Developer th\u00e0nh danh \u1edf tu\u1ed5i 40"},"content":{"rendered":"<div class=\"content-detail textview\"><em><span style=\"text-decoration: underline\">V\u1ec1 t\u00e1c gi\u1ea3<\/span>: B\u00e0i vi\u1ebft \u0111\u01b0\u1ee3c chia s\u1ebb b\u1edfi Adrian Kosmaczewski \u2013 chuy\u00ean gia \u0111\u00e0o t\u1ea1o, nh\u00e0 ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m v\u00e0 l\u00e0 m\u1ed9t ng\u01b0\u1eddi \u0111am m\u00ea vi\u1ebft l\u00e1ch, th\u00e0nh th\u1ea1o 3 ng\u00f4n ng\u1eef l\u00e0 Anh, T\u00e2y Ban Nha v\u00e0 Ph\u00e1p.<\/em> T\u00f4i l\u00e0 m\u1ed9t nh\u00e0 ph\u00e1t tri\u1ec3n (Developer) n\u0103m nay 42 tu\u1ed5i, ho\u00e0n to\u00e0n t\u1ef1 h\u1ecdc v\u00e0 \u0111\u00e2y ch\u00ednh l\u00e0 c\u00e2u chuy\u1ec7n m\u00e0 t\u00f4i mu\u1ed1n k\u1ec3 cho c\u00e1c b\u1ea1n. C\u00e1ch \u0111\u00e2y v\u00e0i tu\u1ea7n t\u00f4i \u0111\u1ecdc \u0111\u01b0\u1ee3c m\u1ed9t d\u00f2ng tweet v\u00e0 n\u00f3 khi\u1ebfn t\u00f4i suy ngh\u0129 v\u1ec1 s\u1ef1 nghi\u1ec7p c\u1ee7a m\u00ecnh. Nh\u1eefng kh\u00f3 kh\u0103n v\u00e0 th\u1eed th\u00e1ch trong v\u00e0i n\u0103m tr\u01b0\u1edbc b\u1ed7ng ch\u1ed1c \u00f9a v\u1ec1 trong t\u00e2m tr\u00ed t\u00f4i \u2013 n\u01a1i t\u00f4i b\u1eaft \u0111\u1ea7u c\u00f3 nh\u1eefng b\u01b0\u1edbc \u0111i \u0111\u1ea7u ti\u00ean trong chuy\u1ebfn h\u00e0nh tr\u00ecnh tr\u1edf th\u00e0nh m\u1ed9t nh\u00e0 ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m (Software Developer). T\u00f4i b\u1eaft \u0111\u1ea7u s\u1ef1 nghi\u1ec7p l\u00e0 m\u1ed9t Software Developer ch\u00ednh x\u00e1c v\u00e0o l\u00fac 10 gi\u1edd s\u00e1ng, th\u1ee9 hai, ng\u00e0y 06\/10\/1997, t\u1ea1i m\u1ed9t khu v\u1ef1c n\u00e0o \u0111\u00f3 thu\u1ed9c th\u00e0nh ph\u1ed1 Olivios, ngay ph\u00eda B\u1eafc c\u1ee7a Buenos Aires, Argentina. \u1ede th\u1eddi \u0111i\u1ec3m \u0111\u00f3, gi\u00e1 tr\u1ecb &#8220;\u0111i\u1ec3m kh\u1edfi \u0111\u1ea7u c\u1ee7a Unix&#8221; (Unix Epoch) l\u00e0 876142800 (kho\u1ea3ng c\u00e1ch t\u1eeb th\u1eddi \u0111i\u1ec3m 0 gi\u1edd 0 ph\u00fat 0 gi\u00e2y ng\u00e0y 1\/1\/1970 \u0111\u1ebfn 10 gi\u1edd 0 ph\u00fat 0 gi\u00e2y ng\u00e0y 06\/10\/1997 l\u00e0 876142800). Tr\u01b0\u1edbc \u0111\u00f3 kh\u00f4ng l\u00e2u, t\u00f4i v\u1eeba t\u1ed5 ch\u1ee9c sinh nh\u1eadt 24 tu\u1ed5i c\u1ee7a m\u00ecnh.<\/p>\n<h2>Th\u1ebf gi\u1edbi n\u0103m 1997<\/h2>\n<p>\u1ede th\u1eddi \u0111i\u1ec3m \u0111\u00f3, th\u1ebf gi\u1edbi l\u00e0 m\u1ed9t n\u01a1i c\u00f3 ch\u00fat kh\u00e1c bi\u1ec7t. Website kh\u00f4ng c\u00f3 c\u00e1c c\u1ea3nh b\u00e1o cookie. T\u01b0\u01a1ng lai c\u1ee7a web l\u00e0 c\u00e1c c\u1ed5ng th\u00f4ng tin \u0111i\u1ec7n t\u1eed (portal) ch\u1eb3ng h\u1ea1n nh\u01b0 Excite.com. AltaVista l\u00e0 c\u00f4ng c\u1ee5 t\u00ecm ki\u1ebfm t\u00f4i y\u00eau th\u00edch. Email c\u1ee7a t\u00f4i l\u00fac \u0111\u00f3 l\u00e0 kosmacze@sc2a.unige.ch \u2013 c\u00f3 ngh\u0129a l\u00e0 website c\u00e1 nh\u00e2n \u0111\u01b0\u1ee3c \u0111\u1eb7t t\u1ea1i http:\/\/sc2a.unige.ch\/~kosmacze. C\u00f4ng n\u01b0\u01a1ng Diana v\u1eeba qua \u0111\u1eddi. Steve Job n\u1eafm gi\u1eef v\u1ecb tr\u00ed CEO c\u1ee7a Apple v\u00e0 thuy\u1ebft ph\u1ee5c Microsoft \u0111\u1ea7u t\u01b0 150 tri\u1ec7u USD v\u00e0o c\u00f4ng ty n\u00e0y. T\u1eadp \u0111o\u00e0n Digital Equipment Corporation (DEC) th\u1eddi \u0111\u00f3 \u0111ang ki\u1ec7n DELL. H\u00e0i c\u1ed1t c\u1ee7a Che Guevara \u0111\u01b0\u1ee3c t\u00ecm th\u1ea5y v\u00e0 \u0111\u01b0a v\u1ec1 an t\u00e1ng t\u1ea1i Cuba. Ph\u1ea7n th\u1ee9 4 c\u1ee7a series phim h\u00e0i Friends b\u1eaft \u0111\u1ea7u \u0111\u01b0\u1ee3c tr\u00ecnh chi\u1ebfu. Gianni Versace b\u1ecb s\u00e1t h\u1ea1i ngay tr\u01b0\u1edbc hi\u00ean nh\u00e0. M\u1eb9 Teresa, Roy Lichtenstein v\u00e0 Jeanne Calment (nh\u1eefng con ng\u01b0\u1eddi s\u1ed1ng th\u1ecd nh\u1ea5t th\u1ebf gi\u1edbi t\u00ednh \u0111\u1ebfn th\u1eddi \u0111i\u1ec3m \u0111\u00f3) v\u1eeba m\u1edbi qua \u0111\u1eddi. M\u1ecdi ng\u01b0\u1eddi ch\u01a1i Final Fantasy 7 tr\u00ean nh\u1eefng chi\u1ebfc PlayStation c\u1ee7a h\u1ecd m\u1ed9t c\u00e1ch \u0111i\u00ean cu\u1ed3ng. BBC 2 b\u1eaft \u0111\u1ea7u c\u00e1c ch\u01b0\u01a1ng tr\u00ecnh ph\u00e1t thanh qua Teletubbies. James Cameron s\u1eafp ra m\u1eaft phim Titanic. The Verve tr\u00ecnh l\u00e0ng b\u1ea3n hit Bitter Sweet Symphony v\u00e0 sau \u0111\u00f3 ph\u1ea3i tr\u1ea3 100% s\u1ed1 ti\u1ec1n thu \u0111\u01b0\u1ee3c t\u1eeb b\u00e0i h\u00e1t \u0111\u00f3 cho Rolling Stones.<\/p>\n<p style=\"text-align: center\">\n<p>Smartphone (\u0111i\u1ec7n tho\u1ea1i th\u00f4ng minh) l\u00fac \u0111\u00f3 tr\u00f4ng gi\u1ed1ng nh\u01b0 chi\u1ebfc <strong>Nokia 9000 CommMasterskillstor<\/strong>, c\u00f3 8MB trong b\u1ed9 nh\u1edb, CPU 24 MHz i386 v\u00e0 ch\u1ea1y h\u1ec7 \u0111i\u1ec1u h\u00e0nh GEOS. Smartwatch (\u0111\u1ed3ng h\u1ed3 th\u00f4ng minh) l\u00fac \u0111\u00f3 tr\u00f4ng gi\u1ed1ng nh\u01b0 chi\u1ebfc <strong>CASIO G-SHOCK DW-9100B<\/strong>, kh\u00f4ng c\u00f3 nhi\u1ec1u \u1ee9ng d\u1ee5ng nh\u01b0 hi\u1ec7n nay nh\u01b0ng tu\u1ed5i th\u1ecd pin l\u00e2u h\u01a1n r\u1ea5t nhi\u1ec1u.<\/p>\n<div id=\"articleads2\" class=\"adbox in-article adsense\">\u00a0<\/div>\n<p><strong>IBM Deep Blue<\/strong> l\u1ea7n \u0111\u1ea7u ti\u00ean \u0111\u00e1nh b\u1ea1i ki\u1ec7n t\u01b0\u1edbng c\u1edd vua <strong>Garry Kasparov<\/strong>. M\u1ed9t hacker c\u00f3 t\u00ean l\u00e0 <em>&#8220;_eci&#8221;<\/em> \u0111\u00e3 c\u00f4ng khai m\u1ed9t m\u00e3 C t\u1ea1o ra l\u1ed7 h\u1ed5ng b\u1ea3o m\u1eadt cho Windows 3.1, 95 v\u00e0 Windows NT \u0111\u01b0\u1ee3c g\u1ecdi l\u00e0 WinNuke \u2013 ki\u1ec3u t\u1ea5n c\u00f4ng DoS (t\u1ea5n c\u00f4ng t\u1eeb ch\u1ed1i d\u1ecbch v\u1ee5) tr\u00ean TCP \u1edf port 139 (NetBIOS) g\u00e2y ra hi\u1ec7n t\u01b0\u1ee3ng m\u00e0n h\u00ecnh xanh ch\u1ebft ch\u00f3c (Blue Screen of Death). Th\u1eadt t\u00ecnh c\u1edd, n\u0103m 1997 c\u0169ng l\u00e0 n\u0103m m\u00e0 Malala Yousafzai, Chlo\u00eb Grace Moretz v\u00e0 Kylie Jenner ch\u00e0o \u0111\u1eddi.<\/p>\n<p style=\"text-align: center\">\n<p>C\u1ed1t truy\u1ec7n c\u1ee7a nhi\u1ec1u b\u1ed9 phim c\u0169ng \u0111\u01b0\u1ee3c ho\u00e0n th\u00e0nh v\u00e0o n\u0103m 1997 nh\u01b0 Escape from New York (Tr\u1ed1n tho\u00e1t kh\u1ecfi New York), Predator 2 (Ti\u00eau di\u1ec7t \u00e1c th\u00fa 2), The Curious Case of Benjamin Button (D\u1ecb nh\u00e2n Benjamin), Harry Potter and the Half-Blood Prince (Harry Potter v\u00e0 Ho\u00e0ng t\u1eed Lai), The Godfather III (B\u1ed1 gi\u00e0 3) v\u00e0 theo Terminator 2: Judgement Day (K\u1ebb h\u1ee7y di\u1ec7t 2: Ng\u00e0y ph\u00e1n x\u00e9t), Skynet s\u1ebd b\u1eaft \u0111\u1ea7u t\u1ef1 nh\u1eadn th\u1ee9c \u0111\u01b0\u1ee3c v\u00e0o l\u00fac 2:14 s\u00e1ng ng\u00e0y 29\/08\/1997. \u0110i\u1ec1u n\u00e0y \u0111\u00e3 kh\u00f4ng x\u1ea3y ra; tuy nhi\u00ean, m\u1ed9t \u0111i\u1ec1u th\u00fa v\u1ecb kh\u00e1c \u0111\u00e3 xu\u1ea5t h\u1ec7n \u0111\u00f3 l\u00e0 t\u00ean mi\u1ec1n <strong>Google.com<\/strong> \u0111\u00e3 \u0111\u01b0\u1ee3c \u0111\u0103ng k\u00fd v\u00e0o ng\u00e0y 15\/09 n\u0103m \u0111\u00f3. Cho \u0111\u1ebfn n\u0103m 1997, hai n\u0103m sau s\u1ef1 ki\u1ec7n Y2K v\u00e0 gi\u1edbi truy\u1ec1n th\u00f4ng b\u1eaft \u0111\u1ea7u khi\u1ebfn m\u1ecdi ng\u01b0\u1eddi lo l\u1eafng v\u1ec1 \u0111i\u1ec1u \u0111\u00f3. \u0110\u1ea1i lo\u1ea1i, t\u1ea1i th\u1eddi \u0111i\u1ec3m t\u00f4i b\u1eaft \u0111\u1ea7u gi\u1ea5c m\u01a1 tr\u1edf th\u00e0nh Developer th\u00ec th\u1ebf gi\u1edbi l\u00e0 nh\u01b0 v\u1eady.<\/p>\n<h2>C\u00f4ng vi\u1ec7c ph\u00e1t tri\u1ec3n \u0111\u1ea7u ti\u00ean c\u1ee7a t\u00f4i<\/h2>\n<p>C\u00f4ng vi\u1ec7c \u0111\u1ea7u ti\u00ean c\u1ee7a t\u00f4i bao g\u1ed3m vi\u1ebft c\u00e1c trang ASP t\u1ea1i m\u1ed9t s\u1ed1 nh\u00e0 xu\u1ea5t b\u1ea3n, t\u1eeb <strong>Microsoft FrontPage<\/strong>, <strong>HotMeTaL Pro<\/strong> cho t\u1edbi <strong>EditPlus<\/strong>, qu\u1ea3n l\u00fd t\u00ednh t\u01b0\u01a1ng th\u00edch c\u1ee7a nhi\u1ec1u tr\u00ecnh duy\u1ec7t gi\u1eefa <strong>Netscape Navigator<\/strong> v\u00e0 <strong>Internet Explorer 4<\/strong>, vi\u1ebft c\u00e1c <strong>stored procedure<\/strong> (m\u1ed9t t\u1eadp h\u1ee3p c\u00e1c c\u00e2u l\u1ec7nh SQL d\u00f9ng \u0111\u1ec3 th\u1ef1c thi m\u1ed9t nhi\u1ec7m v\u1ee5 nh\u1ea5t \u0111\u1ecbnh) trong SQL Server 6.5 cung c\u1ea5p cho m\u1ed9t website th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed ho\u1ea1t \u0111\u1ed9ng \u1edf c\u00e1c n\u01b0\u1edbc Nh\u1eadt B\u1ea3n, Nga, Anh v\u00e0 T\u00e2y Ban Nha \u2013 m\u00e0 kh\u00f4ng c\u00f3 b\u1ea5t k\u1ef3 s\u1ef1 h\u1ed7 tr\u1ee3 n\u00e0o c\u1ee7a UTF-8 (m\u1ed9t ph\u01b0\u01a1ng th\u1ee9c encoding r\u1ea5t ph\u1ed5 bi\u1ebfn \u0111\u1ec3 mi\u00eau t\u1ea3 b\u1ea3ng m\u00e3 Unicode tr\u00ean b\u1ed9 nh\u1edb) qua ng\u0103n x\u1ebfp ph\u1ea7n m\u1ec1m (software stack). S\u1ea3n ph\u1ea9m t\u1ea1o ra t\u1eeb nh\u1eefng n\u1ed7 l\u1ef1c n\u00e0y ch\u1ea1y tr\u00ean m\u00e1y ch\u1ee7 Pentium 2 \u0111\u01b0\u1ee3c \u0111\u1eb7t t\u1ea1i m\u1ed9t n\u01a1i n\u00e0o \u0111\u00f3 \u1edf M\u1ef9 v\u1edbi \u1ed5 \u0111\u0129a c\u1ee9ng l\u00ean t\u1edbi 2GB v\u00e0 RAM c\u00f3 dung l\u01b0\u1ee3ng 256 MB. \u0110\u00f3 l\u00e0 m\u00e1y ch\u1ee7 duy nh\u1ea5t ch\u1ea1y Windows NT 4, SQL Server 6.5 v\u00e0 IIS 2.0 ph\u1ee5c v\u1ee5 kho\u1ea3ng 10 ngh\u00ecn kh\u00e1ch m\u1ed7i ng\u00e0y.<\/p>\n<div id=\"articleads3\" class=\"adbox in-article\">\u00a0<\/div>\n<p>Ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh \u0111\u1ea7u ti\u00ean t\u00f4i s\u1eed d\u1ee5ng \u0111\u01b0\u1ee3c g\u1ecdi l\u00e0 <strong>VBScript<\/strong> v\u00e0 ch\u1eafc ch\u1eafn l\u00e0 c\u0169ng c\u00f3 m\u1ed9t ch\u00fat JavaScript ph\u00eda client &#8211; thi tho\u1ea3ng th\u00f4i v\u1edbi kh\u00e1 nhi\u1ec1u c\u00e2u l\u1ec7nh nh\u01b0 <em>&#8220;if this is Netscape do this, else do that&#8221;<\/em> (N\u1ebfu l\u00e0 Netscape th\u00ec l\u00e0m \u0111i\u1ec1u n\u00e0y, c\u00f2n n\u1ebfu kh\u00f4ng th\u00ec l\u00e0m \u0111i\u1ec1u kia) b\u1edfi v\u00ec \u1edf th\u1eddi \u0111i\u1ec3m \u0111\u00f3, t\u00f4i v\u1eabn ch\u01b0a hi\u1ec3u l\u00e0m th\u1ebf n\u00e0o \u0111\u1ec3 s\u1eed d\u1ee5ng JavaScript m\u1ed9t c\u00e1ch ch\u00ednh x\u00e1c. \u0110i\u1ec1u th\u00fa v\u1ecb l\u00e0 b\u00e2y gi\u1edd \u0111\u00e3 l\u00e0  v\u00e0 ch\u00fang ta g\u1ea7n nh\u01b0 c\u0169ng ch\u1eb3ng hi\u1ec3u g\u00ec v\u1ec1 c\u00e1ch l\u00e0m b\u1ea5t c\u1ee9 th\u1ee9 g\u00ec trong JavaScript.<\/p>\n<p style=\"text-align: center\">\n<p><strong>Unit test<\/strong> (k\u1ef9 thu\u1eadt ki\u1ec3m nghi\u1ec7m c\u00e1c ho\u1ea1t \u0111\u1ed9ng c\u1ee7a m\u1ecdi chi ti\u1ebft m\u00e3 v\u1edbi m\u1ed9t quy tr\u00ecnh t\u00e1ch bi\u1ec7t quy tr\u00ecnh ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m nh\u1eb1m ph\u00e1t hi\u1ec7n sia s\u00f3t&#8230;) ch\u01b0a bao gi\u1edd \u0111\u01b0\u1ee3c nghe \u0111\u1ebfn. <strong>Agile Manifesto<\/strong> (Tuy\u00ean ng\u00f4n v\u1ec1 Agile \u2013 ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m linh ho\u1ea1t) c\u0169ng ch\u01b0a bao gi\u1edd \u0111\u01b0\u1ee3c vi\u1ebft. <strong>Continuous integration<\/strong> (m\u1ed9t t\u1eadp qu\u00e1n trong ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m) ch\u1ec9 c\u00f3 trong m\u01a1. XML th\u1eadm ch\u00ed c\u00f2n ch\u01b0a ph\u1ea3i l\u00e0 thu\u1eadt ng\u1eef th\u00f4ng d\u1ee5ng. Chi\u1ebfn l\u01b0\u1ee3c QA ch\u1ec9 bao g\u1ed3m kh\u1edfi \u0111\u1ed9ng l\u1ea1i m\u00e1y ch\u1ee7 1 tu\u1ea7n\/l\u1ea7n b\u1edfi n\u1ebfu kh\u00f4ng l\u00e0m nh\u01b0 v\u1eady, n\u00f3 s\u1ebd d\u1eebng ho\u1ea1t \u0111\u1ed9ng l\u00fac n\u00e0o ch\u1eb3ng bi\u1ebft. Ch\u00fang t\u00f4i \u0111\u00e3 ph\u00e1t tri\u1ec3n <strong>COM+ Component<\/strong> trong Visual J++ \u0111\u1ec3 ph\u00e2n t\u00edch c\u00fa ph\u00e1p c\u00e1c t\u1eadp tin JPEG \u0111\u00e3 \u0111\u01b0\u1ee3c t\u1ea3i l\u00ean m\u00e1y ch\u1ee7. Ngay khi c\u00e1c t\u1eadp tin <strong>JPEG 2000<\/strong> \u0111\u00e3 \u0111\u01b0\u1ee3c m\u00e3 h\u00f3a b\u1eaft \u0111\u1ea7u xu\u1ea5t hi\u1ec7n, Component c\u1ee7a ch\u00fang t\u00f4i c\u0169ng b\u1ecb ph\u00e1 h\u1ee7y m\u1ed9t c\u00e1ch kinh kh\u1ee7ng. Ch\u00fang t\u00f4i kh\u00f4ng s\u1eed d\u1ee5ng <strong>source control<\/strong>, k\u1ec3 c\u1ea3 CVS, RCS hay SourceSafe. Subversion c\u0169ng ch\u01b0a t\u1ed3n t\u1ea1i. \u0110i\u1ec3m Joel Test c\u1ee7a ch\u00fang t\u00f4i l\u00e0 -25.<\/p>\n<h2>6.776 ng\u00e0y<\/h2>\n<p>Trong 6.776 ng\u00e0y tr\u01b0\u1edbc, t\u00f4i u\u1ed1ng m\u1ed9t t\u00e1ch caf\u00e9 v\u00e0o m\u1ed7i bu\u1ed5i s\u00e1ng v\u00e0 vi\u1ebft code b\u1eb1ng c\u00e1c ng\u00f4n ng\u1eef nh\u01b0 <strong>VBScript, JavaScript, Linux, SQL, HTML, Makefiles, Node.js, CSS, XML, .NET, YAML, Podfiles, JSON, Markdown, PHP, Windows, Doxygen, C#, Visual Basic, Visual Basic.NET, Java, Socket.io, Ruby, unit test, Python, shell scripts, C++, Objective-C, batch file<\/strong> v\u00e0 g\u1ea7n \u0111\u00e2y nh\u1ea5t l\u00e0 <strong>Swift.<\/strong> Trong 6.776 ng\u00e0y n\u00e0y c\u0169ng c\u00f3 r\u1ea5t nhi\u1ec1u th\u1ee9 \u0111\u00e3 x\u1ea3y ra; quan tr\u1ecdng nh\u1ea5t l\u00e0 t\u00f4i \u0111\u00e3 k\u1ebft h\u00f4n. T\u00f4i nh\u1ea3y vi\u1ec7c 6 l\u1ea7n v\u00e0 b\u1ecb sa th\u1ea3i 2 l\u1ea7n. T\u00f4i b\u1eaft \u0111\u1ea7u kinh doanh ri\u00eang v\u00e0 ngay sau \u0111\u00f3 c\u0169ng nhanh ch\u00f3ng \u0111\u00f3ng c\u1eeda n\u00f3. T\u00f4i ho\u00e0n th\u00e0nh ch\u01b0\u01a1ng tr\u00ecnh h\u1ecdc Th\u1ea1c s\u0129. T\u00f4i \u0111\u00e3 ra m\u1eaft m\u1ed9t v\u00e0i d\u1ef1 \u00e1n m\u00e3 ngu\u1ed3n m\u1edf v\u00e0 m\u1ed9t trong s\u1ed1 ch\u00fang \u0111\u00e3 gi\u00fap t\u00f4i xu\u1ea5t hi\u1ec7n trong m\u1ed9t b\u00e0i vi\u1ebft \u0111\u0103ng tr\u00ean t\u1edd Ars Technica (t\u00e1c gi\u1ea3 Erica Sadun). T\u00f4i c\u0169ng \u0111\u01b0\u1ee3c g\u00f3p m\u1eb7t trong ch\u01b0\u01a1ng tr\u00ecnh truy\u1ec1n h\u00ecnh <strong>Swiss and Bolivian<\/strong>. T\u00f4i xem c\u00e1c b\u00e0i thuy\u1ebft tr\u00ecnh tr\u1ef1c ti\u1ebfp c\u1ee7a Bill Gates v\u00e0 Steve Jobs t\u1ea1i Seattle v\u00e0 San Francisco. T\u00f4i c\u0169ng \u0111\u00e3 tham gia di\u1ec5n thuy\u1ebft v\u00e0 \u0111\u1ed3ng t\u1ed5 ch\u1ee9c c\u00e1c h\u1ed9i ngh\u1ecb t\u1ea1i 4 l\u1ee5c \u0111\u1ecba. T\u00f4i vi\u1ebft v\u00e0 xu\u1ea5t b\u1ea3n 2 cu\u1ed1n s\u00e1ch. T\u00f4i c\u0169ng \u0111\u00e3 ki\u1ec7t s\u1ee9c hai l\u1ea7n (kh\u00f4ng ph\u1ea3i v\u00ec nh\u1eefng cu\u1ed1n s\u00e1ch, t\u1ef1 b\u1ea3n th\u00e2n t\u00f4i th\u00f4i) v\u00e0 r\u1ea5t nhi\u1ec1u th\u1ee9 kh\u00e1c \u0111\u00e3 x\u1ea3y ra, c\u1ea3 nh\u1eefng \u0111i\u1ec1u tuy\u1ec7t v\u1eddi l\u1eabn nh\u1eefng th\u1ee9 t\u1ed3i t\u1ec7.<\/p>\n<p style=\"text-align: center\">\n<div class=\"adbox adsense in-article\">\u00a0<\/div>\n<p>T\u00f4i th\u01b0\u1eddng suy ngh\u0129 v\u1ec1 vi\u1ec7c r\u1eddi b\u1ecf c\u00f4ng vi\u1ec7c n\u00e0y. Tuy nhi\u00ean, b\u1eb1ng c\u00e1ch n\u00e0o \u0111\u00f3, nh\u1eefng d\u00f2ng code \u1ea5y lu\u00f4n g\u1ee3i nh\u1edb l\u1ea1i cho t\u00f4i v\u1ec1 qu\u00e1 kh\u1ee9. T\u00f4i th\u00edch vi\u1ebft c\u00e1c \u1ee9ng d\u1ee5ng, h\u1ec7 th\u1ed1ng, ph\u1ea7n m\u1ec1m. \u0110\u1ec3 tr\u00e1nh ki\u1ec7t s\u1ee9c, t\u00f4i ph\u1ea3i ph\u00e1t tri\u1ec3n c\u00e1c chi\u1ebfn thu\u1eadt. Trong b\u00e0i vi\u1ebft n\u00e0y, t\u00f4i s\u1ebd chia s\u1ebb cho b\u1ea1n 12 kinh nghi\u1ec7m c\u1ee7a t\u00f4i. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o ho\u1eb7c ch\u1ecdn l\u1ecdc \u0111\u1ec3 \u00e1p d\u1ee5ng cho m\u00ecnh. Nh\u01b0ng d\u00f9 g\u00ec \u0111i n\u1eefa, t\u00f4i v\u1eabn tin r\u1eb1ng 40 tu\u1ed5i, b\u1ea1n v\u1eabn c\u00f3 th\u1ec3 tr\u1edf th\u00e0nh m\u1ed9t Developer n\u1ebfu b\u1ea1n s\u1eb5n s\u00e0ng theo \u0111u\u1ed5i n\u00f3.<\/p>\n<h2>12 l\u1eddi khuy\u00ean d\u00e0nh cho c\u00e1c Developer m\u1edbi v\u00e0o ngh\u1ec1<\/h2>\n<h3>1. H\u00e3y qu\u00ean \u0111i nh\u1eefng l\u1eddi ph\u00f3ng \u0111\u1ea1i<\/h3>\n<p>L\u1eddi khuy\u00ean \u0111\u1ea7u ti\u00ean c\u1ee7a t\u00f4i d\u00e0nh cho t\u1ea5t c\u1ea3 c\u00e1c b\u1ea1n \u0111\u00f3 l\u00e0 \u0111\u1eebng \u0111\u1ec3 \u00fd \u0111\u1ebfn nh\u1eefng l\u1eddi ph\u00f3ng \u0111\u1ea1i. M\u1ed7i n\u0103m, s\u1ebd c\u00f3 m\u1ed9t ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh, framework, th\u01b0 vi\u1ec7n, m\u1eabu (pattern), ki\u1ebfn tr\u00fac th\u00e0nh ph\u1ea7n (component architecture) hay paradigm m\u1edbi n\u1ed5i l\u00ean khi\u1ebfn cho gi\u1edbi blogger b\u1ed7ng nhi\u00ean \u0111\u1ea1t \u0111\u01b0\u1ee3c th\u00e0nh c\u00f4ng vang d\u1ed9i. M\u1ecdi ng\u01b0\u1eddi \u0111i\u00ean cu\u1ed3ng v\u1edbi n\u00f3. C\u00e1c h\u1ed9i th\u1ea3o \u0111\u01b0\u1ee3c t\u1ed5 ch\u1ee9c. S\u00e1ch \u0111\u01b0\u1ee3c vi\u1ebft. C\u00e1c bi\u1ec3u \u0111\u1ed3 Gartner hype cycles t\u0103ng, gi\u1ea3m li\u00ean t\u1ee5c. C\u00e1c chuy\u00ean gia t\u01b0 v\u1ea5n nh\u1eadn \u0111\u01b0\u1ee3c nh\u1eefng kho\u1ea3n th\u00f9 lao v\u00f4 c\u00f9ng l\u1edbn \u0111\u1ec3 d\u1ea1y, tri\u1ec3n khai&#8230;. hay &#8220;ph\u00e1 h\u1ee7y&#8221; cu\u1ed9c \u0111\u1eddi c\u1ee7a r\u1ea5t nhi\u1ec1u ng\u01b0\u1eddi trong l\u0129nh v\u1ef1c n\u00e0y. B\u00e1o ch\u00ed \u1ee7ng h\u1ed9 cho nh\u1eefng s\u1ef1 h\u1ed7n lo\u1ea1n \u0111\u00f3 v\u00e0 s\u1ebd khi\u1ebfn b\u1ea1n c\u1ea3m th\u1ea5y t\u1ed9i l\u1ed7i n\u1ebfu nh\u01b0 t\u1ecf ra ph\u1edbt l\u1edd h\u1ecd. \u0110\u1eebng lo l\u1eafng v\u1ec1 nh\u1eefng l\u1eddi ph\u00f3ng \u0111\u1ea1i. H\u00e3y ti\u1ebfp t\u1ee5c l\u00e0m nh\u1eefng g\u00ec b\u1ea1n \u0111ang l\u00e0m, h\u1ecdc nh\u1eefng th\u1ee9 b\u1ea1n \u0111ang h\u1ecdc v\u00e0 ti\u1ebfn v\u1ec1 ph\u00eda tr\u01b0\u1edbc. Ch\u1ec9 \u0111\u1ebf \u00fd \u0111\u1ebfn ch\u00fang n\u1ebfu nh\u01b0 b\u1ea1n th\u1ef1c s\u1ef1 quan t\u00e2m ho\u1eb7c n\u1ebfu c\u1ea3m th\u1ea5y r\u1eb1ng ch\u00fang c\u00f3 th\u1ec3 mang \u0111\u1ebfn cho b\u1ea1n nh\u1eefng l\u1ee3i \u00edch ng\u1eafn h\u1ea1n ho\u1eb7c d\u00e0i h\u1ea1n. L\u00fd do cho nh\u1eefng l\u1eddi n\u00f3i d\u1ed1i n\u00e0y \u0111\u1ec1u d\u1ef1a tr\u00ean th\u1ef1c t\u1ebf \u0111\u00f3 l\u00e0, gi\u1ed1ng nh\u01b0 ng\u01b0\u1eddi Roman \u0111\u00e3 t\u1eebng n\u00f3i,<em> &#8220;nihil sub sole novum&#8221;<\/em> (ch\u1eb3ng c\u00f3 g\u00ec m\u1edbi l\u1ea1 d\u01b0\u1edbi \u00e1nh s\u00e1ng M\u1eb7t Tr\u1eddi c\u1ea3). Ph\u1ea7n l\u1edbn nh\u1eefng g\u00ec b\u1ea1n th\u1ea5y v\u00e0 h\u1ecdc \u0111\u01b0\u1ee3c v\u1ec1 khoa h\u1ecdc m\u00e1y t\u00ednh \u0111\u1ec1u \u0111\u00e3 xu\u1ea5t hi\u1ec7n ho\u1eb7c nhen nh\u00fam xu\u1ea5t hi\u1ec7n trong kho\u1ea3ng v\u00e0i th\u1eadp k\u1ef7 tr\u01b0\u1edbc. Th\u1ef1c t\u1ebf n\u00e0y \u0111\u01b0\u1ee3c che \u0111\u1eady c\u00f3 ch\u1ee7 \u00fd d\u01b0\u1edbi h\u00e0ng \u0111\u1ed1ng l\u00fd thuy\u1ebft marketing, s\u00e1ch v\u1edf, blog v\u00e0 nh\u1eefng c\u00e2u h\u1ecfi tr\u00ean Stack Overflow. M\u1ed7i ki\u1ebfn tr\u00fac m\u1edbi ch\u1ec9 \u0111\u01a1n thu\u1ea7n l\u00e0 m\u1ed9t s\u1ef1 t\u01b0\u1edfng t\u01b0\u1edfng l\u1ea1i v\u00e0 m\u00f4 ph\u1ecfng l\u1ea1i m\u1ed9t \u00fd t\u01b0\u1edfng m\u00e0 \u0111\u00e3 &#8220;tr\u00f4i n\u1ed5i&#8221; trong h\u00e0ng ch\u1ee5c n\u0103m tr\u01b0\u1edbc \u0111\u00f3.<\/p>\n<h3>2. L\u1ef1a ch\u1ecdn &#8220;thi\u00ean h\u00e0&#8221; m\u1ed9t c\u00e1ch kh\u00f4n ngoan<\/h3>\n<p>Trong l\u0129nh v\u1ef1c n\u00e0y, m\u1ed7i c\u00f4ng ngh\u1ec7 s\u1ebd t\u1ea1o ra m\u1ed9t th\u1ee9 m\u00e0 t\u00f4i t\u1ea1m g\u1ecdi l\u00e0 &#8220;galaxy&#8221; (thi\u00ean h\u00e0). Nh\u1eefng thi\u00ean h\u00e0 n\u00e0y n\u1ed5i b\u1eadt v\u1edbi c\u00e1c ng\u00f4i sao nh\u01b0ng c\u0169ng \u0111\u1ed3ng th\u1eddi l\u00e0 c\u00e1c l\u1ed7 \u0111en (black hole); nh\u1eefng ng\u00f4i sao b\u0103ng bay v\u1ee5t qua b\u1ea7u tr\u1eddi m\u1ed7i t\u1ed1i, nhi\u1ec1u h\u00e0nh tinh nh\u01b0ng ch\u1ec9 c\u00f3 m\u1ed9t ph\u1ea7n r\u1ea5t nh\u1ecf trong s\u1ed1 c\u00e1c h\u00e0nh tinh \u0111\u00f3 t\u1ed3n t\u1ea1i s\u1ef1 s\u1ed1ng, nhi\u1ec1u b\u1ee5i v\u0169 tr\u1ee5 v\u00e0 v\u1eadt ch\u1ea5t t\u1ed1i (dark matter). .NET, Cocoa, Node.js, PHP, Emacs, SAP&#8230; l\u00e0 nh\u1eefng thi\u00ean h\u00e0. M\u1ed7i m\u1ed9t thi\u00ean h\u00e0 l\u1ea1i n\u1ed5i b\u1eadt v\u1edbi nh\u1eefng ng\u01b0\u1eddi truy\u1ec1n gi\u00e1o, c\u00e1c nh\u00e0 ph\u00e1t tri\u1ec3n, blogger, podcast, h\u1ed9i th\u1ea3o, s\u00e1ch, kh\u00f3a \u0111\u00e0o t\u1ea1o, d\u1ecbch v\u1ee5 t\u01b0 v\u1ea5n v\u00e0 c\u00e1c v\u1ea5n \u0111\u1ec1 li\u00ean quan kh\u00e1c. C\u00e1c thi\u00ean h\u00e0 \u0111\u01b0\u1ee3c x\u00e2y d\u1ef1ng v\u1edbi gi\u1ea3 thuy\u1ebft r\u1eb1ng c\u00f4ng ngh\u1ec7 c\u01a1 s\u1edf c\u1ee7a ch\u00fang l\u00e0 c\u00e2u tr\u1ea3 l\u1eddi cho t\u1ea5t c\u1ea3 c\u00e1c v\u1ea5n \u0111\u1ec1. Do \u0111\u00f3, m\u1ed7i c\u00f4ng ngh\u1ec7 \u0111\u1ec1u \u0111\u01b0\u1ee3c d\u1ef1a tr\u00ean m\u1ed9t gi\u1ea3 thuy\u1ebft sai l\u1ea7m.<\/p>\n<p style=\"text-align: center\">\n<p>C\u00e1c nh\u00e0 ph\u00e1t tri\u1ec3n \u0111\u1ebfn t\u1eeb c\u00e1c thi\u00ean h\u00e0 kh\u00e1c nhau l\u00e0 hi\u1ec7n th\u00e2n c\u1ee7a nh\u1eefng quan \u0111i\u1ec3m &#8220;nguy\u00ean m\u1eabu&#8221; r\u1eb1ng s\u1ebd mang c\u00f4ng ngh\u1ec7 \u0111\u00f3 v\u00e0o cu\u1ed9c s\u1ed1ng. H\u1ecd g\u1eafn ch\u1eb7t v\u1edbi c\u00e1c \u00fd t\u01b0\u1edfng v\u00e0 s\u1ebd h\u0103ng h\u00e1i m\u1eb7c nh\u1eefng chi\u1ebfc \u00e1o ph\u00f4ng, \u0111\u1ed3ng th\u1eddi truy\u1ec1n \u0111\u1ea1t cho nh\u1eefng ng\u01b0\u1eddi kh\u00e1c v\u1ec1 c\u00e1c l\u1ee3i \u00edch \u0111\u1ea1t \u0111\u01b0\u1ee3c t\u1eeb s\u1ef1 l\u1ef1a ch\u1ecdn \u0111\u00f3 c\u1ee7a h\u1ecd. Qu\u1ea3 th\u1eadt, t\u00f4i s\u1eed d\u1ee5ng thu\u1eadt ng\u1eef &#8220;thi\u00ean h\u00e0&#8221; \u0111\u1ec3 tr\u00e1nh vi\u1ec7c ph\u1ea3i s\u1eed d\u1ee5ng m\u1ed9t thu\u1eadt ng\u1eef kh\u00e1c c\u00f3 th\u1ec3 g\u00e2y ra nh\u1eefng tranh c\u00e3i kh\u00f4ng \u0111\u00e1ng c\u00f3 l\u00e0 &#8220;s\u1ef1 s\u00f9ng b\u00e1i&#8221; (religion) \u2013 t\u1eeb m\u00e0 c\u00f3 th\u1ec3 m\u00f4 t\u1ea3 \u0111\u00fang h\u01a1n hi\u1ec7n t\u01b0\u1ee3ng m\u00e0 t\u00f4i mu\u1ed1n n\u00f3i.<\/p>\n<div class=\"adbox in-article adsense\">\u00a0<\/div>\n<p>Ri\u00eang t\u00f4i, t\u00f4i d\u00e0nh 10 n\u0103m \u0111\u1ea7u trong s\u1ef1 nghi\u1ec7p c\u1ee7a m\u00ecnh trong<strong><em> &#8220;thi\u00ean h\u00e0 Microsoft&#8221;<\/em><\/strong> v\u00e0 9 n\u0103m sau \u0111\u00f3 d\u00e0nh tr\u1ecdn cho <strong><em>&#8220;thi\u00ean h\u00e0 Apple&#8221;.<\/em><\/strong> T\u00f4i d\u00e1m n\u00f3i r\u1eb1ng, m\u1ed9t trong nh\u1eefng l\u00fd do l\u1edbn nh\u1ea5t t\u1ea1i sao t\u00f4i thay \u0111\u1ed5i c\u00e1c thi\u00ean h\u00e0 \u0111\u00f3 l\u00e0 Steve Ballmer (c\u1ef1u CEO Microsoft). T\u00f4i \u0111\u00e3 qu\u00e1 m\u1ec7t m\u1edfi b\u1edfi th\u00e1i \u0111\u1ed9 chung c\u1ee7a nh\u1eefng ng\u01b0\u1eddi trong <em>&#8220;thi\u00ean h\u00e0 Microsoft&#8221;<\/em> khi ch\u1ed1ng l\u1ea1i ph\u1ea7n m\u1ec1m m\u00e3 ngu\u1ed3n m\u1edf. M\u1eb7t kh\u00e1c, t\u00f4i c\u0169ng ph\u1ea3i n\u00f3i r\u1eb1ng <em>&#8220;thi\u00ean h\u00e0 Apple&#8221;<\/em> l\u00e0 m\u1ed9t n\u01a1i tuy\u1ec7t v\u1eddi, \u0111\u1ea7y r\u1eaby c\u00e1c ngh\u1ec7 s\u0129, nh\u1ea1c s\u0129 v\u00e0 c\u00e1c c\u00e2y vi\u1ebft xu\u1ea5t s\u1eafc \u2013 nh\u1eefng ng\u01b0\u1eddi m\u00e0, d\u00f9 t\u00ecnh c\u1edd hay kh\u00f4ng c\u0169ng b\u1eaft \u0111\u1ea7u quan t\u00e2m t\u1edbi l\u1eadp tr\u00ecnh ph\u1ea7n m\u1ec1m. T\u00f4i c\u0169ng \u0111\u00e3 tham d\u1ef1 c\u00e1c h\u1ed9i th\u1ea3o c\u1ee7a <em>&#8220;thi\u00ean h\u00e0 Microsft&#8221;<\/em>, ch\u1eb3ng h\u1ea1n nh\u01b0 Barcelona TechEd v\u00e0o n\u0103m 2003 ho\u1eb7c c\u00e1c bu\u1ed5i Tech Talks \u1edf Buenos Aires, Geneva hay Lodon. T\u00f4i th\u1eadm ch\u00ed c\u00f2n l\u00e0 di\u1ec5n gi\u1ea3 t\u1ea1i Microsoft DevDays (Geneva) v\u00e0o n\u0103m 2006. \u0110a ph\u1ea7n, c\u00e1c nh\u00e0 ph\u00e1t tri\u1ec3n trong <em>&#8220;thi\u00ean h\u00e0 Microsoft&#8221;<\/em> kh\u00f4ng h\u1ec1 th\u00e2n thi\u1ec7n,<em> &#8220;\u0111o\u00e0n k\u1ebft&#8221;<\/em> v\u00e0 r\u00e0ng bu\u1ed9c nhau m\u1ed9t c\u00e1ch b\u00ed m\u1eadt, \u0111\u1ea7y r\u1eaby c\u00e1c th\u1ecfa thu\u1eadn kh\u00f4ng ti\u1ebft l\u1ed9 (NDA) v\u00e0 c\u00e1c qu\u00e1 tr\u00ecnh IT c\u1ed3ng k\u1ec1nh. Quay tr\u1edf l\u1ea1i n\u0103m 2006, <em>&#8220;thi\u00ean h\u00e0 Apple&#8221;<\/em> \u0111\u1ed1i v\u1edbi t\u00f4i l\u1ea1i tr\u00e1i ng\u01b0\u1ee3c h\u1eb3n: \u0111\u1ea7y r\u1eaby nh\u1eefng con ng\u01b0\u1eddi l\u00e0 nh\u1ea1c s\u0129, ngh\u1ec7 s\u0129, h\u1ecda s\u0129; nh\u1eefng ng\u01b0\u1eddi vi\u1ebft ph\u1ea7n m\u1ec1m \u0111\u1ec3 th\u1ecfa m\u00e3n \u0111am m\u00ea c\u1ee7a h\u1ecd v\u00e0 h\u1ecd c\u0169ng vi\u1ebft b\u1eb1ng ch\u00ednh ni\u1ec1m \u0111am m\u00ea \u0111\u00f3. N\u00f3 t\u1ea1o ra m\u1ecdi s\u1ef1 kh\u00e1c bi\u1ec7t v\u00e0 ng\u00e0y \u0111\u00f3, t\u00f4i v\u1eabn v\u00f4 c\u00f9ng th\u00edch th\u00fa &#8220;thi\u00ean h\u00e0&#8221; n\u00e0y, &#8220;thi\u00ean h\u00e0&#8221; m\u00e0 t\u1ea5t c\u1ea3 ch\u00fang t\u00f4i c\u00f9ng \u1edf \u0111\u00f3, ngay t\u1ea1i th\u1eddi \u0111i\u1ec3m b\u00e2y gi\u1edd v\u00e0 n\u00f3 \u0111\u00e3 k\u1ebft n\u1ed1i ch\u00fang t\u00f4i l\u1ea1i v\u1edbi nhau. Khi \u0111\u00f3, iPhone c\u0169ng ra \u0111\u1eddi v\u00e0 ph\u1ea7n c\u00f2n l\u1ea1i thu\u1ed9c v\u1ec1 l\u1ecbch s\u1eed. Th\u1ebf n\u00ean, \u0111\u1ec1 xu\u1ea5t c\u1ee7a t\u00f4i d\u00e0nh cho b\u1ea1n \u0111\u00f3 l\u00e0: <strong>h\u00e3y l\u1ef1a ch\u1ecdn thi\u00ean h\u00e0 m\u1ed9t c\u00e1ch kh\u00f4n ngoan, s\u1ed1ng h\u1ebft m\u00ecnh ho\u1eb7c h\u1eddi h\u1ee3t v\u1edbi n\u00f3 nh\u01b0 b\u1ea1n mu\u1ed1n nh\u01b0ng h\u00e3y gi\u1eef k\u00ednh thi\u00ean v\u0103n c\u1ee7a b\u1ea1n h\u01b0\u1edbng v\u1ec1 nh\u1eefng thi\u00ean h\u00e0 kh\u00e1c v\u00e0 s\u1eb5n s\u00e0ng \u0111\u1ec3 nh\u1ea3y th\u1eadt xa sang m\u1ed9t n\u01a1i m\u1edbi n\u1ebfu c\u1ea7n thi\u1ebft.<\/strong><\/p>\n<h3>3. T\u00ecm hi\u1ec3u v\u1ec1 l\u1ecbch s\u1eed ph\u1ea7n m\u1ec1m<\/h3>\n<p>H\u1ecdc c\u00e1ch m\u00e0 c\u00f4ng ngh\u1ec7 y\u00eau th\u00edch c\u1ee7a b\u1ea1n xu\u1ea5t hi\u1ec7n. B\u1ea1n c\u00f3 th\u00edch C# kh\u00f4ng? B\u1ea1n c\u00f3 bi\u1ebft ai t\u1ea1o ra n\u00f3? D\u1ef1 \u00e1n .NET \u0111\u01b0\u1ee3c h\u00ecnh th\u00e0nh nh\u01b0 th\u1ebf n\u00e0o? Ai l\u00e0 ki\u1ebfn tr\u00fac s\u01b0 h\u00e0ng \u0111\u1ea7u? Nh\u1eefng tr\u1edf ng\u1ea1i c\u1ee7a m\u1ed9t d\u1ef1 \u00e1n l\u00e0 g\u00ec v\u00e0 t\u1ea1i sao ng\u00f4n ng\u1eef l\u1ea1i tr\u1edf th\u00e0nh th\u1ee9 quan tr\u1ecdng nh\u01b0 ng\u00e0y h\u00f4m nay? H\u00e3y \u00e1p d\u1ee5ng c\u00f4ng th\u1ee9c n\u00e0y cho b\u1ea5t k\u1ef3 ng\u00f4n ng\u1eef ho\u1eb7c ki\u1ebfn tr\u00fac CPU n\u00e0o b\u1ea1n th\u00edch ho\u1eb7c y\u00eau: Python, Ruby, Java hay b\u1ea5t c\u1ee9 ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh n\u00e0o kh\u00e1c: h\u00e3y t\u00ecm hi\u1ec3u v\u1ec1 ngu\u1ed3n g\u1ed1c c\u1ee7a ch\u00fang, ch\u00fang xu\u1ea5t hi\u1ec7n nh\u01b0 th\u1ebf n\u00e0o. T\u01b0\u01a1ng t\u1ef1, h\u00e3y ti\u1ebfp t\u1ee5c l\u00e0m nh\u01b0 v\u1eady v\u1edbi c\u00e1c h\u1ec7 \u0111i\u1ec1u h\u00e0nh, c\u00e1c c\u00f4ng ngh\u1ec7 networking, ph\u1ea7n c\u1ee9ng v\u00e0 t\u1ea5t c\u1ea3 nh\u1eefng th\u1ee9 kh\u00e1c. H\u00e3y kh\u00e1m ph\u00e1 v\u00e0 h\u1ecdc c\u00e1ch m\u00e0 m\u1ecdi ng\u01b0\u1eddi ti\u1ebfp c\u1eadn v\u1edbi nh\u1eefng \u00fd t\u01b0\u1edfng n\u00e0y, m\u1ea5t bao l\u00e2u \u0111\u1ec3 h\u1ecd n\u1eafm v\u1eefng v\u00e0 chinh ph\u1ee5c ch\u00fang. B\u1ea1n bi\u1ebft \u0111\u1ea5y, m\u1ed9t ph\u1ea7n m\u1ec1m t\u1ed1t c\u00f2n ph\u1ea3i m\u1ea5t \u0111\u1ebfn 10 n\u0103m m\u1edbi ho\u00e0n th\u00e0nh qu\u00e1 tr\u00ecnh ph\u00e1t tri\u1ec3n c\u01a1 m\u00e0.<\/p>\n<p style=\"text-align: center\">\n<p>Nh\u1eefng c\u00e2u chuy\u1ec7n xung quanh ngu\u1ed3n g\u1ed1c c\u1ee7a ng\u00e0nh c\u00f4ng ngh\u1ec7 th\u00f4ng tin r\u1ea5t h\u1ea5p d\u1eabn v\u00e0 cho b\u1ea1n th\u1ea5y hai th\u1ee9: <em>\u0111\u1ea7u ti\u00ean<\/em>, m\u1ecdi th\u1ee9 l\u00e0 m\u1ed9t s\u1ef1 x\u00e1o tr\u1ed9n tr\u1edf l\u1ea1i. <em>Th\u1ee9 hai<\/em>, ch\u00ednh v\u00ec c\u00e1i th\u1ee9 nh\u1ea5t m\u00e0 b\u1ea1n c\u00f3 th\u1ec3 tr\u1edf th\u00e0nh ng\u01b0\u1eddi x\u00e1o tr\u1ed9n l\u1ea1i th\u1ee9 to l\u1edbn ti\u1ebfp theo. Kh\u00f4ng, h\u00e3y thay \u0111\u1ed5i t\u01b0 duy c\u1ee7a b\u1ea1n th\u1ebf n\u00e0y: <strong>b\u1ea1n s\u1ebd tr\u1edf th\u00e0nh nh\u00e0 s\u00e1ng t\u1ea1o c\u1ee7a m\u1ed9t th\u1ee9 g\u00ec \u0111\u00f3 v\u0129 \u0111\u1ea1i k\u1ebf ti\u1ebfp.<\/strong> V\u00e0 \u0111\u1ec3 gi\u00fap \u0111\u1ee1 b\u1ea1n \u0111\u1ea1t \u0111\u01b0\u1ee3c \u0111i\u1ec1u \u0111\u00f3, t\u00f4i s\u1ebd cung c\u1ea5p cho b\u1ea1n m\u1ed9t s\u1ed1 \u0111\u1ea7u s\u00e1ch l\u1ecbch s\u1eed m\u00e0 t\u00f4i r\u1ea5t th\u00edch: B\u1ea1n c\u0169ng s\u1ebd h\u1ecdc c\u00e1ch \u0111\u00e1nh gi\u00e1 cao nh\u1eefng th\u1ee9 m\u00e0 v\u1eabn \u0111\u1ee9ng v\u1eefng tr\u01b0\u1edbc s\u1ef1 d\u1ecbch chuy\u1ec3n c\u1ee7a th\u1eddi gian: <strong>Lisp, TeX,Unix, bash, C, Cocoa, Emacs, Vim, Python, ARM, GNU make, man pages.<\/strong> \u0110\u00e2y l\u00e0 nh\u1eefng v\u00ed d\u1ee5 \u0111i\u1ec3n h\u00ecnh c\u1ee7a c\u00e1c c\u00f4ng ngh\u1ec7 m\u00e0 mang l\u1ea1i l\u1ee3i \u00edch trong th\u1eddi gian d\u00e0i \u2013 nh\u1eefng th\u1ee9 \u0111\u00e1ng \u0111\u01b0\u1ee3c ch\u00e0o \u0111\u00f3n, ca ng\u1ee3i v\u00e0 h\u1ecdc h\u1ecfi.<\/p>\n<h3>4. Ti\u1ebfp t\u1ee5c h\u1ecdc h\u1ecfi<\/h3>\n<p>H\u1ecdc. H\u1ecdc b\u1ea5t c\u1ee9 th\u1ee9 g\u00ec. Mu\u1ed1n h\u1ecdc Fortran? H\u00e3y b\u1eaft \u0111\u1ea7u \u0111i. C\u1ea3m th\u1ea5y Erlang th\u00fa v\u1ecb? Tuy\u1ec7t v\u1eddi. Ngh\u0129 r\u1eb1ng COBOL c\u00f3 th\u1ec3 l\u00e0 \u0111i\u1ec1u l\u1edbn lao ti\u1ebfp theo trong s\u1ef1 nghi\u1ec7p c\u1ee7a b\u1ea1n? Th\u1eadt tuy\u1ec7t. C\u1ea7n bi\u1ebft nhi\u1ec1u h\u01a1n v\u1ec1 Functional Reactive Programming (L\u1eadp tr\u00ecnh h\u01b0\u1edbng lu\u1ed3ng d\u1eef li\u1ec7u)? \u0110\u01b0\u1ee3c ch\u1ee9! Thi\u1ebft k\u1ebf? Ch\u1eafc ch\u1eafn c\u00e0ng \u1ed5n. UX? B\u1ea1n bu\u1ed9c ph\u1ea3i h\u1ecdc. Th\u01a1 v\u0103n? N\u00ean t\u00ecm hi\u1ec3u m\u1ed9t ch\u00fat. Nhi\u1ec1u concept ph\u1ed5 bi\u1ebfn trong Khoa h\u1ecdc m\u00e1y t\u00ednh \u0111\u00e3 \u0111\u01b0\u1ee3c xu\u1ea5t hi\u1ec7n kho\u1ea3ng v\u00e0i th\u1eadp k\u1ef7 tr\u01b0\u1edbc c\u00e0ng khi\u1ebfn vi\u1ec7c h\u1ecdc nh\u1eefng ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh v\u00e0 framework c\u0169 c\u00e0ng tr\u1edf n\u00ean \u0111\u00e1ng gi\u00e1, ngay c\u1ea3 khi \u0111\u00f3 l\u00e0 nh\u1eefng th\u1ee9 &#8220;b\u00ed m\u1eadt&#8221;. <em>\u0110\u1ea7u ti\u00ean<\/em>, n\u00f3 khi\u1ebfn b\u1ea1n tr\u00e2n tr\u1ecdng th\u1ef1c tr\u1ea1ng hi\u1ec7n t\u1ea1i c\u1ee7a ng\u00e0nh b\u1ea1n \u0111ang l\u00e0m (ho\u1eb7c gh\u00e9t n\u00f3) v\u00e0 <em>th\u1ee9 hai,<\/em> b\u1ea1n s\u1ebd h\u1ecdc c\u00e1ch s\u1eed d\u1ee5ng nh\u1eefng c\u00f4ng c\u1ee5 hi\u1ec7n t\u1ea1i hi\u1ec7u qu\u1ea3 h\u01a1n \u2013 c\u00f3 th\u1ec3 l\u00e0 b\u1edfi v\u00ec b\u1ea1n s\u1ebd hi\u1ec3u c\u1ea3 ngu\u1ed3n g\u1ed1c l\u1eabn nh\u1eefng di s\u1ea3n c\u1ee7a n\u00f3. <strong>Tip 1: T\u00ecm hi\u1ec3u \u00edt nh\u1ea5t m\u1ed9t ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh m\u1edbi m\u1ed7i n\u0103m. T\u00f4i kh\u00f4ng ph\u1ea3i l\u00e0 ng\u01b0\u1eddi \u0111\u1ec1 xu\u1ea5t \u00fd t\u01b0\u1edfng n\u00e0y m\u00e0 l\u00e0 cu\u1ed1n s\u00e1ch n\u00e0y: The Pragmatic Programmer. T\u1ea5t nhi\u00ean, n\u00f3 hi\u1ec7u qu\u1ea3.<\/strong> M\u1ed9t ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh m\u1edbi m\u1ed7i n\u0103m kh\u00f4ng h\u1ec1 qu\u00e1 kh\u00f3. H\u00e3y b\u01b0\u1edbc v\u00e0o giai \u0111o\u1ea1n <em>&#8220;xin ch\u00e0o, th\u1ebf gi\u1edbi&#8221;<\/em> v\u00e0 t\u1ea1o ra th\u1ee9 g\u00ec \u0111\u00f3 h\u1eefu \u00edch b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng ng\u00f4n ng\u1eef \u0111\u00f3. T\u00f4i th\u01b0\u1eddng x\u00e2y d\u1ef1ng m\u1ed9t ph\u1ea7n m\u1ec1m t\u00ednh to\u00e1n \u0111\u01a1n gi\u1ea3n v\u1edbi b\u1ea5t c\u1ee9 c\u00f4ng ngh\u1ec7 m\u1edbi n\u00e0o m\u00e0 t\u00f4i h\u1ecdc \u0111\u01b0\u1ee3c. N\u00f3 gi\u00fap t\u00f4i l\u00e0m r\u00f5 c\u00fa ph\u00e1p v\u00e0 l\u00e0m quen v\u1edbi API hay IDE&#8230; <strong>Tip 2: \u0110\u1ecdc \u00edt nh\u1ea5t 6 cu\u1ed1n s\u00e1ch m\u1ed7i n\u0103m. T\u00f4i \u0111\u00e3 li\u1ec7t k\u00ea m\u1ed9t danh s\u00e1ch \u1edf tr\u00ean g\u1ed3m 6 cu\u1ed1n s\u00e1ch b\u1eaft bu\u1ed9c ph\u1ea3i \u0111\u1ecdc c\u00f3 th\u1ec3 khi\u1ebfn b\u1ea1n b\u1eadn r\u1ed9n trong kho\u1ea3ng 1 n\u0103m t\u1edbi v\u00e0 d\u01b0\u1edbi \u0111\u00e2y l\u00e0 7 cu\u1ed1n cho n\u0103m sau \u0111\u00f3 n\u1eefa m\u00e0 b\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o:<\/strong><\/p>\n<div class=\"adbox in-article\">\u00a0<\/div>\n<p>6 cu\u1ed1n s\u00e1ch m\u1ed7i n\u0103m nghe c\u00f3 v\u1ebb nhi\u1ec1u nh\u01b0ng t\u00ednh ra <strong>2 th\u00e1ng b\u1ea1n ch\u1ec9 ph\u1ea3i \u0111\u1ecdc duy nh\u1ea5t m\u1ed9t quy\u1ec3n<\/strong>. V\u00e0 \u0111a ph\u1ea7n nh\u1eefng cu\u1ed1n t\u00f4i k\u1ec3 \u1edf tr\u00ean \u0111\u1ec1u kh\u00f4ng qu\u00e1 d\u00e0i, d\u1ec5 hi\u1ec3u, h\u00e0i h\u01b0\u1edbc v\u00e0 ch\u1ee9a r\u1ea5t nhi\u1ec1u \u0111i\u1ec1u th\u00fa v\u1ecb. H\u00e3y nh\u00ecn v\u1ea5n \u0111\u1ec1 theo h\u01b0\u1edbng n\u00e0y: <strong>N\u1ebfu b\u00e2y gi\u1edd b\u1ea1n \u0111\u00e3 2 tu\u1ed5i, \u0111\u1ebfn tu\u1ed5i 30 b\u1ea1n s\u1ebd \u0111\u1ecdc \u0111\u01b0\u1ee3c h\u01a1n 60 cu\u1ed1n v\u00e0 120 cu\u1ed1n khi b\u1ea1n b\u1eb1ng tu\u1ed5i t\u00f4i hi\u1ec7n t\u1ea1i. V\u00e0 l\u00fac \u0111\u00f3, b\u1ea1n c\u0169ng \u0111\u00e3 \u0111\u01b0\u1ee3c &#8220;\u0111\u00f9a gi\u1ee1n&#8221; v\u1edbi \u00edt nh\u1ea5t 20 ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh kh\u00e1c nhau. <\/strong>Ch\u1ec9 c\u1ea7n ngh\u0129 \u0111\u1ebfn \u0111i\u1ec1u n\u00e0y trong 1 gi\u00e2y th\u00e2y c\u0169ng \u0111\u00e3 \u0111\u1ee7 h\u1ea1nh ph\u00fac \u0111\u1ec3 mu\u1ed1n b\u1eaft \u0111\u1ea7u ngay r\u1ed3i! M\u1ed9t s\u1ed1 trong 12 cu\u1ed1n m\u00e0 t\u00f4i \u0111\u00e3 ch\u1ecdn cho b\u1ea1n \u1edf tr\u00ean \u0111\u01b0\u1ee3c vi\u1ebft \u1edf th\u1ebf k\u1ef7 17, m\u1ed9t s\u1ed1 \u1edf th\u1ebf k\u1ef7 18, 19 v\u00e0 cu\u1ed1i c\u00f9ng, \u0111a ph\u1ea7n l\u00e0 \u0111\u01b0\u1ee3c vi\u1ebft c\u00e1ch \u0111\u00e2y kho\u1ea3ng 10 n\u0103m. Ch\u00fang l\u00e0 nh\u1eefng t\u00e1c ph\u1ea9m tuy\u1ec7t v\u1eddi v\u1ec1 ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m m\u00e0 t\u00f4i \u0111\u00e3 \u0111\u1ecdc. Tuy nhi\u00ean, \u0111\u1eebng ch\u1ec9 \u0111\u1ecdc ch\u00fang. H\u00e3y ghi ch\u00fa, \u0111\u00e1nh d\u1ea5u, vi\u1ebft l\u00ean nh\u1eefng trang s\u00e1ch \u0111\u00f3 v\u00e0 sau \u0111\u00f3, h\u00e3y d\u00e0nh th\u1eddi gian \u0111\u1ecdc l\u1ea1i. Borges \u0111\u00e3 t\u1eebng n\u00f3i r\u1eb1ng<strong> s\u1ef1 th\u1ecfa m\u00e3n l\u1edbn h\u01a1n vi\u1ec7c \u0111\u1ecdc m\u1ed9t cu\u1ed1n s\u00e1ch l\u00e0 \u0111\u1ecdc l\u1ea1i n\u00f3<\/strong>. V\u00e0 t\u1ea5t nhi\u00ean, l\u00e0m \u01a1n h\u00e3y mua s\u00e1ch gi\u1ea5y n\u1ebfu b\u1ea1n th\u1ef1c s\u1ef1 th\u00edch ch\u00fang. Tin t\u00f4i \u0111i. S\u00e1ch \u0111i\u1ec7n t\u1eed \u0111\u01b0\u1ee3c \u0111\u00e1nh gi\u00e1 qu\u00e1 cao (so v\u1edbi th\u1ef1c t\u1ebf c\u1ee7a ch\u00fang). Kh\u00f4ng g\u00ec c\u00f3 th\u1ec3 \u0111\u00e1nh b\u1ea1i nh\u1eefng th\u1ee9 \u0111\u01b0\u1ee3c c\u1ea7m n\u1eafm th\u1ef1c s\u1ef1 c\u1ea3. Hi\u1ec3n nhi\u00ean, b\u1ea1n c\u0169ng c\u1ea7n bi\u1ebft r\u1eb1ng khi b\u1ea1n b\u1eaft \u0111\u1ea7u gi\u00e0, s\u1ed1 l\u01b0\u1ee3ng nh\u1eefng th\u1ee9 m\u00e0 \u0111\u01b0\u1ee3c cho l\u00e0 m\u1edbi v\u00e0\/ho\u1eb7c quan tr\u1ecdng s\u1ebd b\u1eaft \u0111\u1ea7u gi\u1ea3m r\u1ea5t m\u1ea1nh. H\u00e3y chu\u1ea9n b\u1ecb cho \u0111i\u1ec1u \u0111\u00f3. Kh\u00f4ng c\u00f3 g\u00ec ng\u1ea1c nhi\u00ean n\u1ebfu b\u1ea1n c\u1ea3m th\u1ea5y bu\u1ed3n khi nh\u1eadn ra n\u00f3 c\u1ea3.<\/p>\n<h3>5. D\u1ea1y l\u1ea1i cho ng\u01b0\u1eddi kh\u00e1c<\/h3>\n<p>M\u1ed9t khi \u0111\u00e3 h\u1ecdc \u0111\u01b0\u1ee3c, h\u00e3y d\u1ea1y l\u1ea1i cho ng\u01b0\u1eddi kh\u00e1c. \u0110\u00e2y l\u00e0 \u0111i\u1ec1u r\u1ea5t quan tr\u1ecdng.<\/p>\n<p style=\"text-align: center\">\n<p>\u0110i\u1ec1u n\u00e0y kh\u00f4ng c\u00f3 ngh\u0129a b\u1ea1n n\u00ean thu\u00ea ph\u00f2ng h\u1ecdc v\u00e0 m\u1eddi m\u1ecdi ng\u01b0\u1eddi t\u1edbi nghe b\u1ea1n &#8220;l\u1ea3m nh\u1ea3m&#8221; (m\u1eb7c d\u00f9 s\u1ebd tuy\u1ec7t v\u1eddi h\u01a1n n\u1ebfu l\u00e0m \u0111\u01b0\u1ee3c nh\u01b0 v\u1eady!). \u00dd c\u1ee7a t\u00f4i \u1edf \u0111\u00e2y l\u00e0 \u0111\u1ed1i v\u1edbi nh\u1eefng c\u00e2u h\u1ecfi \u0111\u01b0\u1ee3c \u0111\u1eb7t ra tr\u00ean Stack Overflow, h\u00e3y \u0111\u01b0a ra nh\u1eefng c\u00e2u tr\u1ea3 l\u1eddi \u00fd ngh\u0129a v\u00e0 t\u1ed1t nh\u1ea5t; l\u00e0 b\u1ea1n h\u00e3y vi\u1ebft m\u1ed9t cu\u1ed1n s\u00e1ch; xu\u1ea5t b\u1ea3n m\u1ed9t podcast chia s\u1ebb v\u1ec1 c\u00f4ng ngh\u1ec7 y\u00eau th\u00edch c\u1ee7a b\u1ea1n; h\u00e3y vi\u1ebft blog; vi\u1ebft tr\u00ean trang <strong>Medium<\/strong>; \u0111i t\u1edbi c\u00e1c qu\u1ed1c gia kh\u00e1c, m\u1edf l\u1edbp\/tr\u01b0\u1eddng d\u1ea1y l\u1eadp tr\u00ecnh b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng Raspberry Pis (m\u1ed9t chi\u1ebfc m\u00e1y t\u00ednh si\u00eau nh\u1ecf) ho\u1eb7c gi\u00fap \u0111\u1ee1 nh\u1eefng nh\u00e0 ph\u00e1t tri\u1ec3n m\u1edbi v\u00e0o ngh\u1ec1 b\u1eb1ng c\u00e1ch tr\u1edf th\u00e0nh c\u1ed1 v\u1ea5n c\u1ee7a h\u1ecd (m\u1eb7c d\u00f9 v\u1eady, \u0111\u1eebng l\u00e0m \u0111i\u1ec1u n\u00e0y tr\u01b0\u1edbc 30 tu\u1ed5i nh\u00e9 v\u00ec b\u1ea1n ch\u01b0a \u0111\u1ee7 kinh nghi\u1ec7m \u0111\u00e2u). D\u1ea1y l\u1ea1i cho ng\u01b0\u1eddi kh\u00e1c s\u1ebd gi\u00fap b\u1ea1n bi\u1ebft khi\u00eam t\u1ed1n h\u01a1n b\u1edfi v\u00ec qu\u00e1 tr\u00ecnh n\u00e0y s\u1ebd ch\u1ec9 ra r\u1eb1ng ki\u1ebfn th\u1ee9c c\u1ee7a b\u1ea1n h\u1ea1n h\u1eb9p t\u1edbi m\u1ee9c n\u00e0o. \u0110\u00e2y c\u0169ng l\u00e0 c\u00e1ch tuy\u1ec7t v\u1eddi \u0111\u1ec3 h\u1ecdc h\u1ecfi. Ch\u1ec9 b\u1eb1ng c\u00e1ch ki\u1ec3m tra ki\u1ebfn th\u1ee9c c\u1ee7a b\u1ea1n v\u1edbi ng\u01b0\u1eddi kh\u00e1c th\u00ec b\u1ea1n m\u1edbi h\u1ecdc m\u1ed9t c\u00e1ch \u0111\u00fang \u0111\u1eafn. Th\u00eam n\u1eefa, truy\u1ec1n \u0111\u1ea1t l\u1ea1i cho m\u1ecdi ng\u01b0\u1eddi nh\u1eefng g\u00ec b\u1ea1n bi\u1ebft c\u0169ng s\u1ebd khi\u1ebfn b\u1ea1n \u0111\u01b0\u1ee3c t\u00f4n tr\u1ecdng nhi\u1ec1u h\u01a1n b\u1edfi c\u00e1c nh\u00e0 ph\u00e1t tri\u1ec3n v\u00e0 nh\u1eefng ng\u01b0\u1eddi \u0111am m\u00ea c\u00f4ng ngh\u1ec7 kh\u00e1c; m\u1ed7i ng\u00f4n ng\u1eef, b\u1ea5t k\u1ec3 ch\u00fang t\u1ea7m th\u01b0\u1eddng hay &#8220;cao qu\u00fd&#8221; th\u00ec c\u0169ng \u0111\u1ec1u c\u00f3 ch\u1ed7 \u0111\u1ee9ng trong Tao of Programming (\u0110\u1ea1o c\u1ee7a L\u1eadp tr\u00ecnh) v\u00e0 ch\u1ec9 qua gi\u1ea3ng d\u1ea1y th\u00ec b\u1ea1n m\u1edbi c\u00f3 th\u1ec3 c\u1ea3m nh\u1eadn \u0111\u01b0\u1ee3c n\u00f3. V\u00e0 trong su\u1ed1t qu\u00e1 tr\u00ecnh d\u1ea1y l\u1ea1i cho ng\u01b0\u1eddi kh\u00e1c, b\u1ea1n c\u00f3 th\u1ec3 th\u1ef1c s\u1ef1, th\u1ef1c s\u1ef1 t\u1ea1o s\u1ef1 kh\u00e1c bi\u1ec7t trong th\u1ebf gi\u1edbi n\u00e0y. Quay tr\u1edf l\u1ea1i n\u0103m 2012, t\u00f4i nh\u1eadn \u0111\u01b0\u1ee3c m\u1ed9t email t\u1eeb m\u1ed9t ng\u01b0\u1eddi m\u00e0 \u0111\u00e3 tham d\u1ef1 m\u1ed9t trong nh\u1eefng bu\u1ed5i \u0111\u00e0o t\u1ea1o c\u1ee7a t\u00f4i. C\u00f4 \u0111\u00e3 t\u1eebng l\u00e0m vi\u1ec7c trong vai tr\u00f2 l\u00e0 m\u1ed9t nh\u00e0 ph\u00e1t tri\u1ec3n Adobe Flash. B\u1ea1n c\u00f2n nh\u1edb ActionScript v\u00e0 t\u1ea5t c\u1ea3 nh\u1eefng th\u1ee9 \u0111\u00f3 ch\u1ee9? Kh\u00f4ng c\u00f3 g\u00ec ng\u1ea1c nhi\u00ean khi sau 12 n\u0103m l\u00e0m vi\u1ec7c trong vai tr\u00f2 l\u00e0 m\u1ed9t freelancer m\u1ea3ng ph\u00e1t tri\u1ec3n Flash c\u00f4 b\u1ed7ng nhi\u00ean c\u1ea3m th\u1ea5y m\u00ecnh th\u1ea5t nghi\u1ec7p, c\u00f4 \u0111\u01a1n c\u00f9ng v\u1edbi m\u1ed9t \u0111\u1ee9a con \u0111\u1ec3 ch\u0103m s\u00f3c. Trong email c\u00f4 n\u00f3i r\u1eb1ng khi tham gia bu\u1ed5i \u0111\u00e0o t\u1ea1o c\u1ee7a t\u00f4i, c\u00f4 \u0111\u00e3 r\u1ea5t h\u1ee9ng th\u00fa v\u00e0 c\u0169ng h\u1ecdc m\u1ed9t v\u00e0i th\u1ee9 h\u1eefu \u00edch. Sau \u0111\u00f3, c\u00f4 t\u00ecm \u0111\u01b0\u1ee3c m\u1ed9t c\u00f4ng vi\u1ec7c v\u1ec1 ph\u00e1t tri\u1ec3n web cho di \u0111\u1ed9ng. C\u00f4 g\u1eedi cho t\u00f4i l\u1eddi c\u1ea3m \u01a1n. T\u00f4i kh\u00f4ng d\u00e1m tuy\u00ean b\u1ed1 r\u1eb1ng t\u00f4i c\u00f3 th\u1ec3 thay \u0111\u1ed5i th\u1ebf gi\u1edbi nh\u01b0ng c\u00f3 l\u1ebd, t\u00f4i c\u00f3 th\u1ec3 khi\u1ebfn n\u00f3 &#8220;d\u1ecbch chuy\u1ec3n&#8221; ch\u00fat \u00edt sang m\u1ed9t v\u1ecb tr\u00ed kh\u00e1c (hy v\u1ecdng r\u1eb1ng) s\u1ebd t\u1ed1t h\u01a1n. Suy ngh\u0129 n\u00e0y \u0111\u00e3 khi\u1ebfn cho b\u00e0i h\u1ecdc m\u00e0 t\u00f4i r\u00fat ra \u0111\u01b0\u1ee3c t\u1eeb th\u1eddi \u0111i\u1ec3m \u0111\u00f3 tr\u1edf n\u00ean \u0111\u00e1ng gi\u00e1 v\u00e0 \u00fd ngh\u0129a h\u01a1n r\u1ea5t nhi\u1ec1u.<\/p>\n<h3>6. M\u00f4i tr\u01b0\u1eddng l\u00e0m vi\u1ec7c th\u1eadt kh\u1ee7ng khi\u1ebfp<\/h3>\n<p>\u0110\u1eebng mong \u0111\u1ee3i c\u00e1c c\u00f4ng ty ph\u1ea7n m\u1ec1m g\u1ee3i m\u1edf cho b\u1ea1n m\u1ed9t con \u0111\u01b0\u1eddng ph\u00e1t tri\u1ec3n s\u1ef1 nghi\u1ec7p. N\u1ebfu \u1edf M\u1ef9, c\u00f3 th\u1ec3 \u0111i\u1ec1u n\u00e0y s\u1ebd x\u1ea3y ra nh\u01b0ng t\u00f4i ch\u01b0a bao gi\u1edd nh\u00ecn th\u1ea5y ch\u00fang c\u00f3 \u1edf ch\u00e2u \u00c2u. \u0110i\u1ec1u n\u00e0y c\u00f3 ngh\u0129a <strong>b\u1ea1n bu\u1ed9c ph\u1ea3i t\u1ef1 ch\u1ecbu tr\u00e1ch nhi\u1ec7m cho th\u00e0nh c\u00f4ng trong s\u1ef1 nghi\u1ec7p c\u1ee7a m\u00ecnh.<\/strong> Kh\u00f4ng m\u1ed9t ai n\u00f3i v\u1edbi b\u1ea1n r\u1eb1ng<em> &#8220;\u1ed3, v\u00e2ng, n\u0103m t\u1edbi b\u1ea1n c\u00f3 th\u1ec3 ph\u00e1t tri\u1ec3n \u0111\u1ec3 tr\u1edf th\u00e0nh m\u1ed9t tr\u01b0\u1edfng nh\u00f3m, sau \u0111\u00f3 l\u00e0 qu\u1ea3n l\u00fd, ti\u1ebfp theo l\u00e0 gi\u00e1m \u0111\u1ed1c c\u00f4ng ngh\u1ec7&#8230;&#8221;.<\/em><\/p>\n<p style=\"text-align: center\">\n<p>Kh\u00f4ng h\u1ec1 c\u00f3 chuy\u1ec7n \u0111\u00f3. Th\u1ef1c t\u1ebf l\u1ea1i l\u00e0 \u0111i\u1ec1u ng\u01b0\u1ee3c l\u1ea1i: b\u1ea1n \u0111\u00e3 t\u1eebng l\u00e0, b\u1ea1n l\u00e0 v\u00e0 s\u1ebd l\u00e0 m\u1ed9t nh\u00e0 ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m, ngh\u0129a l\u00e0, m\u1ed9t c\u00f4ng nh\u00e2n nh\u00e0 m\u00e1y t\u01b0\u01a1ng \u0111\u1ed1i c\u00f3 &#8220;gi\u00e1&#8221;, c\u00e1c c\u00f4ng vi\u1ec7c c\u1ee7a b\u1ea1n nh\u00e0 qu\u1ea3n l\u00fd ho\u00e0n to\u00e0n c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 thu\u00ea ngo\u00e0i (outsource) b\u1ea5t k\u1ec3 h\u1ecd c\u00f3 n\u00f3i g\u00ec v\u1edbi b\u1ea1n \u0111i n\u1eefa. \u0110\u1eebng nh\u1eadn m\u1ed9t c\u00f4ng vi\u1ec7c ch\u1ec9 v\u00ec ti\u1ec1n. C\u00e1c c\u00f4ng ty ph\u1ea7n m\u1ec1m \u0111ang d\u1ea7n tr\u1edf th\u00e0nh nh\u1eefng c\u00f4ng x\u01b0\u1edfng \u0111\u1ea7y m\u1ed3 h\u00f4i n\u01b0\u1edbc m\u1eaft \u2013 n\u01a1i b\u1ea1n \u0111\u01b0\u1ee3c cho l\u00e0 s\u1ebd t\u00ecm c\u00e1ch ch\u1ee9ng minh cho m\u1ee9c l\u01b0\u01a1ng cao v\u00f4 l\u00fd c\u1ee7a m\u00ecnh b\u1eb1ng nh\u1eefng gi\u1edd l\u00e0m vi\u1ec7c &#8220;kh\u00f4ng ai bi\u1ebft&#8221; v\u00e0 nh\u1eefng k\u1ef3 v\u1ecdng v\u01b0\u1ee3t qu\u00e1 gi\u1edbi h\u1ea1n. V\u00e0, trong tr\u01b0\u1eddng h\u1ee3p \u1edf Th\u1ee5y S\u0129, \u0111\u00f3 l\u00e0 kh\u00f4ng c\u00f3 t\u1ed5 ch\u1ee9c c\u00f4ng \u0111o\u00e0n n\u00e0o s\u1ebd gi\u00fap b\u1ea1n n\u1ebfu m\u1ecdi th\u1ee9 tr\u1edf n\u00ean t\u1ed3i t\u1ec7. Qu\u1ea3 th\u1eadt, \u1edf qu\u1ed1c gia n\u00e0y c\u0169ng c\u00f3 c\u00f4ng \u0111o\u00e0n nh\u01b0ng h\u1ecd kh\u00f4ng th\u1ef1c s\u1ef1 quan t\u00e2m t\u1edbi c\u00e1c t\u00ecnh hu\u1ed1ng m\u00e0 kh\u00f4ng t\u1edbi m\u1ee9c s\u1ebd t\u1ea1o ra m\u1ed9t cu\u1ed9c kh\u1ee7ng ho\u1ea3ng truy\u1ec1n th\u00f4ng th\u1ef1c s\u1ef1. B\u1ea5t c\u1ee9 l\u00fac n\u00e0o tr\u01b0\u1edfng ph\u00f2ng nh\u00e2n s\u1ef1 n\u00f3i r\u1eb1ng <em>&#8220;b\u1ea1n bu\u1ed9c ph\u1ea3i l\u00e0m \u0111i\u1ec1u \u0111\u00f3 b\u1edfi v\u00ec ch\u00fang t\u00f4i tr\u1ea3 l\u01b0\u01a1ng cho b\u1ea1n&#8221;<\/em> th\u00ec h\u00e3y nh\u1edb c\u00e2u sau \u0111\u1ec3 tr\u1ea3 l\u1eddi:<em> &#8220;b\u1ea1n tr\u1ea3 l\u01b0\u01a1ng cho t\u00f4i nh\u01b0ng t\u00f4i \u0111\u00e3 d\u00e0nh t\u1eb7ng cho b\u1ea1n ch\u1ea5t x\u00e1m c\u1ee7a t\u00f4i v\u00e0 t\u00f4i t\u1eeb ch\u1ed1i &#8220;th\u1ecfa thu\u1eadn&#8221; n\u00e0y&#8221;.<\/em> V\u00e0 \u0111i\u1ec1u t\u1ec7 nh\u1ea5t l\u00e0 h\u1ecd s\u1ebd \u0111\u1eb7t b\u1ea1n v\u00e0o trong m\u1ed9t kh\u00f4ng gian m\u1edf v\u00e0 v\u00ec m\u1ed9t v\u00e0i l\u00fd do n\u00e0o \u0111\u00f3 h\u1ecd s\u1ebd t\u1ef1 h\u00e0o v\u1ec1 \u0111i\u1ec1u \u0111\u00f3. Nh\u1eefng kh\u00f4ng gian m\u1edf c\u00f3 th\u1ec3 l\u00e0 m\u1ed9t v\u1ebft ung nh\u1ecdt. H\u1ecd l\u00e0m nh\u01b0 v\u1eady m\u00e0 kh\u00f4ng m\u1ea3y may nghi ng\u1edd r\u1eb1ng h\u1ecd s\u1ebd t\u1ea1o ra m\u1ed9t v\u0103n ph\u00f2ng l\u00e0m vi\u1ec7c v\u00f4 c\u00f9ng t\u1ec7 h\u1ea1i v\u00e0 ch\u1eb3ng ph\u00f9 h\u1ee3p g\u00ec c\u1ea3 \u0111\u1ec3 ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m \u2013 hay b\u1ea5t k\u1ec3 m\u1ed9t d\u1ef1 \u00e1n n\u00e0o c\u1ea7n s\u1ef1 ho\u1ea1t \u0111\u1ed9ng c\u1ee7a n\u00e3o b\u1ed9. H\u00e3y nh\u1edb \u0111i\u1ec1u n\u00e0y: <strong>th\u1ef1c t\u1ebf l\u00e0 b\u1ea1n hi\u1ec3u th\u1ee9 g\u00ec \u0111\u00f3 kh\u00f4ng ngh\u0129a r\u1eb1ng b\u1ea1n ph\u1ea3i \u0111\u1ed3ng \u00fd v\u1edbi n\u00f3.<\/strong> B\u00ean ngo\u00e0i kia v\u1eabn c\u00f2n nh\u1eefng m\u00f4i tr\u01b0\u1eddng l\u00e0m vi\u1ec7c t\u1ed1t, kh\u00f4ng nhi\u1ec1u nh\u01b0ng ch\u1eafc ch\u1eafn c\u00f3. T\u00f4i r\u1ea5t may m\u1eafn khi \u0111\u01b0\u1ee3c l\u00e0m vi\u1ec7c t\u1ea1i nh\u1eefng n\u01a1i nh\u01b0 v\u1eady. B\u1ea1n c\u0169ng c\u00f3 th\u1ec3. \u0110\u1eebng \u0111\u1ec3 nh\u1eefng c\u00f4ng vi\u1ec7c t\u1ebb nh\u1ea1t gi\u1ebft ch\u1ebft nhi\u1ec7t huy\u1ebft c\u1ee7a b\u1ea1n. N\u00f3 kh\u00f4ng h\u1ec1 x\u1ee9ng \u0111\u00e1ng. H\u00e3y ph\u00e1 lu\u1eadt v\u00e0 d\u1ecbch chuy\u1ec3n. Ho\u1eb7c t\u1ed1t h\u01a1n n\u1eefa l\u00e0 tr\u1edf th\u00e0nh m\u1ed9t nh\u00e0 ph\u00e1t tri\u1ec3n \u0111\u1ed9c l\u1eadp.<\/p>\n<h3>7. Hi\u1ec3u r\u00f5 gi\u00e1 tr\u1ecb c\u1ee7a b\u1ea1n<\/h3>\n<p>B\u1ea1n c\u00f3 th\u1ec3 \u0111\u00e3 t\u1eebng nghe \u0111\u1ebfn b\u00ed \u1ea9n v\u1ec1 <em>&#8220;10x Software Engineer&#8221;.<\/em> Th\u1ef1c t\u1ebf, \u0111i\u1ec1u n\u00e0y ch\u1eb3ng c\u00f3 g\u00ec b\u00ed \u1ea9n c\u1ea3, nh\u01b0ng n\u00f3 kh\u00f4ng xu\u1ea5t hi\u1ec7n theo c\u00e1ch m\u00e0 b\u1ea1n v\u1eabn ngh\u0129 l\u00e0 n\u00f3 s\u1ebd di\u1ec5n ra nh\u01b0 v\u1eady.<\/p>\n<p style=\"text-align: center\">\n<p><em>&#8220;10x Software Engineer&#8221;<\/em> l\u00e0 ng\u01b0\u1eddi m\u00e0 t\u1ea1o ra gi\u00e1 tr\u1ecb g\u1ea5p 10 l\u1ea7n b\u1ea5t k\u1ec3 nh\u00e0 tuy\u1ec3n d\u1ee5ng c\u00f3 &#8220;tr\u1ea3 gi\u00e1&#8221; h\u1ecd bao nhi\u00eau \u0111i ch\u0103ng n\u1eefa. H\u1ecd lu\u00f4n l\u00e0m ra \u0111\u01b0\u1ee3c nh\u1eefng th\u1ee9 v\u1edbi gi\u00e1 tr\u1ecb l\u1edbn g\u1ea5p nhi\u1ec1u l\u1ea7n so v\u1edbi nh\u1eefng g\u00ec \u00f4ng ch\u1ee7 ngh\u0129 h\u1ecd c\u00f3 th\u1ec3 l\u00e0m \u0111\u01b0\u1ee3c. V\u00e0 ch\u1eafc ch\u1eafn, h\u1ecd s\u1ebd \u0111\u01b0\u1ee3c nh\u1eadn ti\u1ec1n th\u01b0\u1edfng v\u00e0 th\u1eadm ch\u00ed l\u00e0 c\u1ed5 ph\u1ea7n. H\u00e3y \u0111\u1ecdc <strong>Karl Marx<\/strong> v\u00e0 <strong>Thomas Piketty<\/strong> \u0111\u1ec3 bi\u1ebft r\u00f5 gi\u00e1 tr\u1ecb c\u1ee7a b\u1ea1n. H\u00e3y gi\u1ed1ng nh\u01b0 m\u1ed9t ch\u00fa c\u00e1 m\u1eadp lu\u00f4n ti\u1ebfp t\u1ee5c b\u01a1i b\u1edfi v\u00ec nh\u1eefng k\u1ef9 n\u0103ng c\u1ee7a b\u1ea1n c\u1ef1c k\u1ef3 c\u00f3 gi\u00e1 tr\u1ecb. H\u00e3y d\u00e1m \u0111\u1ec1 ngh\u1ecb m\u1ee9c l\u01b0\u01a1ng mong mu\u1ed1n c\u1ee7a b\u1ea1n d\u1ef1a tr\u00ean th\u1ef1c l\u1ef1c \u0111\u1ec3 s\u1ebfp v\u00e0 \u0111\u1ed3ng nghi\u1ec7p hi\u1ec3u r\u00f5 nh\u1eefng g\u00ec b\u1ea1n c\u00f3 th\u1ec3 l\u00e0m. B\u1ea1n c\u00e0ng d\u0169ng c\u1ea3m c\u00f4ng khai mong mu\u1ed1n c\u1ee7a m\u00ecnh th\u00ec s\u1ef1 b\u1ea5t c\u00f4ng s\u1ebd \u0111\u01b0\u1ee3c l\u00e0m d\u1ecbu.<\/p>\n<h3>8. H\u00e3y bi\u1ebft khi\u00eam nh\u01b0\u1eddng<\/h3>\n<p>N\u1ebfu b\u1ea1n l\u00e0 ng\u01b0\u1eddi da tr\u1eafng th\u00ec h\u00e3y nh\u1edb m\u1ed9t \u0111i\u1ec1u r\u1eb1ng t\u1ea5t c\u1ea3 nh\u1eefng \u0111\u1eb7c quy\u1ec1n m\u00e0 b\u1ea1n \u0111\u01b0\u1ee3c h\u01b0\u1edfng t\u1eeb l\u00fac sinh ra ch\u1ec9 b\u1edfi v\u00ec b\u1ea1n \u0111\u01b0\u1ee3c sinh ra theo c\u00e1ch \u0111\u00f3. Tr\u00e1ch nhi\u1ec7m c\u1ee7a b\u1ea1n l\u00e0 thay \u0111\u1ed5i cu\u1ed9c s\u1ed1ng c\u1ee7a b\u1ea1n v\u00e0 x\u00f3a b\u1ecf \u0111\u1ecbnh ki\u1ebfn r\u1eb1ng b\u1ea1n \u0111ang x\u1ee9ng \u0111\u00e1ng \u0111\u01b0\u1ee3c h\u01b0\u1edfng nhi\u1ec1u \u0111\u1eb7c \u00e2n h\u01a1n ng\u01b0\u1eddi kh\u00e1c. H\u00e3y \u0111\u01b0a ra c\u00e1c quy\u1ebft \u0111\u1ecbnh d\u1ef1a tr\u00ean nh\u1eadn th\u1ee9c c\u1ee7a b\u1ea1n. H\u00e3y nh\u1eadn ra nh\u1eefng h\u00e0nh \u0111\u1ed9ng v\u00e0 t\u00e1c \u0111\u1ed9ng c\u1ee7a ch\u00fang t\u1edbi m\u1ecdi ng\u01b0\u1eddi xung quanh. \u0110\u1eebng e th\u1eb9n hay c\u1ea3m th\u1ea5y ng\u01b0\u1ee3ng ng\u00f9ng khi thay \u0111\u1ed5i \u00fd ki\u1ebfn. H\u00e3y n\u00f3i <em>&#8220;t\u00f4i xin l\u1ed7i&#8221;<\/em> khi \u0111\u01b0\u1ee3c y\u00eau c\u1ea7u. H\u00e3y l\u1eafng nghe. \u0110\u1eebng tr\u1edf th\u00e0nh m\u1ed9t con ng\u01b0\u1eddi qu\u00e1 kh\u00f4n kh\u00e9o trong \u1ee9ng x\u1eed. H\u00e3y ch\u00ednh tr\u1ef1c v\u00e0 c\u00f3 l\u00f2ng t\u1ef1 tr\u1ecdng. \u0110\u1eebng ch\u1ec9 tr\u00edch hay tr\u00eau ch\u1ecdc s\u1ef1 l\u1ef1a ch\u1ecdn c\u1ee7a ng\u01b0\u1eddi kh\u00e1c. H\u1ecd \u0111\u1ec1u c\u00f3 l\u00fd do khi l\u1ef1a ch\u1ecdn hay theo \u0111u\u1ed5i m\u1ed9t th\u1ee9 g\u00ec \u0111\u00f3. T\u1ea5t c\u1ea3 nh\u1eefng l\u1ef1a ch\u1ecdn \u0111\u1ec1u \u0111\u00e1ng \u0111\u01b0\u1ee3c t\u00f4n tr\u1ecdng. H\u00e3y s\u1eb5n s\u00e0ng \u0111\u1ec3 thay \u0111\u1ed5i t\u01b0 duy b\u1ea5t c\u1ee9 l\u00fac n\u00e0o trong qu\u00e1 tr\u00ecnh b\u1ea1n h\u1ecdc h\u1ecfi. M\u1ed9t ng\u00e0y c\u00f3 th\u1ec3 b\u1ea1n th\u00edch Windows nh\u01b0ng r\u1ed3i s\u1ebd c\u00f3 ng\u00e0y b\u1ea1n th\u00edch Android. Kh\u00f4ng c\u00f3 g\u00ec l\u00e0 b\u1ea5t bi\u1ebfn c\u1ea3.<\/p>\n<h3>9. LLVM<\/h3>\n<p>M\u1ecdi ng\u01b0\u1eddi say s\u01b0a n\u00f3i v\u1ec1 Swift nh\u01b0ng qu\u1ea3 th\u1eadt th\u1ee9 t\u00f4i ch\u00fa \u00fd nhi\u1ec1u h\u01a1n nh\u1eefng ng\u00e0y n\u00e0y \u0111\u00f3 ch\u00ednh l\u00e0 <strong>LLVM.<\/strong><\/p>\n<p style=\"text-align: center\">\n<p>T\u00f4i ngh\u0129 r\u1eb1ng<strong> LLVM<\/strong> l\u00e0 d\u1ef1 \u00e1n ph\u1ea7n m\u1ec1m quan tr\u1ecdng nh\u1ea5t hi\u1ec7n nay \u0111\u01b0\u1ee3c \u0111o l\u01b0\u1eddng b\u1edfi nh\u1eefng t\u00e1c \u0111\u1ed9ng d\u00e0i h\u1ea1n c\u1ee7a n\u00f3. C\u00e1c Block trong Objective-C, Rust &amp; Swift (hai lo\u1ea1i ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh r\u1ea5t \u0111\u01b0\u1ee3c y\u00eau th\u00edch khi vi\u1ebft v\u00e0 bi\u00ean d\u1ecbch theo kh\u1ea3o s\u00e1t c\u00e1c nh\u00e0 ph\u00e1t tri\u1ec3n c\u1ee7a StackOverflow ), <strong>Dropbox Pyston, Clang Static Analyser, ARC, Google Souper, Emscripten, LLVMSharp, Microsoft LLILC, Rubymotion,cheerp,<\/strong> <strong>c\u00e1c \u1ee9ng d\u1ee5ng watchOS, Android NDK, Metal,<\/strong> t\u1ea5t c\u1ea3 nh\u1eefng th\u1ee9 n\u00e0y \u0111\u01b0\u1ee3c h\u1ed7 tr\u1ee3 ho\u1eb7c \u0111\u01b0\u1ee3c x\u00e2y d\u1ef1ng t\u1eeb LLVM. C\u00f3 nhi\u1ec1u tr\u00ecnh bi\u00ean d\u1ecbch \u0111ang s\u1eed d\u1ee5ng LLVM nh\u01b0 l\u00e0 ch\u01b0\u01a1ng tr\u00ecnh ph\u1ee5 cho kh\u00e1 nhi\u1ec1u ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh quan tr\u1ecdng nh\u1ea5t hi\u1ec7n nay. Cu\u1ed1i c\u00f9ng, .NET CLR c\u0169ng s\u1ebd t\u01b0\u01a1ng h\u1ee3p v\u1edbi LLVM v\u00e0 Mono c\u0169ng \u0111\u00e3 s\u1eed d\u1ee5ng n\u00f3. Facebook hi\u1ec7n \u0111ang c\u1ed1 g\u1eafng t\u00edch h\u1ee3p LLVM v\u1edbi HHVM v\u00e0 WebKit g\u1ea7n \u0111\u00e2y \u0111\u00e3 chuy\u1ec3n \u0111\u1ed5i t\u1eeb LLVM sang tr\u00ecnh bi\u00ean d\u1ecbch JavaScript B3 JIT m\u1edbi. Th\u1ebf n\u00ean, h\u00e3y h\u1ecdc t\u1ea5t c\u1ea3 v\u1ec1 LLVM. \u0110\u00e2y l\u00e0 &#8220;thi\u00ean h\u00e0&#8221; n\u01a1i m\u00e0 s\u1ef1 c\u1ea3i ti\u1ebfn th\u1eadt s\u1ef1 \u0111ang x\u1ea3y ra. \u0110\u00e2y c\u0169ng l\u00e0 n\u1ec1n t\u1ea3ng cho 20 n\u0103m t\u1edbi.<\/p>\n<h3>10. H\u00e3y l\u00e0m theo linh c\u1ea3m c\u1ee7a b\u1ea1n<\/h3>\n<p>T\u00f4i c\u00f3 c\u1ea3m gi\u00e1c ch\u1eafc ch\u1eafn (d\u00f9 kh\u00f4ng th\u1ec3 gi\u1ea3i th\u00edch n\u1ed5i) r\u1eb1ng .NET s\u1ebd tr\u1edf n\u00ean l\u1edbn h\u01a1n khi t\u00f4i xem s\u1ef1 ki\u1ec7n ra m\u1eaft n\u00f3 v\u00e0o th\u00e1ng 6 n\u0103m 2000. T\u00f4i c\u0169ng c\u00f3 \u0111\u00fang c\u1ea3m gi\u00e1c \u0111\u00f3 v\u1edbi iPhone l\u00e0 n\u00f3 s\u1ebd c\u00e0n qu\u00e9t th\u1ecb tr\u01b0\u1eddng \u0111i\u1ec7n tho\u1ea1i di \u0111\u1ed9ng khi t\u00f4i xem bu\u1ed5i gi\u1edbi thi\u1ec7u v\u00e0o n\u0103m 2007. Qu\u1ea3 th\u1eadt, trong c\u1ea3 hai t\u00ecnh hu\u1ed1ng \u0111\u00f3, m\u1ecdi ng\u01b0\u1eddi \u0111\u1ec1u c\u01b0\u1eddi t\u00f4i. Nh\u01b0ng c\u0169ng hai l\u1ea7n t\u00f4i tin v\u00e0o linh c\u1ea3m c\u1ee7a m\u00ecnh th\u00ec ch\u00fang \u0111\u1ec1u \u0111\u00fang. H\u00e3y nghe theo linh c\u1ea3m c\u1ee7a b\u1ea1n v\u00ec bi\u1ebft \u0111\u00e2u may m\u1eafn s\u1ebd \u0111\u1ebfn.<\/p>\n<h3>11. API l\u00e0 &#8220;\u00f4ng ho\u00e0ng&#8221;<\/h3>\n<p>API tuy\u1ec7t v\u1eddi s\u1ebd gi\u00fap t\u1ea1o ra nh\u1eefng \u1ee9ng d\u1ee5ng tuy\u1ec7t v\u1eddi. N\u1ebfu API ch\u1eb3ng ra g\u00ec th\u00ec \u1ee9ng d\u1ee5ng c\u1ee7a b\u1ea1n c\u0169ng \u0111\u00e1ng v\u1ee9t v\u00e0o s\u1ecdt r\u00e1c, b\u1ea5t k\u1ec3 giao di\u1ec7n c\u1ee7a n\u00f3 c\u00f3 \u0111\u1eb9p \u0111\u1ebfn m\u1ee9c n\u00e0o \u0111i ch\u0103ng n\u1eefa. \u0110\u1eebng ph\u00e1t minh ra thu\u1eadt to\u00e1n b\u1ea3o m\u1eadt c\u1ee7a ri\u00eang b\u1ea1n. H\u00e3y h\u1ecdc m\u1ed9t v\u00e0i c\u00f4ng ngh\u1ec7 server-side v\u00e0 ch\u1eafc ch\u1eafn Node l\u00e0 m\u1ed9t trong s\u1ed1 \u0111\u00f3. H\u00e3y \u0111\u1eb7t REST sang m\u1ed9t b\u00ean v\u00e0 r\u1ed9ng m\u1edf \u0111\u00f3n l\u1ea5y <strong>Socket.io, ZeroMQ, RabbitMQ, Erlang, XMPP<\/strong>; t\u00ecm hi\u1ec3u t\u00ednh n\u0103ng th\u1eddi gian th\u1ef1c (realtime) nh\u01b0 l\u00e0 b\u01b0\u1edbc ti\u1ebfp theo trong qu\u00e1 tr\u00ecnh ph\u00e1t tri\u1ec3n \u1ee9ng d\u1ee5ng. Th\u1eddi gian th\u1ef1c kh\u00f4ng ch\u1ec9 d\u00e0nh cho c\u00e1c \u1ee9ng d\u1ee5ng chat. V\u00e0 \u0111\u1eebng qu\u00ean b\u1eaft \u0111\u1ea7u x\u00e2y d\u1ef1ng c\u00e1c bot v\u1edbi nh\u1eefng API n\u00e0y.<\/p>\n<h3>12. Ch\u1ed1ng l\u1ea1i s\u1ef1 ph\u1ee9c t\u1ea1p<\/h3>\n<p><strong>\u0110\u01a1n gi\u1ea3n h\u01a1n s\u1ebd t\u1ed1t h\u01a1n.<\/strong> Lu\u00f4n lu\u00f4n nh\u01b0 v\u1eady. H\u00e3y nh\u1edb nguy\u00ean t\u1eafc KISS (Keep it simple, stupid). V\u00e0 \u00fd c\u1ee7a t\u00f4i kh\u00f4ng ch\u1ec9 l\u00e0 \u1edf c\u1ea5p \u0111\u1ed9 giao di\u1ec7n ng\u01b0\u1eddi d\u00f9ng m\u00e0 l\u00e0 t\u1ea5t c\u1ea3 m\u1ecdi th\u1ee9 cho t\u1edbi khi b\u1ea1n \u0111\u1ea1t \u0111\u1ebfn nh\u1eefng l\u1edbp s\u00e2u nh\u1ea5t trong code c\u1ee7a b\u1ea1n. Refactoring, unit test, code review, pull request, t\u1ea5t c\u1ea3 nh\u1eefng c\u00f4ng c\u1ee5 n\u00e0y b\u1ea1n c\u00f3 th\u1ec3 t\u00f9y \u00fd s\u1eed d\u1ee5ng \u0111\u1ec3 ch\u1eafc ch\u1eafn r\u1eb1ng m\u00e3 m\u00e0 b\u1ea1n di chuy\u1ec3n l\u00e0 ki\u1ebfn tr\u00fac ho\u1ea1t \u0111\u1ed9ng \u0111\u01b0\u1ee3c \u0111\u01a1n gi\u1ea3n nh\u1ea5t c\u00f3 th\u1ec3. \u0110\u00e2y l\u00e0 c\u00e1ch m\u00e0 b\u1ea1n x\u00e2y d\u1ef1ng c\u00e1c h\u1ec7 th\u1ed1ng c\u00f3 t\u00ednh \u0111\u00e0n h\u1ed3i trong d\u00e0i h\u1ea1n.<\/p>\n<h2>K\u1ebft<\/h2>\n<p>\u0110i\u1ec1u quan tr\u1ecdng nh\u1ea5t \u1edf \u0111\u00e2y c\u1ea7n ph\u1ea3i nh\u1edb \u0111\u00f3 l\u00e0 tu\u1ed5i t\u00e1c c\u1ee7a b\u1ea1n kh\u00f4ng l\u00e0 v\u1ea5n \u0111\u1ec1. Mi\u1ec5n l\u00e0 tr\u00e1i tim c\u1ee7a b\u1ea1n n\u00f3i v\u1edbi v\u1edbi b\u1ea1n r\u1eb1ng h\u00e3y ti\u1ebfp t\u1ee5c coding v\u00e0 t\u1ea1o ra nh\u1eefng th\u1ee9 m\u1edbi th\u00ec b\u1ea1n v\u1eabn c\u00f2n tr\u1ebb l\u1eafm. Ch\u1eafc ch\u1eafn l\u00e0 b\u1ea1n kh\u00f4ng bi\u1ebft \u0111i\u1ec1u g\u00ec s\u1ebd x\u1ea3y ra trong v\u00f2ng 19 n\u0103m t\u1edbi nh\u01b0ng t\u00f4i c\u00f3 th\u1ec3 n\u00f3i v\u1edbi b\u1ea1n 3 \u0111i\u1ec1u c\u00f3 kh\u1ea3 n\u0103ng r\u1ea5t cao s\u1ebd x\u1ea3y ra:<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p><em><span style=\"text-decoration:underline\">V\u1ec1 t\u00e1c gi\u1ea3<\/span>: B\u00e0i vi\u1ebft \u0111\u01b0\u1ee3c chia s\u1ebb b\u1edfi Adrian Kosmaczewski \u2013 chuy\u00ean gia \u0111\u00e0o t\u1ea1o, nh\u00e0 ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m v\u00e0 l\u00e0 m\u1ed9t ng\u01b0\u1eddi \u0111am m\u00ea vi\u1ebft l\u00e1ch, th\u00e0nh th\u1ea1o 3 ng\u00f4n ng\u1eef l\u00e0 Anh, T\u00e2y Ban Nha v\u00e0 Ph\u00e1p.<\/em><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[452],"tags":[],"_links":{"self":[{"href":"https:\/\/masterskills.org\/blog\/wp-json\/wp\/v2\/posts\/41013"}],"collection":[{"href":"https:\/\/masterskills.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/masterskills.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/masterskills.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/masterskills.org\/blog\/wp-json\/wp\/v2\/comments?post=41013"}],"version-history":[{"count":10,"href":"https:\/\/masterskills.org\/blog\/wp-json\/wp\/v2\/posts\/41013\/revisions"}],"predecessor-version":[{"id":70668,"href":"https:\/\/masterskills.org\/blog\/wp-json\/wp\/v2\/posts\/41013\/revisions\/70668"}],"wp:attachment":[{"href":"https:\/\/masterskills.org\/blog\/wp-json\/wp\/v2\/media?parent=41013"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/masterskills.org\/blog\/wp-json\/wp\/v2\/categories?post=41013"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/masterskills.org\/blog\/wp-json\/wp\/v2\/tags?post=41013"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}