Lời khuyên và lời khuyên cho một sysadmin thẳng ra khỏi trường đại học? [đóng cửa]


16

Gần đây tôi đã tốt nghiệp và có một công việc tại một công ty lưu trữ VPS / dành riêng đang phát triển nhanh chóng với tư cách là một sysadmin cơ sở.

Tôi muốn biết bất kỳ lời khuyên hoặc lời khuyên nào cho bạn về các hệ thống cấp cao hơn, ví dụ như bạn đã mắc lỗi gì khi còn trẻ, chứng nhận, làm thế nào để giữ ngăn nắp.

Cảm ơn!

Câu trả lời:


34

Lời khuyên tốt nhất của tôi là hãy nhớ vô minh không phải là một tội lỗi. Bạn không biết tất cả mọi thứ, không ai làm. Đọc tài liệu, yêu cầu giúp đỡ. Tốt hơn là dành một chút thời gian và có thể một vài mảnh vỡ đáng tin cậy với các đồng nghiệp của bạn để tìm hiểu trước khi bạn làm hỏng, hơn là nhảy vào và thực sự làm hỏng một cái gì đó. Mọi người thỉnh thoảng lại bắt vít. Đừng trở thành người làm hỏng việc vì họ không RTFM hoặc hỏi xung quanh trước.


4
Yup, giả sử bạn không biết gì. Đọc và đọc thêm một số, sau đó đặt câu hỏi mục tiêu. Cố gắng ghi lại các hệ thống từ quan điểm của một người mới. Điều này sẽ giúp bạn hiểu cách mọi thứ được thiết lập và cung cấp một cái gì đó hữu ích cho sysadmin tiếp theo - khi bạn ngừng làm cậu bé mới. Trong vòng 6 tháng tới, bạn có khả năng học hỏi nhiều hơn bạn đã học đại học.
goo

9
Tôi thích lời khuyên này. Nó cũng sẽ giúp bạn tránh việc đưa khách hàng có năng lực kỹ thuật của bạn lên tường. Tôi không có vấn đề gì với nhân viên hỗ trợ, những người không biết câu trả lời cho điều gì đó và sẵn sàng thừa nhận nó và mang đến một công nghệ cao cấp. Đó là những người khăng khăng rằng họ biết, khi họ rõ ràng không, những người cần tìm việc làm mới.
Ben Dunlap

Tôi đồng ý với Laura ở đây. Không biết bất cứ điều gì là nơi tất cả chúng ta bắt đầu, và nếu chúng ta thành thật, nơi tất cả chúng ta vẫn còn. Nếu bạn tiếp cận với sự khiêm tốn, bạn sẽ ổn thôi.
Matt

2
Và "giả sử bạn không biết gì" cũng là lời khuyên tuyệt vời. Trong thực tế, đó có lẽ là giả định duy nhất bạn nên thực hiện về bất kỳ vấn đề kỹ thuật nào. Con đường giải quyết mọi vấn đề thực sự rắc rối mà tôi từng gặp đã bắt đầu với tôi tự hỏi: "Tôi đang giả định điều gì ở đây?"
Ben Dunlap

1
@Matt "nếu chúng ta trung thực nơi tất cả chúng ta vẫn còn" - Tôi không hoàn toàn trên tàu với điều đó. Chắc chắn, liên quan đến "biết mọi thứ về mọi thứ" chúng ta đều không biết gì. Nhưng một số người thực sự là chuyên gia trong một số lĩnh vực nhất định và họ biết điều đó và điều đó tốt. Tôi nghĩ rằng sự khiêm tốn, trong bối cảnh này, cuối cùng là về việc nhận ra những gì bạn biết và những gì bạn không.
Ben Dunlap

10

Thoát khỏi và mất một nghề lành mạnh.

/ hoàn toàn nghiêm túc


+1, google "quản trị viên"
Hubert Kario

8

Vì các bit kỹ thuật có vẻ được bao phủ tốt ở đây, tôi muốn cung cấp cho bạn lời khuyên phi kỹ thuật tốt nhất mà không ai từng đưa ra cho tôi.

Đừng là một ass.

Ngay cả khi bạn không nghĩ rằng bạn là một.

