2

I've had a very hard time back in my university during my undergrad in CSE due to numerous reasons. Added to that, due to the intimidating nature of our very first programming course instructor, I felt like a fish out of water when I tried to learn programming. It was like a living nightmare for me. To make things worse, I had very few friends who'd actually take some time to help me learn coding and overcome my fear for coding, and even they were busy with saving their own backs, others would heavily bully me, so I was virtually left to go on on my own.

I've struggled a lot to learn coding on my own and after staying unemployed for exactly 5 months after my graduation, I finally got a job as an Intern Programmer in a local software company. Since then, I'm still in the same company. When I joined this company, I knew nothing more than very basic C, very basic C++, a little Java (J2SE), and a little about OOP. I've tried to make myself more efficient and more at home in coding by going through tutorials and books, but soon got bored and overwhelmed by the sheer mountain of information, and got lost. So my skills didn't improve much, and my supervisor is thinking of moving me to testing team rather than development.

Rather than learning to code all by myself, I desperately crave for a mentor, who can guide me and help me, but not teach me,

  1. to learn coding quickly
  2. to learn coding in the right way without getting myself lost and overwhelmed by information flooding
  3. to overcome my fear and nervousness in working in big projects
  4. to gain enough confidence in coding

I just don't have any idea how I can approach someone in my team to be a mentor to me. Every senior resource in my team is very busy with multiple projects and hardly can spare time for me.

Edit:

