Τι χρειαζεται ενας προγραμματιστής?

...IDE, compilers, κλπ

Συντονιστής: konnn

Τι χρειαζεται ενας προγραμματιστής?

Δημοσίευσηαπό giannosfor » 01 Ιουν 2011, 17:31

...
Τελευταία επεξεργασία από giannosfor και 29 Μάιος 2013, 18:15, έχει επεξεργασθεί 2 φορά/ες συνολικά
1 Γνώσεις Linux: Καθόλου ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-58-generic 32bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.2.0-57-generic, Microsoft Windows XP Professional
3 Intel Core2 Duo CPU E4600 2.40GHz ‖ RAM 2012 MiB ‖ ASUS INC. P5Q - � P5Q
4 nVidia G94 [GeForce 9600 GT] [10de:0622] {nvidia}
5 eth0: Qualcomm Atheros AR8121/AR8113/AR8114 Gigabit or Fast Ethernet [1969:1026] (rev b0) ⋮ wlan0: 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
Άβαταρ μέλους
giannosfor
punkTUX
punkTUX
 
Δημοσιεύσεις: 297
Εγγραφή: 24 Απρ 2011, 20:24
Τοποθεσία: Ηράκλειο
Εκτύπωση

Re: Τί χρειάζεται για να γίνω προγραμματιστής;

Δημοσίευσηαπό linuxs » 02 Ιουν 2011, 05:46

Καλησπέρα! Θα πω την γνώμη μου...

δεν ξέρω αν βρίσκεσαι ακόμη στο Ρύθυμνο όπως λες στο προφίλ σου αλλα στο πανεπιστήμιο την Κρήτης κάνουν πολυ καλή δουλειά(ΑΕΙ). Ίσως αν έχεις κάποιον φίλο στην Πληροφορική η μπορείς βρες διαλέξεις κ.τ.λ. Έπειτα, αν και δεν έχω δουλέψει ακόμη, νομίζω πως δεν θα πρέπει να αρχίσεις να μαθαίνεις γλώσσες κτλ. Κατα την γνώμη μου, θα πρέπει ως πρώτο βήμα να δεις ΠΟΥ θέλεις να δουλέψεις και τι απαιτήσεις υπάρχουν. Για παράδειγμα, αν θέλεις να κατασκευάζεις ιστοσελίδες κτλ φαντάζομαι οτι σου χρειάζονται HTML,PHP, ΜySQL και ίσως κάποια άλλα...Οπότε μην αρχίσεις και μαθαίνεις κουτουρλού :P

Γενικά, όμως θα πρότεινα να πάρεις ένα δεκαράκι στους αλγορίθμους! Τι εννοώ με αυτό? Για μένα δεν έχει σημασία η γλώσσα στην οποία γράφεις. Όταν κάνεις ένα πρόγραμμα που προσθέτει δυο αριθμούς σε μια γλώσσα μπορεί να σου φαίνεται εύκολο αλλα έξω όταν δουλεύεις τα προβλήματα που θα πρέπει να επιλύσεις θα είναι πολυ πιο δύσκολα οπότε, θα σου πάρει περίπου 80% απο τον χρόνο σου στο να σκεφτείς και να υλοποιήσεις τον αλγόριθμο ακόμη και σε ψευδοκώδικα...πιστεύω να έπιασες το νόημα :) Οπότε καλό είναι να ξέρεις αυτό σαν πρώτη φάση...τουλάχιστον για μένα ΔΕΝ ΕΙΝΑΙ ΚΑΘΟΛΟΥ ΕΥΚΟΛΟ!!!! Επίσης, επειδή σήμερα και στο μέλλον αναπτύσεται η τεχνολογία, δεν θα παιζει ρόλο η μνήμη αρα θα πρέπει δυστυχώς να σκέφτεσαι όσο το δυνατόν καλύτερους αλγορίθμους με την καλύτερη πολυπλοκότητα και χρόνο-κόστος εκτέλεσης. Περιμένω σχόλια και τα λέμε... :)
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