Những khoảnh khắc tồi tệ nhất của tôi khi là một SysAdmin không liên quan gì đến các hệ thống thực tế, nhưng với những người xung quanh. Ở nơi làm việc, không phải ai cũng có mặt để thực hiện công việc và làm tốt. Bạn sẽ đối phó với bản ngã và fiefdoms. Sẽ có những đồng nghiệp thực hiện sứ mệnh chỉ ra những thất bại (nhận thức hoặc thực tế) của những người xung quanh. Bạn sẽ gặp những người trong ngành CNTT, những người không có các nhóm kỹ thuật để làm việc với một dòng bánh sandwich, nhưng họ dường như sẽ được quản lý đánh giá cao hơn.

Chúng tôi của bit và baud có thể rất tập trung vào việc làm của chúng tôi, nó có thể làm tổn thương chúng tôi.

Không phải tất cả những tiêu cực mà tôi gặp phải đều không đáng kể. Khi còn là thiếu niên và thanh niên 20 tuổi trong DotCom, tôi thường nói lên suy nghĩ của mình và ít quan tâm đến việc tôi sẽ được xem xét như thế nào. Tôi biết tôi đã đúng về mặt kỹ thuật, nhưng, trong thực tế, tôi không thể sai về mặt xã hội hay chính trị hơn.

Đặt vitriol sang một bên, hãy chắc chắn để có được không chỉ các kỹ năng kỹ thuật của bạn, mà cả các kỹ năng xã hội của bạn. Họ nói "nhận thức là thực tế". Phát triển "cách thức đầu giường" của bạn nhiều như kỹ năng mã hóa của bạn. Làm mọi thứ bạn có thể để đảm bảo rằng những người xung quanh bạn coi bạn là đồng minh và không bao giờ là mối đe dọa.

Tôi yêu công việc này nhiều hơn tôi có thể thể hiện. Tôi yêu thích mọi công việc và biết ơn mọi nhà tuyển dụng mà tôi từng có. Và một số người tôi đã làm việc cùng có thể xuống địa ngục.


6

Cách tốt nhất để học là thử mọi thứ trong môi trường hộp cát. Nhận cho mình một số phần mềm ảo hóa và chơi với mọi thứ - thực hiện cài đặt máy chủ và ứng dụng & chắc chắn dành thời gian thực hành phục hồi từ bản sao lưu. Tôi đã làm việc với nhiều quản trị viên hệ thống, những người rất giỏi trong công việc hàng ngày nhưng chưa bao giờ phải khôi phục các hệ thống họ đang làm việc. Sẽ dễ dàng hơn nhiều nếu bạn lần đầu tiên khôi phục máy chủ không bao gồm MD giận dữ đang thở dốc trên cổ bạn.

Bạn cũng nên xem câu hỏi trước đó Những gì người mới bắt đầu nên biết / học cho công việc sysadmin?


6

Lời khuyên tốt nhất tôi có thể đưa ra, ngoài phía trên, là lắng nghe. Là một nhóm, sysadins (công nghệ nói chung) có xu hướng là một đối số khá. Tất cả chúng ta đều có HĐH, Nền tảng, Công cụ yêu thích, v.v ... Học cách lắng nghe và nhận ra rằng người khác có thể có một điểm học tập rất lớn đối với tôi. Một khi bạn nhận ra quan điểm của họ, bạn có nhiều khả năng học được điều gì đó từ họ.

Ngoài ra, hãy mỉm cười ... bạn sẽ ngạc nhiên khi dễ dàng không cười mỗi ngày, và một nụ cười đẹp sẽ giúp biến bạn từ "anh chàng lạ waaaaay thành máy tính" thành "anh chàng xa lạ cũng biến thành máy tính rằng tôi thực sự muốn nói chuyện với "


6

Phần khó nhất đối với tôi là vượt qua thực tế, rằng công việc này không phải là làm việc với các hệ thống (như trong quản trị hệ thống ), mà là làm việc với mọi người.


1
Amen! Duy trì mối quan hệ tốt với cơ sở người dùng và chủ sở hữu ứng dụng của bạn là điều hoàn toàn quan trọng để hạnh phúc và thành công. Nếu người dùng của bạn tin tưởng bạn đang làm việc cho họ, họ sẽ cho bạn một chút chậm chạp hơn khi mọi thứ không hoàn hảo.
Laura Thomas