Thanks everyone. I CAN CODE NOW, AND I AIN'T SCARED OF CODING NO MORE!!!! And now I'm a bit more confident in coding than the once scared and frustrated guy who posted this question :D. A huge credit goes to the people who gave me a rather unexpected opportunity to attend a Software Development training in Infosys, Mysore, India. That training changed me a lot and created a huge impact on me by boosting my morale. Although, I haven't yet got the opportunity to work in big projects, but I've proved my eagerness to work and improvements in coding skills, which earned me my place back in the dev team and let me work in a couple of maintenance projects. Also, I keep learning and doing projects of my own in my spare time and I'm glad I started to feel a bit addicted to it. ;) Thanks to all of you once again for helping me.

  • 6
    Can we all try to be nice guys? Almost all developers I've ever spoken to felt like this early on in their first job, especially if thrown in at the deep end. I'm aware there are some similar questions about what to do in this case on The Workplace that may help the OP, but I'm struggling to find them right now. – Fiona - myaccessible.website Nov 18 '14 at 12:23
  • 4
    Found the question - this may be of use: workplace.stackexchange.com/questions/6223/… (Also may reassure you from the comments / answers that you're far from alone in the experience!) – Fiona - myaccessible.website Nov 18 '14 at 12:25
  • 2
    When you "get bored" with coding and quit studying, what do you do instead? This may give you some insight into what you really want to do. – user8365 Nov 18 '14 at 13:42
  • 1
    @CaptJack:What others are trying to tell you is that being a good sw developer is hard. It takes dedication and passion because you can never stop learning. You might be the company guru now, but if you don't continue learning (usually on your own time) then in 2 years you very well may have become obsolete. Most good programmers have the passion to go home and do their own projects/learning even after spending the day at work. You can't compete with people that are that dedicated if you aren't. Others are simply recommending you look towards a related specialty based on what you've shared. – Dunk Nov 18 '14 at 16:38
  • 3
    of moving me to testing team rather than development. - Being in the testing team doesn't necessarily mean that you will not have any opportunity to code. There is a lot of automation that can be done in testing, which involves writing code. You might want to strongly consider that opportunity. – Zoredache Nov 18 '14 at 17:48
5

Have a look at sites like http://www.codecademy.com/. There are a lot of resources out there aimed at making it fun to learn to code. Try to find one close to the skills you're using at work and build it from there.

Once you've built up some confidence with a technology, come up with a little side product for you to work on at home. Don't choose anything too ambitious, and then use Stack Overflow for specific questions and issues with your project. You'll start to feel more confident in tackling the programming books too after a while.

On the other hand, if you try the above and are still feeling like you don't enjoy it, there is nothing wrong with a move to testing. It's a very valid career path, not too badly paid and you are likely to still have chances to dabble in coding if you feel like it.

  • I'm really grateful to you for those kind words of you. As you're an ASP.NET developer, let me tell you something. I found myself in a pretty large ASP.NET project done in MVVM pattern and Domain-Driven Design and it was a nightmare. Based on my performance, they pushed me to testing. In my company, a move to testing team from development is regarded as a demotion. Everyone in my team considered me to be a loser. I hope you understand now why I see it very negatively to be a tester. – Choudhury Saadmaan Mahmid Nov 18 '14 at 12:07
  • @Capt.JackSparrow well, of course they see it as a demotion, because they like coding and testing requires less coding. they'd see being moved to the business side as a demotion too. also, why do you care what they think? – bharal Nov 18 '14 at 12:18
  • +1 for codecademy - it would have been my answer too. brilliant site, that's how I learned Python in 5 minute blocks when things were quiet. Gives a great overview of the basics and builds on it well - can't praise it enough. – nurgle Nov 18 '14 at 14:39
  • @Capt.JackSparrow I personally did the move from dev to business. I feel it's not so much of a demotion mentality rather depending on your role they see it as a less intellectual (and therefore inferior) role, or you're in the way of progress. As a tester you're that limey $%@#$%# that takes their "finished code" and says it's crap try again. As the manager you're the one shovels all that "process" and "procedure" down their throat. A good tester is probably the greatest asset to a dev team you can have. I don't think I'd ever let my team be without one, it's just too important. – RualStorge Nov 19 '14 at 21:57
  • @Fiona I can't express my gratitude to you in mere words. Your answer truly motivated me a lot. With utter delight, I can tell you that now I have overcome my fear of coding. Yes, I have!!! I know I need to be a lot more efficient and gather more knowledge and expertise in professional development, but for now, at least, I CAN CODE. Saying just "thanks" is going to belittle your nicety towards me. Wish you all the best. :) – Choudhury Saadmaan Mahmid May 1 '15 at 5:54
3

I don't think you will easily find what you are looking for, mentor-wise.

to learn coding quickly

to learn coding in the right way without getting myself lost and overwhelmed by information flooding

to overcome my fear and nervousness in working in big projects

to gain enough confidence in coding

the last two points come with experience. confidence in anything just comes with knowing what you are doing, and having faith in yourself when you don't. I don't know of any way to learn that, but you might try some self-help books to deal with the confidence/bullying issues that you mention.

I don't know what books your tried, but I would suggest the head first series of books, as I have always found them easy and interesting reads. In java, I always recommend Bert Bates & Kathy Sierra, their book on the SCJP is fantastic. I do not know from your question which language you want to focus on, but pick one initially ~ ideally the one you use most at work.

However, as you will have noticed from my comments, I am troubled by your phrase "but soon got bored" in your question. I just got back from lunch with some consultant friends - every month or three we'll get together and talk shop. The two best - far and away the best - of the group will speak animatedly about developments in scala, of some obscure new open source framework, and all sorts of industry news.

I tend to talk about comics with one of the other guys.

The point is, if you are bored by coding ~ and look, I was bored silly by it, and found it unsatisfying ~ then you should really really consider doing another degree, or moving into a different role. You can always spin a story to a company about how coding taught you academic rigour and discipline, but what you really want to do is sales or business analysis or product management or painting or whatever.

That way, you get to "use" your degree, at least as a springboard, but you don't need to worry about coding. If you stay in code, and you don't like it now, well, the chances are you won't like it later.

Maybe you'll make some money and get to sit with other consultants and discuss comics, but if you went and worked as something else - something you loved doing - then you would end up with a satisfying life (and probably a bunch of money) sitting with other consultants happily & passionately talking about the work at hand.

EDIT

here, i watched this a few years ago and thought it was pretty neat.

  • 1
    Coding is usually - and in fact, it should be - mechanical if not rote. It's the problem that you are trying to solve through the code that's critical. I am always on the lookout for better ways to get it done and if they happen to be new, that's fine - I'll learn them. I can do much of my coding in my sleep, although at times a very perturbed sleep :) It's the problem solving that keeps me awake, engaged and at times, concerned. – Vietnhi Phuvan Nov 18 '14 at 13:25
  • @VietnhiPhuvan i could not agree more. Also, that is what makes you a better coder than I will ever be, the passion for the industry of coding, of solving problems with code. I suspect the OP leans a bit further afield of you (or indeed, me) in an interest in coding. – bharal Nov 18 '14 at 13:28
  • 1
    The only excitement I get from coding comes from the surprises. And EVERY surprise I ever got from coding was a nasty one that I had to recover from. I like my coding boring and I absolutely love it when it's as boring as a dead people's party in a graveyard. I get enough excitement from the problems I am solving through my coding, thank you :) When it comes to passion, the only thing I am really passionate is getting the job done with the least amount of work - I work hard but only as the last resort, and if you see me grinding away, it's because I am totally out of options :) – Vietnhi Phuvan Nov 18 '14 at 13:44
  • @VietnhiPhuvan Look, honestly, I understand you're a genius, you're the ultimate boss, you're really passionate, awesome and two thumbs up!!! But if you don't know how to help me, then please leave. You don't have to tell me those big stories of yours, and it's not mandatory for you to try to help me at the first place. Peace. – Choudhury Saadmaan Mahmid Nov 18 '14 at 19:04
  • 1
    @Capt.JackSparrow you're putting too much of the success and happiness of your own life into the hands of someone else. At some stage you're going to have to sit down, glue your butt to the seat, and work at IT. Vietnhi is right - whether he comes across as arrogant or not, he is right. Good programmers have an encyclopaedic knowledge of the code - the issue for them isn't putting the bolts together, it is how to do it elegantly. That skill only comes with hard (and boring) work. – bharal Nov 18 '14 at 23:03
