బిల్లింగ్ డెవలప్మెంట్ కంపెనీ మేనేజర్కి బృందాన్ని నిర్మించడానికి రెండు మార్గాలు ఉన్నాయి. మొదటిది రెడీమేడ్ “సీనియర్లను” నియమించడం మరియు నిరంతరం అలాంటి పని పరిస్థితులను సృష్టించడం, తద్వారా వారు తమ నైపుణ్యాలను మరియు అనుభవాన్ని గరిష్టంగా ఉపయోగించుకుంటారు, అభివృద్ధి చెందుతారు మరియు అదే సమయంలో తగాదాలకు దిగరు. రెండవది కొత్తవారు, మిడ్లు మరియు ప్రోస్ల మిశ్రమం నుండి బృందాన్ని సృష్టించడం, తద్వారా వారు కమ్యూనికేట్ చేయడం, ఒకరినొకరు ప్రభావితం చేయడం, కంపెనీలో నేర్చుకోవడం మరియు అభివృద్ధి చేయడం. నేను “అనుభవం లేదు - పని లేదు - అనుభవం లేదు” అనే విష వలయానికి వ్యతిరేకం మరియు అనుభవశూన్యుడు డెవలపర్ని నియమించడంలో నాకు సమస్య కనిపించడం లేదు. ఫార్వర్డ్ టెలికాం చాలా కాలంగా ఇంటర్న్షిప్ ప్రోగ్రామ్ను కలిగి ఉంది, ఇది చాలా మంది ప్రస్తుత ఉద్యోగులకు కెరీర్లో స్ప్రింగ్బోర్డ్గా మారింది.
ఇప్పుడు నేను బిల్లింగ్ డెవలపర్ యొక్క అభివృద్ధి మార్గాన్ని ఎలా చూస్తానో మరియు మీరు వృత్తిపరమైన నైపుణ్యాలను ఏ క్రమంలో పొందాలో మీకు చెప్తాను.
1. ప్రోగ్రామింగ్ లాంగ్వేజ్ నేర్చుకోండి
స్టార్టర్స్ కోసం, ఎవరైనా. ప్రాధాన్యత జావా, పైథాన్ మరియు జావాస్క్రిప్ట్, అయితే రూబీ, గో, సి, సి++ ప్రాథమిక జ్ఞానాన్ని పొందేందుకు తగినవి. ఎలా బోధించాలి? చెల్లింపు మరియు ఉచిత కోర్సులను తీసుకోండి; నేను గోలాంగ్ నుండి శిక్షణను సిఫార్సు చేయగలను. మీ ఆంగ్ల స్థాయి అనుమతించినట్లయితే, విదేశీ వీడియోలను చూడటం మంచి అదనపు నైపుణ్యం.
2. OS భావనలను అర్థం చేసుకోండి
ఆపరేటింగ్ సిస్టమ్స్ మీరు తెలుసుకోవలసిన మరియు ఆపరేషన్ సూత్రాన్ని వివరించగల ఏడు భాగాలపై ఆధారపడి ఉంటాయి:
- ప్రక్రియ నిర్వహణ;
- థ్రెడ్లు మరియు మల్టీథ్రెడ్ కోడ్;
- సాకెట్ (సాఫ్ట్వేర్ ఇంటర్ఫేస్);
- I/O పంపడం;
- వర్చువలైజేషన్;
- నిల్వ;
- ఫైల్ సిస్టమ్స్.
నేను ప్రాథమిక Linux అడ్మినిస్ట్రేషన్ కోర్సు తీసుకోవాలని సిఫార్సు చేస్తున్నాను. లైన్లోని రెండవ ఆపరేటింగ్ సిస్టమ్లు విండోస్ మరియు యునిక్స్.
3. టెర్మినల్కు అలవాటుపడండి
ఖాళీ షీట్ యొక్క భయంతో సారూప్యతతో, మెరిసే కర్సర్తో ఖాళీ బ్లాక్ స్క్రీన్ యొక్క భయం ఉంది. కమాండ్ లైన్లో మంచి ఆదేశాలను ఎలా వ్రాయాలో తెలుసుకోవడానికి మీరు దాన్ని అధిగమించాలి.
తప్పక తెలుసుకోవాలి:
- బాష్ మరియు కార్న్షెల్ షెల్స్;
- కమాండ్స్ ఫైండ్, grep, awk, sed, lsof;
- నెట్వర్క్ కమాండ్లు nslookup మరియు netstat.
4. నెట్వర్క్ మరియు భద్రత
బిల్లింగ్ నెట్వర్క్ మరియు డేటా రక్షణ అవసరాలకు దగ్గరి సంబంధం కలిగి ఉంటుంది. నెట్వర్క్ ఎలా పనిచేస్తుందో అర్థం చేసుకోకుండా మీరు ఆన్లైన్ సేవలను వ్రాయలేరు, కాబట్టి మీరు ప్రాథమిక భావనలు మరియు ప్రోటోకాల్లను నేర్చుకోవాలి: DNS, OSI మోడల్, HTTP, HTTPS, FTP, SSL, TLS. అప్పుడు, మీరు కనెక్షన్ నిరాకరించిన దోషాన్ని ఎదుర్కొన్నప్పుడు, ఏమి చేయాలో మీకు తెలుస్తుంది.
5. సర్వర్లు
నెట్వర్క్లో సమాచార ప్రసారం యొక్క సూత్రాలను అధ్యయనం చేసిన తర్వాత, మీరు సర్వర్ ఆపరేషన్ యొక్క ప్రాథమికాలను ప్రారంభించవచ్చు. వెబ్ సర్వర్లతో ప్రారంభించండి: IIS, Apache, Nginx, Caddy మరియు Tomcat.
జాబితాలో తదుపరి:
- రివర్స్ ప్రాక్సీ;
- అనామక ప్రాక్సీ;
- కాషింగ్;
- లోడ్ బ్యాలెన్సింగ్;
- ఫైర్వాల్.
6. మౌలిక సదుపాయాలను కోడ్గా నేర్చుకోండి
ఈ దశ చాలా ముఖ్యమైనదని నేను నమ్ముతున్నాను. మీరు మూడు విస్తృత విషయాలను అర్థం చేసుకోవాలి:
- కంటైనర్లు: డాకర్ మరియు కుబెర్నెట్స్
- కాన్ఫిగరేషన్ నిర్వహణ సాధనాలు: అన్సిబుల్, చెఫ్, సాల్ట్ మరియు పప్పెట్
- బ్యాకప్: టెర్రాఫాం, మేఘాలు.
7. CI/CD నేర్చుకోండి
బిల్లింగ్ డెవలపర్కు మరొక ఉపయోగకరమైన నైపుణ్యం ఏమిటంటే నిరంతర ఏకీకరణ మరియు డెలివరీ కోసం పైప్లైన్ను సెటప్ చేయడం. CI/CD ప్రాంతంలో Jenkins, TeamCity, Drone, Circle CI మరియు ఇతర సాధనాలు ఉన్నాయి. స్పాయిలర్: విస్తృతంగా ఉపయోగించే జెంకిన్స్ నేర్చుకోవడం మొదట సరిపోతుంది.
8. సాఫ్ట్వేర్ మరియు ఇన్ఫ్రాస్ట్రక్చర్ నియంత్రణ
అప్లికేషన్ పర్యవేక్షణ యొక్క ప్రాథమికాలను అర్థం చేసుకోవడం ప్రధాన లక్ష్యం. ఈ ప్రాంతంలోని సాధనాలు మూడు సమూహాలుగా విభజించబడ్డాయి:
- మౌలిక సదుపాయాల పర్యవేక్షణ: నాగియోస్, ఐసింగా, డేటాడాగ్, జబ్బిక్స్, మోనిట్.
- అప్లికేషన్ పనితీరు పర్యవేక్షణ: AppDynanic, New Relic.
- LMS: ELK స్టాక్, గ్రేలాగ్, స్ప్లంక్, పేపర్ట్రైల్.
9. క్లౌడ్ సేవలు
సమీప భవిష్యత్తులో, ప్రతి అప్లికేషన్ లేదా సాఫ్ట్వేర్ క్లౌడ్ కౌంటర్పార్ట్ను కలిగి ఉంటుంది. త్వరలో లేదా తరువాత, డెవలపర్లు క్లౌడ్ను ఎదుర్కొంటారు, కాబట్టి ప్రముఖ క్లౌడ్ ప్రొవైడర్లు (AWS, Google క్లౌడ్ మరియు అజూర్) మరియు సాంకేతికత యొక్క ప్రాథమికాలను చదవండి.
10. డేటాబేస్తో పని చేయడం
అన్ని ప్రస్తుత ప్రాజెక్ట్లు డేటాబేస్లను ఉపయోగిస్తాయి మరియు DBMS మరియు SQLతో అనుభవం ప్రారంభించడాన్ని సులభతరం చేస్తుంది. SQL ప్రశ్నలను వ్రాయడం నేర్చుకోండి, వివరించండి మరియు ఇండెక్స్ ఎలా పనిచేస్తుందో తెలుసుకోండి. ఒక కోర్సు తీసుకోవడం సులభమయిన మార్గం. మీరు మీ పోస్ట్గ్రెస్ డాక్యుమెంటేషన్ నైపుణ్యాలను కూడా అభ్యసించవచ్చు మరియు ప్రతిరూపణతో ఆడవచ్చు.
11. మీ సాఫ్ట్ స్కిల్స్ను మెరుగుపరచండి
ఊహించని విధంగా సాధారణ పాయింట్, కానీ తక్కువ ప్రాముఖ్యత లేదు. ప్రారంభించడానికి, ఓపికపట్టండి. "మీ ఇనుమును సరిదిద్దండి, మీరు ప్రోగ్రామర్" వంటి పరిస్థితులకు మీరు త్వరగా అలవాటుపడతారు, కానీ కొత్త ప్రాజెక్ట్లను ప్రారంభించే గడువుల కోసం మీరు మానసికంగా సిద్ధంగా ఉండాలి. మీరు ప్రోగ్రామింగ్లో సున్నా నుండి ఒక సంవత్సరం వరకు ఉండి, జూనియర్గా పరిగణించబడితే, విమర్శలకు సిద్ధమై దానిని అంగీకరించడం నేర్చుకుంటే, సలహాదారు ద్వారా కోడ్ సమీక్ష తరచుగా బాధాకరమైన ప్రక్రియ. కానీ అదే సమయంలో, తప్పనిసరి నైపుణ్యం అనేది ఒకరి దృక్కోణాన్ని సమర్థించడం మరియు నిర్మాణాత్మకంగా వాదించే సామర్థ్యం; కొన్నిసార్లు నిజం వాదనలో పుడుతుంది. డెవలపర్లు నేర్చుకోవడం ఎప్పటికీ ఆపలేరు, వృత్తిలో ఆచరణాత్మకంగా సీలింగ్ లేదు, కాబట్టి నేర్చుకునే సామర్థ్యం మరియు కొత్త విషయాలను నేర్చుకోవాలనే కోరిక మీ అభివృద్ధికి ఆధారం.
ఒక అనుభవశూన్యుడు మధ్య స్థాయికి ఎప్పుడు చేరుకుంటాడో మరియు అతను "సీనియర్" అని గర్వంగా ఎప్పుడు పిలుస్తాడో నేను తరచుగా అడుగుతాను. ఆచరణాత్మక నైపుణ్యాలు కీలకమైన ప్రమాణం అయినప్పటికీ, స్థాయి నుండి స్థాయికి మారే క్షణం పని చేసిన సంవత్సరాల సంఖ్య ద్వారా నిర్ణయించబడదని నేను నమ్ముతున్నాను. డెవలపర్ వృద్ధి వేగాన్ని తరచుగా నిర్ణయించే సాఫ్ట్ స్కిల్స్ ఇది: శిక్షణ పొందిన మరియు కష్టపడి పనిచేసే అనుభవశూన్యుడు అనేక భాషలలో అధిక-నాణ్యత కోడ్ను వ్రాయగలడు మరియు కేవలం కొన్ని నెలల్లో జట్టులో పని చేయగలడు. 10 సంవత్సరాల అనుభవం ఉన్న డెవలపర్ ప్రామాణికం కాని సమస్యలను పరిష్కరించలేకపోవచ్చు, బృందాన్ని నిర్వహించలేకపోవచ్చు మరియు ఏకపక్ష నైపుణ్యాలను కలిగి ఉండవచ్చు.
బిల్లింగ్ డెవలపర్ యొక్క అభివృద్ధి మార్గాన్ని నేను ఈ విధంగా చూస్తున్నాను, మా ఫార్వర్డ్ టెలికాం బృందంలో అర్హత కలిగిన నిపుణులను మేము ఈ విధంగా పెంచుకుంటాము. ఏమీ మిస్ అవుతున్నట్లు అనిపించడం లేదు, అయితే పాయింట్కి సహాయకరంగా ఉండే జోడింపులకు నేను ఎల్లప్పుడూ కృతజ్ఞుడను.
మూలం: www.habr.com