4

Tìm hiểu về lập trình web và nghiên cứu mã web tốt trong thời gian rảnh rỗi (nếu bạn có bất kỳ). Nếu bạn đang hỗ trợ các máy chủ web, bạn sẽ xử lý tốt hơn "bức tranh lớn" nếu bạn hiểu cách các ứng dụng web hoạt động.

Tìm hiểu từ các chuyên gia về ngôn ngữ bạn chọn bằng cách đọc blog và sách của họ (những người OmniTI nếu bạn đang sử dụng PHP; 37Signals nếu bạn thích Rails; v.v.)


1
+1 Điều tốt nhất tôi từng làm với tư cách là một sysadmin là học cách viết kịch bản, dẫn đến VB, dẫn đến sự phát triển toàn diện, dẫn đến vị trí hiện tại của tôi là một nhà phát triển sysadmin lai.
squillman

Tôi đã di chuyển theo hướng ngược lại, nhưng bây giờ cũng là một người lai. Mặt khác, nó thực sự hữu ích cho lập trình của một người để hiểu cách các hệ thống hoạt động.
Ben Dunlap

Học Perl. Có các ngôn ngữ kịch bản đẹp hơn và có các ngôn ngữ kịch bản phổ biến hơn, nhưng không có ngôn ngữ nào phổ biến hoặc được hỗ trợ tốt trên cả Unix và Windows như Perl. Mọi người tại ActiveState ( activestate.com/activeperl ) đã thực hiện một công việc tuyệt vời để đảm bảo điều đó.
Shazburg

Tôi cũng đồng ý. Học một số chương trình web, nhưng cá nhân tôi sẽ tránh xa Perl. Gắn bó với VB hoặc C # nếu bạn đang sử dụng Windows và PHP theo bất kỳ cách nào khác.
Snipper

Tôi tự hỏi nếu Perl có quá nhiều đường cong học tập cho những người không lập trình. Tôi không biết vì tôi đã mã hóa được một thời gian khi lần đầu tiên tôi gặp nó. Nhưng nó khá kỳ lạ. Thêm vào đó, nó không được xây dựng có mục đích cho các trang web theo cách tương tự như PHP. Điều này đến từ một người đã làm mã web trong Perl trong nhiều năm trước khi bắt đầu với PHP.
Ben Dunlap

4

Một trong những điều tốt nhất tôi đã học được trong nhiều năm qua là các giải pháp thanh lịch KHÔNG phải lúc nào cũng chiến thắng các giải pháp chức năng. Các giải pháp cần phải phù hợp với thông số kỹ thuật, ổn định, có thể sử dụng và có thể hỗ trợ. Elegance nhanh chóng bắt đầu ăn mòn một hoặc nhiều thuộc tính đó.

Nhưng, tất nhiên, các hệ thống thực sự tốt phát triển các giải pháp chức năng thanh lịch :) Vì vậy, hãy học tìm hiểu và chơi chơi chơi (tất nhiên là trong phòng thí nghiệm / nhà phát triển).

Biên tập

Ngoài ra (và đi cùng với quan điểm của tôi), khi bạn có được kinh nghiệm, đừng hiểu rằng giải pháp của bạn luôn là tốt nhất hoặc bạn nhất thiết có thể tăng thêm giá trị cho mọi thứ. Nỗi đau lớn nhất trong @ $$ của tôi là anh chàng cảm thấy mình hoàn toàn phải xem lại và đưa những điểm nhấn cá nhân vào mọi giải pháp kỳ dị xảy ra trước mặt anh ta. Anh ta còn tệ hơn bất kỳ người dùng bảo trì cao nào mà tôi đã xử lý (phích cắm không biết xấu hổ cho câu hỏi của tôi vào chiều thứ Sáu).


Tôi đồng ý với điều này. Giải pháp phù hợp là giải pháp phù hợp với doanh nghiệp, không phải thứ gì đó sẽ giành được giải thưởng vì sáng bóng và tốt đẹp. Ngay cả những sysadins tốt nhất cũng sẽ loại bỏ một kịch bản perl / shell bẩn thỉu chỉ làm công việc đó, nhưng sẽ làm kinh hoàng một người theo chủ nghĩa thuần túy.
goo