1

Have you tried making conversation with some of the more senior members of the team, take an interest in their work and also get to know their other interests and hobbies?

I can only speak from my own experience but most coders I know are pretty generous with their knowledge and are usually happy to share their knowledge, especially if they can see a long term benefit in being able to share some of their workload with you, or just having a more capable team member in their midst.

Learning from books is hard, and I also found it tough to stick with it. Better to learn by getting involved in a community or open-source project online, or come up with an idea yourself. It doesn't have to be really complicated but just something you might find interesting to build - whether it's a website for something you have an outside interest in, or an application that performs some simple calculations or process. It's far easier to learn when you need to know how to achieve a particular goal, than just "learning" without a specific purpose.

  • I agree with your points. Given the fact I have very few friends, I really feel uncomfortable to go on and talk with someone freely. Years of bullying, negative attitude from my parents and teachers have made me shrink inside myself. I'm afraid my team members may laugh at me when I'll approach them and ask for help. – Choudhury Saadmaan Mahmid Nov 18 '14 at 12:15
  • Social anxiety isn't uncommon given your circumstances and can take years to fully address, but as you get older people do tend to get more confident. You could start by watching what your team members do (not forsaking your own work) and hope that they might see your interest and try to get you involved. In your situation you just need to take small steps and build your confidence gradually. – Will Appleby Nov 18 '14 at 12:22
  • Thanks. I've learned CodeIgniter and made a very simple web application with it. A very small step indeed. Let's hope it's first of many. :) – Choudhury Saadmaan Mahmid Nov 18 '14 at 12:24
1

From what you've said, you need a tutor more than a mentor. My recommendation would be to invest some time, and perhaps money, in organized classes.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.