...

Δημοσίευσηαπό giannosfor » 02 Ιουν 2011, 12:31

...
Τελευταία επεξεργασία από giannosfor και 29 Μάιος 2013, 18:04, έχει επεξεργασθεί 1 φορά/ες συνολικά
1 Γνώσεις Linux: Καθόλου ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-58-generic 32bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.2.0-57-generic, Microsoft Windows XP Professional
3 Intel Core2 Duo CPU E4600 2.40GHz ‖ RAM 2012 MiB ‖ ASUS INC. P5Q - � P5Q
4 nVidia G94 [GeForce 9600 GT] [10de:0622] {nvidia}
5 eth0: Qualcomm Atheros AR8121/AR8113/AR8114 Gigabit or Fast Ethernet [1969:1026] (rev b0) ⋮ wlan0: 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
Άβαταρ μέλους
giannosfor
punkTUX
punkTUX
 
Δημοσιεύσεις: 297
Εγγραφή: 24 Απρ 2011, 20:24
Τοποθεσία: Ηράκλειο
Εκτύπωση

Re: Τί χρειάζεται για να γίνω προγραμματιστής;

Δημοσίευσηαπό Αποστόλης » 02 Ιουν 2011, 13:52

- Πρώτα απ' όλα θα μάθεις πολύ καλά την θεωρία του προγραμματισμού (αλγόριθμοι π.χ.) και σίγουρα αντικειμενοστραφή προγραμματισμό.
Οι γενικές αρχές προγραμματισμού ισχύουν παντού.
Και όπως πάντα η θεωρία προηγείται της πράξης και είναι καλό να την γνωρίζεις ώστε στην πράξη να είσαι όσο πιο έτοιμος και "υποψιασμένος" γίνεται. Ετσι θα σου πάρει λιγότερο καιρό να μπείς στο νόημα και στο πετσί του "ρόλου" του προγραμματιστή.


- Πρέπει να ξεκαθαρίσεις με ποιόν τομέα προγραμματισμού θα ασχοληθείς ώστε να εξιδεικευθείς.
Υπάρχουν διαφορές μεταξύ του προγραμματισμού "κλασσικών" εφαρμογών, web εφαρμογών, εφαρμογών για mobile devices, λειτουργικών συστημάτων κ.λ.π.


- Οι τάσεις είναι λίγο ρευστές (όπως τα πάντα γύρω από τους υπολογιστές άλλωστε) οπότε πρέπει να έχεις τα μάτια σου ανοιχτά και να παρακολουθείς τις εξελίξεις. Κάποια γλώσσα προγραμματισμού μπορεί μετά από καιρό να "μπει στο περιθώριο" και να αντικατασταθεί από κάποια άλλη. Η να εξελίσεται διαρκώς.
Πρακτικά είναι αδύνατο να τις παρακολουθήσεις όλες, στον τομέα σου όμως είσαι υποχρεωμένος να τις ακολουθείς αλλιώς θα μείνεις πίσω. Κι αυτό δεν είναι καλό...
Πως μπορείς να παρακολουθείς τις εξελίξεις;
Δικτυώσου. Γράψου σε forum με αντίστοιχο αντικείμενο, διάβαζε περιοδικά/blogs κ.λ.π. κ.λ.π.


- Η τοποθεσία διαμονής δεν είναι απαραίτητα μειονέκτημα. Υπάρχουν τομείς προγραμματισμού που μπορείς να κάνεις συνεργασίες εξ αποστάσεως.
Κατασκευή ιστοσελίδων π.χ.


- Το οτι δεν έχεις τελειώσει τη σχολή σου δεν είναι μεγάλο πρόβλημα. Μπορείς να το ρυθμίσεις με τον εργοδότη σου. Είναι πολλοί αυτοί που είναι πρόθυμοι να σου δώσουν ένα ελαστικό ωράριο για να τελειώνεις με την σχολή σου.
Αν τους κάνεις σαν εργαζόμενος/άνθρωπος και τα βρείτε στο οικονομικό δεν θα σου φέρουν πολλά εμπόδια.
Αν όμως έχεις και το στρατιωτικό στη μέση, αυτό είναι πρόβλημα. Για την εύρεση εργασίας αλλά και τη ζωή σου γενικότερα. Πήγαινε να ξεμπερδεύεις.