@Geoff, có nhưng. Kịch bản bẩn thỉu có xu hướng trừng phạt đồng nghiệp và người kế nhiệm của bạn, và thất bại khi có tình huống bất ngờ xảy ra, điều mà họ luôn làm. Vì vậy, hãy hoàn thành công việc, nhưng tìm sự cân bằng phù hợp giữa kinh nghiệm và lý tưởng. Những lý tưởng đó tồn tại vì một lý do. ;-)
Ben Dunlap

Điểm tuyệt vời. Một phương châm yêu thích khác của tôi là "Đừng để hoàn hảo theo cách tốt hơn." Đôi khi mọi người đấu tranh cho sự thanh lịch, đơn giản hoặc "cách đúng đắn" sẽ từ chối cải tiến vì nó không đủ tốt.
Laura Thomas

4

Đọc mọi thứ bạn có thể. Tài liệu. Blog. Sách.

Khác biệt về tôn giáo sang một bên ... học vi. Nó được cài đặt trên nhiều nền tảng phần cứng hơn emacs. (Chỉ quản trị viên UNIX)

Đặt nhiều câu hỏi. Đặc biệt là những người câm.

Hãy nhớ rằng bạn đang ở trong một vai trò dịch vụ. Cung cấp dịch vụ khách hàng tuyệt vời và giúp hỗ trợ doanh nghiệp. Công nghệ là một phương tiện để kết thúc. Giữ nó trong quan điểm.

Tìm hiểu làm thế nào để tự động hóa các phần lặp đi lặp lại trong công việc của bạn. Điều này có lẽ có nghĩa là bạn cần bắt đầu viết mã. Chọn một ngôn ngữ mà đồng nghiệp của bạn sử dụng để họ có thể cho bạn lời khuyên và giúp gỡ lỗi.

Chứng nhận rất hữu ích nếu bạn muốn làm việc cho một tập đoàn lớn hoặc công ty tư vấn. Nó có thể giúp những người nhân sự kiểm tra một hộp và ngụ ý rằng bạn có ít nhất một mức độ năng lực cơ bản. Sau khi bạn có vài năm kinh nghiệm với một chứng chỉ công nghệ cụ thể không quan trọng bằng.


4

Tôi có hai lời khuyên:

Đầu tiên, hãy lắng nghe những người lớn tuổi của bạn. Tìm ra những người ở công ty bạn là những người có kinh nghiệm nhất và lắng nghe họ. Đôi khi được đắm mình trong những lời nói của một chuyên gia cứng có thể dạy rất nhiều; bạn sẽ không chỉ nhận bản năng của họ cho các giải pháp tốt, mà cả sự khinh miệt của họ đối với các giải pháp xấu. Hy vọng rằng, bạn sẽ chọn thực hành tốt hoặc được gõ phù hợp.

Thứ hai, tích lũy kinh nghiệm bằng cách làm việc để tái tạo môi trường hệ thống tại nơi làm việc của bạn, trên một mạng riêng hoặc môi trường máy ảo. Điều này hoạt động tốt hơn cho một số môi trường, hơn những môi trường khác. Bằng cách sao chép những gì bạn thấy, bạn sẽ hiểu rõ hơn về cách phần mềm cụ thể mà công ty bạn sử dụng và có được một số kiến ​​thức chung với những người bạn làm việc cùng.


4

Đến từ một sysadmin 23 tuổi ra khỏi trường đại học làm việc cho một công ty truyền thông trên mạng ... Tôi đã bắt đầu một vài năm trước trong tình huống tương tự của bạn, vì vậy đây là một vài lời khuyên giúp tôi.

1) Hãy cá tính, suy nghĩ tích cực, cười và cười.
2) Hãy tham vọng !! Tôi sẽ không đi xa đến mức bật công cụ chữa cháy khẩn cấp để xem nó hoạt động như thế nào, nhưng nếu bạn nghĩ rằng bạn có ý tưởng để cải thiện công ty, đừng ngại.
2) Hãy tự hào về những sai lầm của bạn, và phản ứng thích hợp. Điều đầu tiên tôi làm nếu tôi gây ra thảm họa là tìm kiếm và sửa chữa nó. Nếu tôi không thể sửa nó, thì Google hoặc cao hơn sẽ làm. Cuối cùng thường có một tiếng cười, nếu không, có lẽ bạn đang làm việc cho công ty sai.
3) Hiểu vai trò của bạn và mọi người sẽ cung cấp sự giúp đỡ của họ.

