Może to być okazja, gdy może istnieć semantycznie znaczące rozróżnienie między „programistą” i „inżynierem oprogramowania”. W tym kontekście w szczególności widzimy, że znasz kilka języków programowania i powiązanych technologii oraz że możesz ich używać do uzyskiwania pożądanych rezultatów. Jest to doskonała operacyjna definicja „programisty komputerowego”.
Uważam się za inżyniera oprogramowania. W większości codziennych aspektów mojej pracy prawdopodobnie robię te same rzeczy, co ty. Używam języka komputerowego i powiązanych technologii, aby uzyskać pożądany rezultat. Jednak rozumiem struktury danych i algorytmy i uważam, że ta wiedza jest fundamentem mojej zdolności do robienia znacznie więcej.
Często - choć nie zawsze - moja praca polega na znalezieniu rozwiązania złożonych problemów, dla których nie ma oczywistych rozwiązań, nic, co nie jest bezpośrednio rozwiązane przez cechy używanego frameworka lub możliwości języka, w którym pracuję z. W tym muszę przeanalizować problem i opracować rozwiązanie, a czasami ten proces przechodzi w sferę architektury na dużą skalę.
Chociaż doskonałe zrozumienie tych głębszych problemów jest konieczne do wykonywania tego rodzaju pracy, nie jest wystarczające . Innymi słowy, sama wiedza o tym, jak działa tabela skrótów lub dlaczego typ stosu ma zwykle dobre parametry wydajności, nie wystarcza, aby zostać architektem systemu lub starszym inżynierem. To logiczne miejsce rozpoczęcia, z którego możesz zacząć kopać głębiej i podróżować szerzej, a także zdobyć doświadczenie niezbędne do rozwiązania większych problemów.
Przypuszczam, że aby odpowiedzieć na twoje pytanie, powinieneś zadać sobie pytanie: „Kim chcę być? Gdzie pójdę z moją karierą?” Jeśli jesteś zadowolony z kontynuowania tego, co robisz, możesz po prostu nauczyć się wystarczającej liczby struktur danych i algorytmów, aby przejść przez w dużej mierze arbitralne pytania, z którymi masz do czynienia.
Jeśli chcesz rozwijać się w swojej karierze i masz do tego niezbędną pasję, powinieneś objąć te tematy tak ściśle, jak to możliwe. Jeśli masz trochę czasu, aby nad nimi popracować, otwarty umysł i prawdziwy entuzjazm, znajdziesz wspaniałe i ekscytujące rzeczy. Nigdy nie zapomnę dnia, w którym po raz pierwszy zrozumiałem Quicksort. Uczucie podniecenia i odkrycia wyznaczyło kierunek na resztę życia i nie mogłem być za to bardziej wdzięczny. Teraz nie wyobrażam sobie robienia niczego poza pracą jako inżynier oprogramowania.
Życzymy powodzenia z tym, co wybierzesz.