- Φτιάξε projects με τα προγράμματα που θα ασχοληθείς και δείχνε τα στους επίδοξους εργοδότες/συνεργάτες σου.
Ανέβαζέ τα σε κάποιο site, φτιάξε demos σε cd, φτιάξε εκτελέσιμα αρχεία που θα κάνουν ενα-δυο πραγματάκια.
Κοινώς φτιάξε ένα portfolio.
Οσο "χαζό" ή μικρό κι αν είναι ένα project (ακόμα κι ενα προγραμματάκι που γράφει μηνυματάκια ή προσθέτει αριθμούς) θα κάνει καλή εντύπωση και ο άλλος θα δει οτι κάτι ξέρεις και δεν είσαι μόνο θεωρία.
Αν καταφέρει να το πουλήσεις κι όλας θα είσαι σούπερ.
Φυσικά ποτέ δεν κάνουμε clopyright, γιατί αργά η γρήγορα θα αποδειχτεί αν ξέρεις ή όχι, κι αν κινείσαι σε επαγγελματικό χώρο που οι εταιρείες είναι λίγες ή το περιβάλλον στενό (πόλη κ.λ.π.) θα "καείς" γρήγορα. Bad news travels fast.
Ακόμα πιο φυσικά, δεν προσφέρεις όλο το πρόγραμμα/κώδικα στο πιάτο για να σου κλέψει ο άλλος την εφαρμογή.
Εχει γίνει πολλάκις, γι αυτό μην το παίρνεις αψήφιστα.


- Είναι θεμιτό, τώρα στην αρχή, να κάνεις κάποια projects με χαμηλότερη σχέση απολαβές/εργατοώρα για να φτιάξεις το βιογραφικό σου, αλλά μην το παρακάνεις.
Μην ρίχνεις τις τιμές με λίγα λόγια.
Εκτός του ότι με αυτόν τον τρόπο θα τσακίσεις και επαγγελματίες του χώρου (πολλοί με οικογένειες και άτομα που εξαρτιώνται από τις δουλειές αυτές) αλλά θα τα βρείς και μπροστά σου αργότερα. Οταν θα πας αργότερα να κλείσεις κάποια δουλειά ή να ζητήσεις μεγαλύτερο μισθό πως θα ανέβεις από τα 2 ευρώ στα 50; Δεν γίνεται με τίποτα.
Προτίμησε να δουλέψεις περισσότερες ώρες απο ότι θα έπρεπε ώστε να τελειώσεις κάποιο έργο παρά να πληρωθείς λιγότερο.


- Κουράγιο, υπομονή και επιμονή.
Η εποχή που βγαίνεις στην αγορά εργασίας είναι ιδιαίτερα δύσκολη.


edit Κάνε ότι κι εγώ τώρα. Μην κρατάς τις γνώσεις σου για πάρτη σου.
Δώσε για να σου δώσουν ;)
Γνώσεις ⇛ Linux:Μέτριο┃ Προγραμματισμός:Ναι ┃ Αγγλικά: Αρκετά Καλά
Λειτουργικό ⇛ Arch Linux 64bit ┃ Ubuntu Studio 10.4 64bit
Προδιαγραφές ⇛ HP Pavillion dv7 1199ev ┃ Intel 2 Core Duo T 9400, 2.53 Ghz ┃ 4GB ┃ NVIDIA GeForce 9600M GT ┃ Intel 82801I (ICH9 Family) HD Audio ┃ TFT 17" 1440x900
Αποστόλης
punkTUX
punkTUX
 
Δημοσιεύσεις: 170
Εγγραφή: 24 Ιουν 2009, 13:09
Εκτύπωση