Sau khi học đại học, ngày tôi nhận được công việc, tôi đã sẵn sàng để bắt đầu học lấy chứng chỉ. Một vài tháng trước và tôi nhanh chóng nhận ra rằng tôi không thể học bài và thi cùng một lúc, vì vậy tôi không lo lắng về chứng chỉ. Đã 2 năm rồi và tôi thực sự chỉ cần đăng ký cho kỳ thi MCSE đầu tiên của mình để viết vào tháng tới. Công việc nên là trọng tâm của bạn.

Tổ chức là, và vẫn là một nghệ thuật tốt với tôi. Đó là một trò đùa trong bộ phận vì tôi quá kinh khủng về nó. Vâng, tôi tổ chức khủng khiếp và tôi có thể tạo ra một trò đùa từ nó. Lần đầu tiên tôi bắt đầu với một số ghi chú sau đó, không phải là một ý tưởng tốt. Tôi tốt nghiệp để ít lật sách, không quá tệ, không quá tốt. Người chiến thắng lớn là bảng trắng di động trên bàn của tôi, trước bàn phím giữa màn hình của tôi, kết hợp với lịch triển vọng và hệ thống bán vé ưa thích.

Truy cập hàng ngày vào serverfault cũng là một điều bắt buộc.

Và đừng nghe Zenham, những người già đó không biết họ đang nói về cái gì;).


3

Khi bạn không bận rộn dập lửa, hãy cải thiện mọi thứ. Ví dụ:

  • Tài liệu, tài liệu, tài liệu
  • Tự động hóa các nhiệm vụ phức tạp hoặc phức tạp
  • Làm cho công việc của người khác dễ dàng hơn một chút
  • Thực hành lập trình bằng cách viết lại các tập lệnh bằng các ngôn ngữ khác
  • Viết kế hoạch dự phòng. Bạn sẽ làm gì nếu <một cái gì đó thảm khốc> xảy ra, chẳng hạn như lỗi cơ sở dữ liệu chính, hỏng đĩa RAID, mất mật khẩu root, v.v.?

Để lại vào cuối ngày với doanh nghiệp trong tình trạng tốt hơn so với ngày hôm qua.


2

Tôi ủng hộ tất cả mọi người ở đây. Tất cả lời khuyên là lời khuyên tốt và tùy thuộc vào bạn để quyết định làm gì với nó.

Điều quan trọng nhất được liệt kê ở đây là liệt kê thường xuyên nhất: Lắng nghe. Nhận ra rằng những người bạn làm việc cùng là khách hàng của bạn và bạn không bao giờ nên thừa nhận bất cứ điều gì về họ.

Nhận ra rằng bạn có thể học hỏi từ mọi tình huống, ngay cả những điều dường như nhỏ. Luôn luôn có một cái gì đó để học hỏi.

Luôn luôn có một cái gì đó để học hỏi.


1

Treo ở đó!

Hãy nghĩ về cách bạn có thể quản lý thời gian của mình để dành nhiều thời gian hơn cho việc học. Thành thật với chính mình và thừa nhận nó nếu bạn thực sự nên dành ít thời gian tiệc tùng. Làm tất cả những gì bạn có thể ở lại với nó và tốt nghiệp. Nó sẽ có giá trị trong thời gian dài.

Ngoài ra tôi sẽ nói rằng hãy học mọi công nghệ mới nổi mà bạn có thể bởi vì bạn chỉ làm cho bản thân mình trở nên hữu ích với nhà tuyển dụng nếu bạn có thể cho thấy bạn là người hiện tại chứ không phải là một con khủng long công nghệ 1999.


2
Anh ... uh ... đã tốt nghiệp. ;)
Sean Earp

1

Hai điều:

1) Khi bạn mắc lỗi, đừng bao giờ cố gắng che đậy nó. Nhận lỗi và làm những gì bạn có thể để giúp sửa chữa nó. Làm bất cứ điều gì khác sẽ luôn quay trở lại ám ảnh bạn.

