Czy się łudzę? Przejście analityka biznesowego na programistę


11

Obecna praca: praca jako główny analityk biznesowy dla firmy Big 4, kierująca zespołem programistów i testerów pracujących nad dużym projektem zmiany platformy (4 deweloperów na lądzie, 4 deweloperów na lądzie, kilku testerów na lądzie / na morzu). Pracuj również z podobną wydajnością w innych mniejszych projektach.

Zakres mojej roli: zbieranie / zapisywanie wymagań, tworzenie specyfikacji funkcjonalnych, projektowanie interfejsu użytkownika (w zasadzie mapowanie wszystkich aspektów front-end systemu), ścisła współpraca z programistami w celu komunikowania / wyjaśniania wymagań i wymyślania rozwiązań, gdy napotykamy przeszkody , pisanie przypadków testowych (i przeprowadzanie dużej części testów), praca z wyższym kierownictwem i kluczowymi interesariuszami, zarządzanie testerami beta, tworzenie instrukcji obsługi i prowadzenie sesji szkoleniowych, zapewnianie kluczowego wsparcia technicznego.

Piszę też sporo makr w Excelu za pomocą VBA (kilka moich makr jest teraz używanych w całej firmie, więc może jest ich około 1000 osób) i używam SQL na co dzień, zarówno na kompaktowych plikach SQL programu polega na naszych danych SQL Server i dowolnych bazach danych Access, które tworzę. Programiści uważają, że jestem całkiem dobry w tej roli, ponieważ dużo rozumiem na temat programowania, nieodłącznych ograniczeń systemowych, struktury baz danych itp., Więc łatwiej mi jest przekazywać pomysły i przedstawiać sugestie, gdy napotykamy problemy.

Najbardziej interesuje mnie tworzenie oprogramowania. Zajmuję się programowaniem w języku VBA i od jakiegoś czasu chciałem nauczyć się języka C # (zespół programistów używa języka C # - od czasu do czasu sprawdzam kod, ale nie miałem praktycznego doświadczenia w posługiwaniu się nim). Interesuje mnie nie tylko proces biznesowy, ale także techniczna strona rzeczy, więc tradycyjna rola licencjata nie zaostrza mojego apetytu na rzeczy, które chcę robić. W tej chwili mam kilka małych projektów, które dostałem od menedżerów i znajduję nowe sposoby ich realizacji (np. Tworzenie niestandardowych aplikacji Access), więc jest tu i tam trochę, aby mnie zainteresować.

Moje pytanie brzmi: co chciałbym zrobić, to stworzyć niestandardowe aplikacje Excel lub Access dla małych firm jako niezależny biznes (działający jako jednoosobowy; może mieć okazjonalnego kontrahenta w zależności od złożoności projektu). To oczywiście zaczynałoby się jako przedsięwzięcie w niepełnym wymiarze godzin, kiedy mam pracę dzienną, ale ostatecznie stało się pracą na pełny etat. Czy łudzę się, że mogę przejść od programisty licencjata / VBA w niepełnym wymiarze godzin do podjęcia pracy na własny rachunek (gdzie zaczynałbym od pisania niestandardowych aplikacji Excel / Access w VBA)? A może zwykle nie próbuje się tego rodzaju rzeczy, dopóki ktoś nie zdobędzie lat doświadczenia w programowaniu na pełny etat? I czy istnieje rynek takich aplikacji wśród małych firm (a może średnich)?


3
Prawdopodobnie jesteś teraz na szczycie swojej kariery. Możesz wykonać tę samą pracę z tymi samymi umiejętnościami w ciągu 5 lat bez czytania książki. Jeśli byłeś programistą, zaczniesz od dołu drabiny, a za 5 lat może nawet nie być drabiny !!! Nie łącz hobby z karierą. Oczywiście możesz zostać programistą, ale co robi większość przeciętnych programistów po 10 latach? Przetrwanie jako programista na dzisiejszym rynku i awansowanie jest bardzo trudne dla przeciętnego człowieka ze względu na dużą konkurencję i ciągłe wyzwania technologiczne.
NoChance

Zgadzam się, że jako analityk biznesowy i przedsiębiorca mam możliwość awansu na wyższe stanowisko. Problem polega na tym, że im wyżej jesteś, tym bardziej jesteś odległy od technologii i wdrożenia. Przeprowadziłem wywiad z kilkoma firmami konsultingowymi na temat stanowisk doradczych w zakresie zarządzania w dziedzinie technologii, ale tego rodzaju role mnie tak naprawdę nie interesują. Moim celem nie jest bycie czystym programistą; w rzeczywistości nie jestem zainteresowany pracą jako programista, ale jestem zatrudniony jako niewielki sklep konsultingowy, w którym mogę zająć się zarówno biznesem, jak i deweloperami.
Ryan