...

Δημοσίευσηαπό giannosfor » 02 Ιουν 2011, 15:05

...
Τελευταία επεξεργασία από giannosfor και 29 Μάιος 2013, 18:05, έχει επεξεργασθεί 1 φορά/ες συνολικά
1 Γνώσεις Linux: Καθόλου ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-58-generic 32bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.2.0-57-generic, Microsoft Windows XP Professional
3 Intel Core2 Duo CPU E4600 2.40GHz ‖ RAM 2012 MiB ‖ ASUS INC. P5Q - � P5Q
4 nVidia G94 [GeForce 9600 GT] [10de:0622] {nvidia}
5 eth0: Qualcomm Atheros AR8121/AR8113/AR8114 Gigabit or Fast Ethernet [1969:1026] (rev b0) ⋮ wlan0: 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
Άβαταρ μέλους
giannosfor
punkTUX
punkTUX
 
Δημοσιεύσεις: 297
Εγγραφή: 24 Απρ 2011, 20:24
Τοποθεσία: Ηράκλειο
Εκτύπωση

Re: Τί χρειάζεται για να γίνω προγραμματιστής;

Δημοσίευσηαπό linuxs » 02 Ιουν 2011, 16:03

giannosfor έγραψε:Σ'ευχαριστώ φίλε μου αν και δεν είμαι στο Πανεπιστήμιο του Ρεθύμνου γιατί δεν έχει τμήμα πληροφορικής οπότε δε ξέρω τι εννοείς.
Είμαι σε τμήμα πληροφορικής στο Ηράκλειο.Στους αλγόριθμους έχω δεκαράκι και δεν μαθαίνω τουρουλού ήταν μαθήματα της σχολής που εμβάθυνα αρκετά τις γνώσεις μου γιατί με αυτό θέλω να ασχοληθώ.Τις απαιτήσεις τις έχω δει και για αυτό μαθαίνω και πράγματα τα οποία γνωρίζω σε χαμηλότερο επίπεδο.Αυτό που δε ξέρω και θέλω να μάθω είναι οι εμπειρίες ατόμων που ξεκίνησαν να μπουν σε αυτόν το χώρο και τι προβλήματα/δυσκολίες/ευκαιρίες είχαν.Σ'ευχαριστώ για το σχόλιο σου αλλά θα προτιμούσα να απαντήσει κάποιος με πραγματική εμπειρία,άποψη έχω και εγώ,θέλοντας να τη μοιραστεί μαζί μας και να δώσει οδηγίες προς τη σωστή κατεύθυνση.


:S
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

Re: Τί χρειάζεται για να γίνω προγραμματιστής;

Δημοσίευσηαπό Star_Light » 03 Ιουν 2011, 02:11

Γενικα εχουν δικιο σε αυτα που λενε οι προλαλησαντες... Ουσιαστικα ο πηγαιος κωδικας ειναι η αποτυπωση στον μεταγλωττιστη του αρχικου αλγοριθμου που εχεις κατσει και εχεις σκεφτει στο πως θα προσεγγιζει το προβλημα. Οκ εκανες ενα διαγραμμα ροης μετα θα χρειαστει ομως και να το αποτυπωσεις στον μεταγλωτιστη ωστε να του δωσεις "υπολογιστικη" υπαρξη! (Πςςς τι λεω αποψε ο ανθρωπας) χαχαχα. Παρολαυτα για να γινεις καλος προγραμματιστης... θελει 2 πραγματα ... μαλλον 3 κατα την δικη μου ταπεινη αποψη. 1. Ευφυια 2. Ταλεντο 3. Σκληρη δουλεια.

Υπαρχουν 3 πραγματα τα οποια πρεπει να καταπολεμησεις σαν καλος προγραμματιστης.

1. Τα συντακτικα λαθη
2. Τα λογικα λαθη
3. Τα λαθη ασφαλειας που απορρεουν απο τον κωδικα σου (σημεια ευπαθειας μιας εφαρμογης)