2) Phấn đấu trở thành người giỏi nhất bạn có thể, nhưng nhận ra rằng đôi khi giải pháp phù hợp không phải là giải pháp tốt nhất. Bạn phải cân bằng giữa tính chính xác kỹ thuật với thời gian và ngân sách, và có thể là lợi thế của bạn để sử dụng giải pháp "kém hoàn hảo" (trong một số trường hợp).


0

Tôi có rất nhiều lời khuyên, nhưng sẽ mất rất nhiều thời gian để đưa tất cả vào một hộp bình luận nhỏ. Lời khuyên tốt nhất tôi có thể đưa ra là: học không ngừng .

Học hỏi từ những sai lầm của bạn, dành thời gian để ghi lại ý tưởng của bạn và phân tích chúng để phát triển dần dần, học từ sách hướng dẫn, học từ sách, học từ các nhóm tin tức và tương tự, và học hỏi từ những người xung quanh bạn. Tìm kiếm để có nhiều kiến ​​thức hơn mọi người xung quanh và sau đó tìm kiếm một công việc với những người tốt hơn và học hỏi từ họ.

Quên các tạp chí, twitter và các trang mạng xã hội định hướng khác, v.v ... Hãy quên pabulum !! Đầu tư thời gian của bạn vào các ấn phẩm nhuần nhuyễn và các bài viết kỹ thuật cao. Đừng hiểu họ? Lấy một câu tại một thời điểm. Tra cứu các từ trên Internet (Wikipedia, Google). Mua sách giải thích các khái niệm. Tò mò. Xé mọi thứ ra và đặt chúng lại với nhau. Đừng bỏ cuộc. Chinh phục!

Đến các trang web việc làm và xem xét các yêu cầu công việc cho các công việc tuyệt vời nhất bạn có thể tưởng tượng. Học những điều đó.

Đọc ít nhất bốn cuốn sách kỹ thuật một năm, tốt nhất là tám. Đọc một trang hướng dẫn mỗi ngày. Cố gắng học cách thông minh nhất để làm một cái gì đó, tìm hiểu tại sao đó là một ý tưởng tồi và sau đó học cách đơn giản hóa. Tìm cái cần thiết, loại bỏ phần còn lại.

Rất nhiều hạnh phúc trong công việc hoặc điều hành doanh nghiệp của riêng bạn không liên quan gì đến các vấn đề kỹ thuật. Đọc về những điều đó. Học cách để hạnh phúc. Nghiên cứu làm thế nào để có hiệu quả. Nghiên cứu làm thế nào để có mặt và tập trung vào bây giờ. Học cách giải quyết xung đột với người khác. Học cách khiêm tốn. Học cách đầu tư tiền của bạn. Bắt đầu sớm . Học cách học.

Sau đó đi ăn BBQ vào cuối tuần và uống bia.


0

lời khuyên tốt xung quanh

Tôi muốn thêm:

Yêu cầu quan sát hoặc đề nghị tình nguyện như một bộ tay bổ sung cho tất cả các thay đổi và cửa sổ bảo trì bạn có thể, sau đó lắng nghe và xem.

1 Bạn còn trẻ và có lẽ đã quen hoặc ít ngủ từ thời đại học;)

2 Bạn sẽ học được hàng tấn chính thức và không chính thức ... những thứ về môi trường của bạn bao gồm tất cả các bit sởn gai ốc, mẹo hay, thủ thuật, sai lầm! và cách khắc phục chúng.

3 Ngoài việc học, nó sẽ được chú ý và đánh giá cao là có thái độ đúng đắn.

4 Họ có thể khiến bạn làm điều đó bằng mọi cách và nó sẽ tạo ra một giai điệu tốt hơn nếu bạn tình nguyện.

Ngoài ra, chỉ cần lặp lại b / c đó là điều quan trọng nhất tôi tìm kiếm khi tuyển dụng:

Không bao giờ che đậy lỗi lầm (của bạn hoặc của bất kỳ ai khác). Bạn cần học hỏi từ họ.

Đồng thời, tránh chỉ tay vào người khác. Nếu điều đó không đúng, uy tín của bạn sẽ bị bắn và bạn cũng có thể đóng gói túi của mình một khi có ai phát hiện ra. Nếu đó là sự thật và vấn đề đủ nghiêm trọng, sự thật sẽ được đưa ra mà không ném người khác xuống xe buýt.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.