zawód: programista

7 zasad kariery w IT, które warto złamać

stworzony przez dnia sie.07, 2010, w kategorii: AuroraSoft

Część z tych zasad jest niepisana, ale wszyscy je znają i akceptują jako klucz do sukcesu w branży IT. Na dzisiejszym trudnym rynku pracy łamanie ich może wydawać się dość ryzykowne. Jednak ścisłe trzymanie się tych zasad może blokować dalszy rozwój kariery.

Oto lista siedmiu zasad w karierze IT, które można złamać, albo co najmniej zakwestionować.

1. Pracuj dłużej aby osiągnąć większy sukces

Ciężka praca to konieczny warunek dla większości stanowisk IT, ale to nie znaczy „im więcej godzin w biurze tym lepiej”. Zbyt napięty plan zajęć może obniżyć twoją produktywność z powodu przemęczenia i wypalenia zawodowego. Regularna praca po godzinach może też oznaczać, że źle zarządzasz swoim czasem. Porozmawiaj ze swoim przełożonym na temat priorytetyzacji projektów, delegacji zadań lub zwiększenia zasobów.

2. Zostań specjalistą w jednej dziedzinie

IT zawsze będzie polegać na specjalistach, ale aby odnieść sukces w dzisiejszym otoczeniu biznesowym trzeba umieć szybko dostosować się do zmieniającej się rzeczywistości i w zależności od potrzeb poszerzyć swoje umiejętności. Nie przestawaj brać udziału w projektach, które mogą poszerzyć twoje kompetencje. Pokazując, że jesteś zainteresowany rozwojem swoich umiejętności zwiększasz swoje szanse jako kandydat do awansu.

3. Bierz jak najwięcej obowiązków

Z drugiej jednak strony twoja kariera nie ruszy do przodu jeżeli będziesz brał na siebie pracę, której nie potrafisz wykonać. Zgłaszanie się do wszelkich projektów wykraczających poza obecne umiejętności, może spowodować ból głowy każdego działu IT. Zadaj sobie pytanie czy masz wystarczające umiejętności i doświadczenie do tego zadania. Zamiast zgłaszać się do prowadzenia projektu, może lepiej będzie wspierać go z zewnątrz, dzięki czemu również można się czegoś nauczyć?

4. Zawsze pnij się do góry

Możesz być zaślepiony przez imponującą nazwę stanowiska i wyższe zarobki, ale zanim przyjmiesz ofertę awansu czy zmiany dotychczasowego stanowiska, rozważ wszystkie następstwa tej decyzji, włącznie z wpływem na życie osobiste. Zastanów się nad wszystkimi zadaniami, które lubisz: czy na pewno będziesz miał na nie czas? Każdy awans zawiera w sobie element niepewności, ale akceptując wyższe stanowisko tylko dla pieniędzy i prestiżu możesz osłabić swoją satysfakcję z pracy i pokierować karierę w ślepy zaułek.

5. Zbierz jak najwięcej certyfikatów

Na bardzo konkurencyjnym rynku pracy w sektorze IT, chęć rozbudowywania swojego CV jest naturalna. Pamiętaj jednak, że nowe certyfikaty przedstawiają wartość tylko wtedy gdy są poparte doświadczeniem w danym obszarze. Wybieraj tylko takie kursy i certyfikaty, które naprawdę mogą stanowić wartość dla twojego obecnego lub następnego pracodawcy.

6. Zaimponuj swojemu szefowi

Powinieneś zawsze starać się spełnić oczekiwania swojego przełożonego, ale pamiętaj, że codzienna praca i relacje z innymi pracownikami są równie ważne. Pomagaj osobom na podobnym poziomie w organizacji, o ile nie są to jakieś zupełne drobiazgi, na które tylko tracisz czas. To właśnie te osoby mogą pomóc ci, gdy twój projekt będzie się zbliżał do końca i będzie coraz mniej czasu. Jest szansa, że twój szef bardziej dba o dotrzymanie tego terminu, niż umiejętność płaszczenia się przed nim.

7. Skup się na sobie

Jeżeli jesteś taki jak większość specjalistów IT, pewnie obawiasz się, że będziesz postrzegany jako plotkarz lub biurowa duszą towarzystwa. Ale spędzenie odrobiny czasu w ciągu dnia na rozwijaniu relacji z innymi osobami w organizacji jest niezbędne: zarówno dla naszego zdrowia jak i dla kariery. Te nieformalne relacje wzmacniają twoją sieć i mogą otworzyć drzwi do możliwości, o których nawet nie masz pojęcia.

źródło: www.computerworld.pl/news/360778/7.zasad.kariery.w.IT.ktore.warto.zlamac.html

Skomentuj :, więcej...