οσο και αν σου φαινεται περιεργο το 3. ελαχιστοι προγραμματιστες το λαμβανουν υποψιν τους.

Ελπιζω να βοηθησα! Καλη αρχη & καλη τυχη!
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Τί χρειάζεται για να γίνω προγραμματιστής;

Δημοσίευσηαπό Star_Light » 03 Ιουν 2011, 02:33

Βεβαια καλο ειναι να γνωριζεις και απο κωδικα διοτι καμια φορα δεν θα χρειαζεται να φτιαχνεις μονο τα δικα σου προγραμματα
αλλα να καταλαβαινεις και να ενσωματωνεις και τα προγραμματα αλλων.

Π.Σ Δεν χρειαζεται δηλαδη να ξανα ανακαλυπτεις τον τροχο αν υπαρχει ηδη μια ετοιμη κλαση με ελευθερη αδεια.
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

...

Δημοσίευσηαπό giannosfor » 03 Ιουν 2011, 09:18

...
Τελευταία επεξεργασία από giannosfor και 29 Μάιος 2013, 18:05, έχει επεξεργασθεί 1 φορά/ες συνολικά
1 Γνώσεις Linux: Καθόλου ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-58-generic 32bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.2.0-57-generic, Microsoft Windows XP Professional
3 Intel Core2 Duo CPU E4600 2.40GHz ‖ RAM 2012 MiB ‖ ASUS INC. P5Q - � P5Q
4 nVidia G94 [GeForce 9600 GT] [10de:0622] {nvidia}
5 eth0: Qualcomm Atheros AR8121/AR8113/AR8114 Gigabit or Fast Ethernet [1969:1026] (rev b0) ⋮ wlan0: 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
Άβαταρ μέλους
giannosfor
punkTUX
punkTUX
 
Δημοσιεύσεις: 297
Εγγραφή: 24 Απρ 2011, 20:24
Τοποθεσία: Ηράκλειο
Εκτύπωση

Re: Τί χρειάζεται για να γίνω προγραμματιστής;

Δημοσίευσηαπό Αποστόλης » 03 Ιουν 2011, 10:19

Αν θες να ξεκινήσεις να κάνεις κάτι, ξεκίνα από τον τόπο σου.
Με την ελπίδα οτι ο τόπος σου δεν είναι οι Αθήνα-Θεσσαλονίκη κ.λ.π.
Ξεκίνα και γράψε εφαρμογούλες για τον μπαρμπα Μήτσο που θα καταχωρεί τα στοιχεία επαφής με τους προμηθευτές για το μανάβικο.
Μετά συνέχισε με τον γιο του με μια εφαρμογή που θα καταχωρεί όλα τα τραγούδια των Scorpions και τα cd που έχει δανείσει στην Καίτη.
Μετά μετά μετά...

Γενικώς κάνε κάτι για να αρχίσεις να ακούγεσαι στον τόπο σου.
Δεν χρειάζεται βέβαια να σου πω πως χίλιες φορές να κάνεις μια εφαρμογή και καλή παρά 100 και χάλια.

Από περιέργεια, από που είσαι;
Γνώσεις ⇛ Linux:Μέτριο┃ Προγραμματισμός:Ναι ┃ Αγγλικά: Αρκετά Καλά
Λειτουργικό ⇛ Arch Linux 64bit ┃ Ubuntu Studio 10.4 64bit
Προδιαγραφές ⇛ HP Pavillion dv7 1199ev ┃ Intel 2 Core Duo T 9400, 2.53 Ghz ┃ 4GB ┃ NVIDIA GeForce 9600M GT ┃ Intel 82801I (ICH9 Family) HD Audio ┃ TFT 17" 1440x900
Αποστόλης
punkTUX
punkTUX
 
Δημοσιεύσεις: 170
Εγγραφή: 24 Ιουν 2009, 13:09
Εκτύπωση

Επόμενο

Επιστροφή στο Εφαρμογές για Ανάπτυξη Λογισμικού