„mały sklep konsultingowy, w którym mogę zająć się zarówno biznesem, jak i deweloperami”, wydaje mi się zbyt dużym ryzykiem. Widzisz, rynek jest pełen gotowych rozwiązań i tylu firm i wykonawców, którzy są gotowi budować systemy już za 200 USD lub mniej. Nie sądzę, że „małe” może trwać przez długi czas, biorąc pod uwagę ekonomię i szybkie tempo zmian technologii, chyba że masz strategię przyciągania klientów i skupiania się na wolno zmieniającej się technologii.
NoChance

7
@EmmadKareem, „nie mieszaj hobby z karierą” ... masz na myśli: upewnij się, że prawie całe swoje życie na jawie spędzasz na robieniu czegoś, czego nie lubisz, a około 5% robieniu tego, co lubisz ... brzmi jak świetny plan na szczęście (ale wprawdzie powszechny)
JoelFan

4
@EmmadKareem, myślę, że jest wielu programistów, którzy pracują 10, 20 lub więcej lat i są zadowoleni ze swojej kariery
JoelFan

Odpowiedzi:


15

Nie, nie łudzisz się, można to zrobić! Jeden z facetów tutaj to zrobił, chociaż nie znam szczegółów, ale myślę, że zaczął jako gwarant, stał się licencjatem w zakresie opracowywania oprogramowania dla oprogramowania interal, a następnie w jakiś sposób przeszedł na pełny etat. Domyślam się, że on miał już zaplecze techniczne, tak jak ty.

Może działać lepiej, jeśli spróbujesz zrobić to najpierw z obecnym pracodawcą, niż samemu. Będziesz miał o wiele więcej wsparcia i pomocy. Może porozmawiaj ze swoim menedżerem i zapytaj, jak możesz przejść do roli programisty w organizacji, prawdopodobnie w tym samym zespole, aby rozpocząć. W ten sposób znasz już wszystkich, a oni znają cię i do czego jesteś zdolny i mogą pomóc Ci w dalszym trenowaniu. Jeśli jesteś naprawdę naprawdę naprawdę szczęście, firma będzie mieć budżet do wysłania na kursach dogonić nawet szybciej.


2
Chciałbym tylko powtórzyć, że na pewno da się to zrobić - na poprzednim stanowisku współpracowałem z wykonawcą, który dokładnie to zrobił. Zaczął tworzyć aplikacje Access dla firmy z roli innej niż deweloper, a następnie został dla nich zewnętrznym konsultantem, a ostatecznie przekształcił go we własną firmę i wydaje się, że dobrze sobie radzi.
bunglestink

4

VBA i Access to podstawa drabiny programowania. Gdybym był tobą, strzelałbym wyżej, ponieważ masz umiejętności SQL. Rozważ nauczenie się SQL Server Reporting Services i tworzenie raportów lub SSIS i przetwarzanie ETL. Są to umiejętności, które są w tej chwili dość wysokie, i masz dobrą pozycję, aby je wykonać, ponieważ mogą być stosunkowo łatwe do zdobycia w środowisku korporacyjnym, szczególnie jeśli nie masz nikogo innego, kto obecnie zajmowałby się tymi rolami w Twojej firmie. Widziałbym doświadczenie analityka biznesowego jako ogromny plus dla autora raportu.


2

To może być zrobione. Nie będzie to łatwe, zwłaszcza jeśli chcesz się w tym dobrze bawić, ponieważ tworzenie oprogramowania jest dyscypliną inżynieryjną z nieoczywistymi problemami i pułapkami, których musisz nauczyć się rozpoznawać i unikać. Zajmie to kilka lat poważnych studiów i praktyki, ale jeśli uda ci się opanować koncepcje, z pewnością możesz zostać programistą, nawet jeśli twoje doświadczenie jest inne.


Jakieś zalecane kierunki studiów? Jestem bardziej samoukiem, więc teraz subskrybuję trochę oprogramowania open source MIT (Intro to Comp Sci), które używa Pythona jako języka nauczania, głównie po to, aby uzyskać solidną teorię programowania i myśleć bardziej linie programisty. Kontynuuję również poszerzanie mojej wiedzy na temat Excel / Access / VBA poprzez faktyczne projekty w pracy.
Ryan

@ Ryan Masz złudzenie co do jednej rzeczy: nie ma solidnej teorii programowania. Programowanie jest bardzo niedojrzałym rzemiosłem (rzemiosło to właściwe słowo!) - jest naprawdę zbyt młode. Programiści czytają wiele książek, ale rewolucje w tej dziedzinie zdarzają się co miesiąc. Co oznacza, że ​​postawa uczenia się jest jedynym warunkiem wstępnym :)
K.Steff

1
@Ryan: Jestem głównie samoukiem. Mój „kierunek studiów” brzmiał: „ten program jest do bani. Mógłbym to zrobić i zrobić to lepiej niż autor. Więc zobaczmy, mam kompilator, jak mam teraz wdrażać funkcje?”
Mason Wheeler

2