Wysyłanie email w asp.net (C#)

stworzony przez dnia lip.05, 2010, w kategorii: ASP.NET

Dzień dobry. Dzisiaj chciałbym przedstawić krótki aczkolwiek pomocny kod dzięki, któremu będziecie mogli wysyłać emaile.

Wszystko co będzie nam potrzebne znajduje się w przestrzeni:

System.Net.Mail;

Do utworzenia i wysłania wiadomości email wykorzystamy klasę MailMessage. Przeważnie serwery poczty wymagają uwierzytelnienia (NetworkCredential). Jeżeli Twój serwer nie nakłada takiego narzutu możesz usunąć sekcję : if (auth){…}

try
{
	string from = "robert@poczta.o2.pl";//od kogo.
	string smtpServer = "poczta.o2.pl";//serwer poczty SMTP
	string smtpUserName = "robert@poczta.o2.pl";//Nazwa użytkownika
	string smtpPassword = "*******";
	int smtpPort = 587;
	bool auth = true; // Nasz serwer wymaga uwierzytelniania.
	MailAddress fromEmail = new MailAddress(from);
	MailMessage email = new MailMessage();
	email.From = fromEmail;
	email.To.Add(emailTxt.Text);//textBox - adresat
	email.Subject = subjectTxt.Text;//textBox - temat
	email.IsBodyHtml = true;//Czy wysyłamy treść emaila za pomocą zwykłego
					//tekstu czy używamy html, żeby upiększyć wiadomość.
	email.Body = bodyTxt.Text;//textBox - treść
	SmtpClient client = new SmtpClient(smtpServer, smtpPort);
	if (auth)
	{
		System.Net.NetworkCredential SMTPUserInfo = new
		System.Net.NetworkCredential(username, password);
		client.UseDefaultCredentials = false;
		client.Credentials = SMTPUserInfo;
	}
	client.Send(email);//Wysłamy wiadomość
}
catch (Exception ex)
{
//tutaj mogą się pojawić wyjątki odnośnie wysyłania emaila.
//serwer żąda uwierzytelnienia i nie użyliśmy obiektu NetworkCredential
//serwer nie uwierzytelnił, podaliśmy złe dane
//serwer nie odpiowiada
//Email niepoprawny
//Etc....
}
3 komentarzy :, , więcej...

Kolejny system operacyjny Microsoftu dla urządzeń przenośnych

stworzony przez dnia cze.21, 2010, w kategorii: Windows Mobile

Microsoft opracował kolejny system operacyjny dla urządzeń przenośnych: Windows Embedded Handheld jest dopasowany do smartfonów i PDA w zastosowaniach firmowych. Całość bazuje na Windows Mobile 6.5 i ma się pojawić na rynku w drugiej połowie tego roku. W systemie nie ma nowych funkcji, różne są jedynie warunki świadczenia pomocy technicznej.

Poza tym w drugiej połowie roku 2011 ukaże się system Windows Embedded Compact 7, który będzie wyposażony w nowe funkcje, w tym także obsługę wielodotykowości.

Pierwszym smartfonem z Windows Embedded Handheld będzie model Motoroli zapowiedziany na wrzesień 2010. ES400 jest przetestowany pod kątem odporności przez amerykańską armię, w związku z czym nadaje się przede wszystkim dla osób pracujących w terenie. Firmy mogą dopasowywać interfejs użytkownika według własnych potrzeb. Komórka działa w sieciach 3G (UMTS, CDMA), jest wyposażona w moduł WLAN i aparat fotograficzny. Na razie Motorola nie podała cen ES400.

Źródło: www.heise-online.pl

Skomentuj :, więcej...

PHP 5.3 obiekty – czyli łatwe przejście z języków C# i Java

stworzony przez dnia mar.13, 2010, w kategorii: PHP

Dzień dobry. Dzisiaj przedstawię w jaki sposób zaprojektować szkielet aplikacji(klas) w PHP, aby w łatwy sposób móc skorzystać np. z przechodzenia po grafie obiektów oraz zalet jakie przynoszą nam nowoczesne środowiska IDE: wspieranie składni pól, metod, autouzupełnianie itp. W przykładzie skorzystam z darmowego aczkolwiek bardzo potężnego środowiska Netbeans 6.8 IDE. Wiadomo, że w języku PHP nie mamy ścisłej kontroli typów, a co za tym idzie na początku może to trochę mylić i uprzykrzać życie. Dlatego pokażę jak wykorzystać narzędzie PHPDoc w celu „zobiektowania” aplikacji oraz skorzystamy z Type Hinting w liście parametrów funkcji i użyjemy polimorfizmu.

Przedstawię jak utworzyć prosty interfejs Data Access Object zawierający statyczne metody dostępu do danych w bazie danych i skorzystamy z klasy ArrayList.php, która jest swoistą czarną skrzynką opakowywującą PHP-owską array().  Wykorzystamy też polimorficzne odwołania do klasy ArrayList w celu zabronienia wstawiania innych typów niż DAO.php (type hinting). Zatem do dzieła!

Tak wygląda kawałek bazy danych:

dbschema

Czas na interfejs DAO.

interface  DAO {
//put your code here
public  static function insertElement(DAO $element);
public  static function getElementById(DAO $element);
public  static function getElements();
public  static function updateElement(DAO $element);
public  static function deleteElement(DAO $element);
public  static function searchElements(DAO $element);
}

Wyjaśnieniu wymaga fakt występowania parametru (DAO $element). Otóż gdy stworzę wkrótce klasę np. ProductEntity, która będzie implementować interfejs DAO będę mógł skorzystać ze sprytnego rozwiązania: Wywołanie statycznej metody klasy ProductEntity z parametrem ProductEntity:

$pr = new ProductEntity(.....);
ProductEntity::insertElement($pr);

Z schematu bazy danych z rysunku widać, że klucz główny tabeli Product jest kluczem obczym tabeli Feature (relacja 1 … *). Zatem klasa ProductEntity oprócz pól tabeli Product(prodId,Title,catId,prodCount,prodAvail,prodDesc) będzie zawierać listę cech(ArrayList) Feature: $features.

class ProductEntity implements DAO {
//
private $prodId;
private $title;
private $price;
/**
*
* @var CategoryEntity
*/
private $category;
private $prodCount;
/**
*
* @var ArrayList
*/
private $features;
/**
*
* @var ArrayList
*/
private $comments;
/**
*
* @var ArrayList
*/
private $productImages;
private $prodAvail;
private $prodDesc;

Tak wygląda deklaracja pól klasy ProductEntity. Nowym elementem są komentarze PHPDoc, które nie mają mocy sprawczej tylko są podpowiedzią dla środowiska NetBeans IDE aby mieć dostęp do metod klasy ArrayList np. : $product->getFeatures->add(new Feature()) poprzez podpowiedzi.

 /**
*
* @var ArrayList
*/

productentity

Tutaj muszę ostrzec przed częstym błędem:

Fatal error: Call to a member function on a non-object

W każdym miejscu gdzie spotykamy listę obiektów jako pole klasy musimy w metodzie get zainicjalizować tablicę bo w przeciwnym wypadku wywołanie get zwróci wartość null, a następnie wystąpi błąd non-object call. Specjalnie nie inicjalizuję wszystkich tablic obiektu ProductEntity, aby zainicjalizować tablicę kiedy będzie naprawdę potrzebna. Czyli tak zwane: Lazy Loading.

/**
* @return ArrayList
*/
function getFeatures(){
//$f= new FeatureEntity(0,$this->getProdId,"","");
//Pobranie z bazy danych rekordów feature gdzie Product.prodId = Feature.prodId
//$this->features = Features::searchElement($f);
return $this->features;
}

Kolejną przydatną rzeczą, którą oferuje PHPDoc jest komentarz @param, który później ułatwi pracę z konstruktorami czy też innymi metodami z parametrem. Oto prosty przykład:

/**
*
* @param int $productId
* @param string $title
* @param float $price
* @param int $prodCount
* @param CategoryEntity $category
* @param int $prodAvail
* @param string $prodDesc
*/
public function __construct($productId,$title,$price,$prodCount,CategoryEntity $category,$prodAvail,$prodDesc) {
$this->prodId = $productId;
$this->title = $title;
$this->price = $price;
$this->category = $category;
$this->prodCount = $prodCount;
$this->prodAvail = $prodAvail;
$this->prodDesc = $prodDesc;
}

Parametry konstruktora

Po wciśnięciu CTRL+P wyświetli się lista parametrów konstruktora.

Teraz czas na ostatnią część czyli modyfikacja klasy ArrayList.php aby przyjmowała w metodzie add($element) obiekty typu DAO. W metodzie next niech zwrócony typ będzie @return DAO.

/**
*
* @param DAO $item
*/
public function add(DAO $item){//Type hinting.
//$this->arrayList[sizeof($this->arrayList)] = $item;
array_push($this->arrayList, $item);
}
/**
*
* @return DAO
*/
public function next(){
if(isset($this->arrayList[$this->pointer]))
{
//return $this->arrayList[($this->pointer++)-1] = $value;
$this->pointer++;
return($this->arrayList[$this->pointer-1]);
}
else
{
return null;
}
}

Zostaje tylko implementacja interfejsu DAO każdej klasy Entity. Implementację interfejsu DAO przedstawię w następnym artykule.

Wszystkie klasy i obraz schematu bazy można ściągnąć tutaj.

1 komentarz :, , , więcej...

Windows Mobile 6.5 zostaje

stworzony przez dnia mar.08, 2010, w kategorii: Windows Mobile

Oficjalnie potwierdzone: WM7 niezgodny z WM6.5. Oznacza to, że aplikacje napisane na Windows Mobile 6.5 (i starsze wersje)  nie będą działać pod kontrolą nowego systemu. Microsoft zerwał z kompatybilnością wstecz aby skupić się na rozwoju nowej funkcjonalności w Windows Phone 7. Microsoft zapewnił jednocześnie, że nadal będą pojawiać się urządzenia z systemem Windows Mobile 6.5 i że będzie on wspierany jeszcze przez wiele lat.

Odetchnęliśmy z wielką ulgą!

Skomentuj :, , , więcej...

Szukasz czegoś?

Użyj poniższego formularza aby wyszukać:

Dalej nie możesz znaleźć czegoś, co według Ciebie powinno tutaj być? Napisz do mnie, postaramy się rozwiązać problem razem!

Odwiedź naszych znajomych!

Kilka polecanych linków...