To, czy zajmie to lata, czy rok, zależy w dużej mierze od ciebie, twojego harmonogramu, ale co najważniejsze, twojego poziomu zainteresowania, który zwykle wiąże się z umiejętnościami. Jeśli mieszkasz lub pracujesz w mieście i masz możliwość masowych dojazdów do pracy, weź to i wykorzystaj ten wbudowany czas dojazdów do czytania książek technicznych. Wszystko, co Cię interesuje.

Jeśli chodzi o śmiałość myślenia, nie przejmuj się. Zdecydowanie, że prawdopodobnie poradzisz sobie z <wstaw tutaj niepoznawalny stos złożoności>, jest tym, co robią deweloperzy. To nie jest arogancja, to tylko pierwszy krok.

Arogancki na ziemi deweloperskiej nazywa siebie profesjonalnym deweloperem, gdy masz jedno rozwiązanie dla wszystkiego i nie nauczyłeś się niczego nowego od czasu studiów. To przecieranie rozwoju. Kiedy przestajesz się uczyć, twoja kariera zaczyna spadać, więc zainteresowanie jest pewnego rodzaju kluczem. Wygląda na to, że masz to.

Więc idź po to.

Masz cel w zasięgu wzroku. Reszta rozbija wielkie przerażające problemy na małe niezbyt przerażające. Powtórz reklamę w muzeum, a będziesz płatnym programistą w pełnym wymiarze godzin, który życzyłby sobie, aby były większe / bardziej przerażające problemy niż wcześniej, niż mogłoby się wydawać.


Obserwacja boczna: arogancja jest pomocna na początkowych etapach. Gdybym wiedział, o czym tak naprawdę jest programowanie, kiedy zacząłem, prawdopodobnie porzuciłbym dwie godziny po „hello world”.
K.Steff

1

Powiedziałbym (jeśli chcesz zacząć od rzeczy) skorzystaj z SICP - Struktura i interpretacja programów komputerowych. Powinienem do niego link, ale to coś więcej niż książka; w dzisiejszych czasach można znaleźć także inne osoby, które mogłyby studiować kurs w Internecie. To naprawdę trudna książka - ukończenie wszystkich ćwiczeń jest czymś, czego większość programistów nie może zrobić (niestety), ale jest to najlepsza dostępna książka. MIT OCW jest również dobry, ale IMHO to rozwodniona wersja SICP do programowania. Python został zaprojektowany tak, aby ukrywać złożoność, a nie sprawiać, że lubisz ją chorować (tak jak SICP).

Musisz także odróżnić programowanie jako zawód od programowania jako umiejętności. Jeden wymaga poświęcenia się takim rzeczom, jak piękny, czysty i rozszerzalny kod, podczas gdy drugi wymaga jedynie umiejętności algorytmicznych (co w rzeczywistości jest całkiem sporo). „Dobrotliwy dyktator” Pythona, Guido van Rossum, twierdzi, że programowanie będzie istotną umiejętnością w nadchodzących latach, ale umiejętności tworzenia oprogramowania w żadnym wypadku nie będą. Większość nie-programistów pisze kod, aby go wyrzucić (programiści też to często robią). Chodzi o to, że programowanie zawiera wiele więcej rzeczy niż programowanie i ważne jest, aby wyprostować swoje priorytety.

Najważniejsze: pamiętaj, aby pokochać programowanie, a nie tylko to. To więcej niż praca od 9 do 5, ma ona obejmować filozofię ciągłego uczenia się : większość inżynierów jest szkolona podczas studiów licencjackich lub magisterskich i nie widzi znaczących zmian w dziedzinie wiedzy specjalistycznej. Przez całe życie w programowaniu zobaczysz co najmniej 10 zmian paradygmatu (nie tylko języków, ale narzędzi, baz danych itp.), Więc lepiej bądź gotowy (i chętny) na zaakceptowanie tego.


+1 za „filozofię ciągłego uczenia się”. Programowanie polega głównie na uczeniu się i doskonaleniu każdego dnia. Jeśli lubisz robić te 2 rzeczy, prawdopodobnie będziesz mieć dobre doświadczenie i odniesiesz sukces.
B, 7

1

Myślę, że jesteś w dobrej sytuacji, aby spróbować tego.

Większość mojej kariery zawodowej byłem głęboko zakorzeniony w technicznej stronie rzeczy, jednak przez lata obserwowania, czy wiele projektów kończy się sukcesem lub porażką, doszedłem do wniosku:

Jeśli nie rozumiesz użytkowników biznesowych i ich wymagań, projekt się nie powiedzie.

Nigdy nie widziałem wyjątku od tej zasady i żadna ilość pieniędzy, sprzętu ani genialnego programowania nie robi żadnej różnicy. Prawdziwe projekty z dobrym zrozumieniem wymagań mogą zawieść z powodu źle dobranego sprzętu, oprogramowania, braku budżetu lub umiejętności - ale w większości przypadków projekty te można było lub można było uratować.

Tak więc twoje dobre przygotowanie do studiów licencjackich i wymagania dadzą ci perspektywę, której może brakować niektórym z twoich bardziej utalentowanych szkół technicznych, resztę możesz się nauczyć.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.