# Career in programming



## Deadman (Mar 24, 2015)

Being a mechanical engineer and ending up doing some crappy job which i absolutely hate i want to shift my path to programming. 
Coding is not a joke i know but will 1 year of hard work can get me a job. Atleast i will love what i am doing though i have never code before.


----------



## cute.bandar (Mar 25, 2015)

> i know but will 1 year of hard work can get me a job.


 It took me about 2 years, to start to 'feel' like a programmer, but  maybe I am a slow learner. I don't know about jobs... 
 Before you decide, you can try to learn coding as a hobby on the side, to see even if its your thing or not.


----------



## icebags (Mar 25, 2015)

programming job is pretty competitive nowadays in india. there is already a huge crowd and to stay ahead of them u will always have to upgrade urself, work harder at office, look for opportunities all the time and will have never to let go the books. working environments at most of the cases are very harsh, companies will treat u like slaves, and its upto u if u want to take challenge. 

but, if ur salary is decent at ur current job and has appropriate opportunities, they perhaps its a better choice not to leave. most core engineering jobs dont look so technical, i know..... but as long as it sustains ur life it's a job.


----------



## Nerevarine (Mar 25, 2015)

If you were in mechanical engineering, you should have some minor experience in C coding right ? If so, Id suggest you develop it further and immediately jump to python .. 
Typically in institutes, they would teach C++ and Java.. both of which are also good choices.. but IMO, python is much easier to get into for a beginner.. Also im tagging  [MENTION=77264]Vyom[/MENTION], he might answer this better as he's a full time programmer ( i think)


----------



## Vyom (Mar 25, 2015)

Deadman said:


> Being a mechanical engineer and ending up doing some crappy job which i absolutely hate i want to shift my path to programming.
> Coding is not a joke i know but will 1 year of hard work can get me a job. Atleast i will love what i am doing though i have never code before.



You say if you do programming, you would be 'doing somethnig which you love'. But you also say you never programmed before.
So are you just speculating that you "would" love programming? 

I am asking this since if you think Felicity cracking her fingers on a keyboard and hacking secret military organization in seconds, is NOT programming. (Or if you didn't get the Arrow reference, it's not the typical hackers who are shown in films).

Programming isn't glamour. Programming is often mundane activity being performed late in night, or under your Team Leader's pressure and it requires to support your tools in extra time. Programming is not just the end result, but the process of conception, planning, drawing a framework, developing a prototype, creating the tools/softwares/service and then testing it for eventual bugs that would creep up no matter how carefully you have programmed it. And then listening from the clients that they "actually wanted something else". Programming is "not just coding", it involves various other aspects that one probably never think of before .

Programming is not programming, it's actually a Mindset. Mindset of "problem solving" abilities, and a mind that tries to get into the "how". Bonus marks if you also try to get into the "why" of things. (Mostly, to think over "why" is a Manager's job). Programming is also the "willingness" and the "attitude" to solve things that most of the time would seem impossible.

Yes, it's a rewarding experience. To be able to create something from nothing and seeing it in action have a feeling that not most can experience.

So first think about that. And then we can proceed further.


----------



## Desmond (Mar 25, 2015)

Since you are new to programming and not from a Computer Science background, it would be wise if you brush up some fundamentals first.

The most fundamental thing that is the very foundation of programming is Boolean logic. I'd suggest you study this in brief (no need to go in depth) before you begin to learn a programming language. Also, you should try to learn algorithms and flow charts.


----------



## Deadman (Mar 25, 2015)

Vyom said:


> I am asking this since if you think Felicity cracking his fingers on a keyboard and hacking secret military organization in seconds, is NOT programming. (Or if you didn't get the Arrow reference, it's not the typical hackers who are shown in films)..


Never thought about this stupid things. I think more of as an app developer. Because of scarcity of resources, material before i could not learn but may be i can start as a hobby and if i am good at it i will look for a job.


----------



## RCuber (Mar 25, 2015)

Deadman said:


> Never thought about this stupid things. I think more of as an app developer. Because of scarcity of resources, material before i could not learn but may be i can start as a hobby and if i am good at it i will look for a job.



Never make you hobby your job. you cannot enjoy both. Thats what happened to me. 

How much time have you spend on researching on what kind of job you want to do? What are the backup options you are having just in case you take the gamble and fail miserably? can you risk getting into a entry level job with low pay? because when you switch your career to something new you will be treated as a fresher.

if you want to get into app development then start with HTML5 apps. later you will need Java.


----------



## Mr.Kickass (Mar 25, 2015)

True, coding is a broad term. Coding for what ? Industry ? Function ? One can even code scripts using Python, hence the excellent advise given above.

All the Best


----------



## Deadman (Mar 25, 2015)

RCuber said:


> Never make you hobby your job. you cannot enjoy both. Thats what happened to me.
> 
> How much time have you spend on researching on what kind of job you want to do? What are the backup options you are having just in case you take the gamble and fail miserably? can you risk getting into a entry level job with low pay? because when you switch your career to something new you will be treated as a fresher.
> 
> if you want to get into app development then start with HTML5 apps. later you will need Java.


I am currently on a low pay job so it doesn't matter much as for now. But if i get some guidance here i can make most of it as i have got some genuine contacts out there.


----------



## Vyom (Mar 25, 2015)

Deadman said:


> Never thought about this stupid things. I think more of as an app developer. Because of scarcity of resources, material before i could not learn but may be i can start as a hobby and if i am good at it i will look for a job.



Now you are talking sense. Take it up as a hobby. If you are totally new to programming, you can only grasp the concepts, learn some programming language gain hands-on experience in making algorithms and solving mathematical problems using code. There's only so much you can do in a year.

If you intent to go into App development, you should try learning, HTML5 and Java as suggested already. Start it as a hobby as you said. Then you can start to look for a job, if you believe you can pursue it full time.



RCuber said:


> Never make you hobby your job. you cannot enjoy both. Thats what happened to me.



That seems counter intuitive, but if I think about it, yes it does make sense a bit. That's little deep. Maybe you can elaborate what happened to you. Maybe some other time, if not on this thread.


----------



## rhitwick (Mar 26, 2015)

Vyom said:


> You say if you do programming, you would be 'doing somethnig which you love'. But you also say you never programmed before.
> So are you just speculating that you "would" love programming?
> 
> I am asking this since if you think Felicity cracking her fingers on a keyboard and hacking secret military organization in seconds, is NOT programming. (Or if you didn't get the Arrow reference, it's not the typical hackers who are shown in films).
> ...



Wah wah wah

Mere to aankhon mein ansu a gaye bhaisaab!


----------



## Deadman (Apr 1, 2015)

Can someone explain the necessary steps besides learning programming languages.
Also as an entry level programmer which field will be more suitable.


----------



## JojoTheDragon (Apr 1, 2015)

Well, 1st off its career, not "Carrier". thank you very much.
Try out coursera and edx for learning new programming languages.  I recently join a course that teaches you the basics of coding using Scratch. Its  a neat lil' program developed by MIT. And the beginner's java course starts in a few days in EDX. Try and get the paid certificates. I'll help you, i think. 

Myself, i am 2nd Sem CSE Student. So, i don't know much. But do know that its not as easy as people say it. CSE isn't the easiest branch of egg FYI, period.


----------



## sksundram (May 1, 2015)

*@OP.* I have to say it bluntly. None of the answers here are up to the mark apart from the one provided by Vyom. You want to dive in the ocean of programming and that's an applauding thought. One of the hurdles that new divers have to face is that they don't know where to start. There are different computer languages that one has to learn to cross the bridge and finally land up to a job worth satisfactory. I suggest you to choose the path of web development.

First, you don't need a solid foundation of math/algorithms to jump on to it. Second, the time required from start to finish (in the sense that you find a web development job) is relatively much less as opposed to diving into other fields of computer programming. Lastly, It's a high paying field. Web-developers are one of the best paid.

Now, where to start? 

First, watch the video provided below.



After watching the video, you will have a good idea of the path you need to follow. 

Second, how to learn?


This is the first thing that you need to do. Visit this link: HTML & CSS | Codecademy. Click on the big & bold START button. Complete this course. Do sign up when it asks you to. The reason why I mentioned this course is that you will get a fair idea of the things to come/learn in the future. This is just warming up.
Visit this: Learn to Code JavaScript and get a Coding Job by Helping Nonprofits | Free Code Camp. Sign up and follow all the instructions. First you have to complete 800 hours of tutorials and then additional 800 hours of real world projects. You will be sufficiently able to find a job for yourself after that. But you have to hone up your skills further and for that you have to practice, practice and practice.
If you know how to workaround something which doesn't come free then take a serious look at *teamtreehouse.com/. When it comes to teaching web technologies, they are the best. I strongly recommend you to follow their videos. They are much detailed and follow a very agile path.

I don't want to clutter your mind by providing additional useful resources as there are many but for now just do as mentioned. Just follow along and practice. That's the way to success.

All the best.


----------



## Deadman (May 2, 2015)

Really thankful for your efforts in giving a step by step guidance. Surely gonna follow this.


----------



## ankush28 (May 24, 2015)

Learn and understand computer science - logic, algorithms... Programming is just tool for CS 

Start here - *cs50.edx.org It's online edition of Harvard University's CS50.
~4 month for CS50x  (Teaches you Scratch, C, Data structures, PHP, MySQL, HTML5, CSS3, JavaScript, jQuery)

~2 month for mastering any language

Within 6 month you'll have enough knowledge to get a job.

I am getting my mechanical engineering diploma next year. I don't hate it, I just love C.S. too, so I took CS50x. Currently I am working on final problem set and final project for CS50x  >.<

Watch the trailer!
[YOUTUBE]1Cvp1lZaE2w[/YOUTUBE]

And here is Steve Ballmer(Former CEO of Microsoft) "selling CS50"

[YOUTUBE]El2mr5aS8y0[/YOUTUBE]


----------



## Deadman (Jun 2, 2015)

I have started cs50 course and watched few videos but due to limited  Internet problem i am not able download cs50 appliance.1 week is already over now and i have not submitted any project. Also there is no notification in my email or something telling me to complete the project. 
I intend to do this course seriously and for certification as well but as for now i am learning python so i dont want to get mixed up.


----------



## ankush28 (Jun 5, 2015)

Deadman said:


> I have started cs50 course and watched few videos but *due to limited  Internet problem i am not able download cs50 appliance. *1 week is already over now and i have not submitted any project.* Also there is no notification in my email or something telling me to complete the project. *
> I intend to do this course seriously and for certification as well but *as for now i am learning python* so i dont want to get mixed up.



1. Ask on *www.facebook.com/groups/cs50/ you'll probably find someone in your city. Ask for help.
2. They will never notify you for submitting psets and final project. You just have to submit it by yourself... before 31st jan to get certificate.
3. I used to think python was best as first language, after taking cs50 my view is completely changes. C is much better as first programming language.


----------



## panwar29.ankit (Aug 13, 2015)

sksundram said:


> I don't want to clutter your mind by providing additional useful resources as there are many but for now just do as mentioned. Just follow along and practice. That's the way to success.



Really helpful ! Is there a site like codeacademy.com for SQL? CodeAcademy doesn't have anything on SQL. The online environment for execution and learning is really great but i need something similar on SQL.


----------



## sksundram (Aug 13, 2015)

panwar29.ankit said:


> Really helpful ! Is there a site like codeacademy.com for SQL? CodeAcademy doesn't have anything on SQL. The online environment for execution and learning is really great but i need something similar on SQL.


Visit SQLZOO. It will get you started. SQL is pretty easy to master. But you don't use it as a standalone tech. You use it in conjunction with other technologies like PHP, Java, etc.

You can check these two courses for an in depth understanding:
1. Beginner - Database Foundations Course 
2. Beginner - *www.youtube.com/playlist?list=PL_RGaFnxSHWr_6xTfF2FrIw-NAOo3iWMy
2. Advanced - Using PHP with MySQL Course


----------



## isaac12345 (Aug 21, 2015)

Deadman said:


> Being a mechanical engineer and ending up doing some crappy job which i absolutely hate i want to shift my path to programming.
> Coding is not a joke i know but will 1 year of hard work can get me a job. Atleast i will love what i am doing though i have never code before.



Maybe its the crappy job that's not applying your mind. Do remember that most companies in India treat their youth as cattle unless they are from certain branded backgrounds like IIT, IIM etc. Talk to your manager about it and ask him what kind of work can you expect in the future. Be fairly straightforward because Indian managers have a habit of beating around the bush.

If you are still into mechanical engineering, try this company called grey-orange robotics. Their work is tough but would be rewarding. I often call companies up and say I want to try their admission test and they send something over email. You can try it with these guys as well as other mechanical engineering companies.

If you are going into coding, my only advice would be is to be careful of companies that get outsourced work from abroad as a major part of their business model is to underpay workers to make profits rather than actually create good software and sell it out like microsoft,infosys,etc.

You should also look into new fields that are coming up that cannot do without mechanical engineering like consumer 3D printing. That might give you a feeling that you are part of something new and big!


----------



## kunnusingh (Aug 27, 2015)

Nothing is easy but If you have a guts then learn programming and make some software and sell it on internet by subscription method. 

I don't like doing a job under someone else company.


----------



## Deadman (Aug 28, 2015)

isaac12345 said:


> Maybe its the crappy job that's not applying your mind. Do remember that most companies in India treat their youth as cattle unless they are from certain branded backgrounds like IIT, IIM etc. Talk to your manager about it and ask him what kind of work can you expect in the future. Be fairly straightforward because Indian managers have a habit of beating around the bush.
> 
> If you are still into mechanical engineering, try this company called grey-orange robotics. Their work is tough but would be rewarding. I often call companies up and say I want to try their admission test and they send something over email. You can try it with these guys as well as other mechanical engineering companies.
> 
> ...



I am learning coding now so going backwards is not the best option for me now. Will keep this in mind though.

- - - Updated - - -



kunnusingh said:


> Nothing is easy but If you have a guts then learn programming and make some software and sell it on internet by subscription method.
> 
> I don't like doing a job under someone else company.


Thats a long way to go.. 
But do you know any good resource where i can learn jsp, servlets quickly. Don't suggest java point and such crap sites.


----------



## Deadman (Sep 20, 2015)

hey guys can you provide some source where i can improve my programming from basics upto advanced step by step. I have almost finished codingbat exercises with ease & now I am comfortable in loop logic. I have tried programmr but unfortunately this site is pain in a$$ to load and sometimes doesn't open at all.
I have also tried hackerearth.com but I am not at able to understand the questions at all. I am tired of registering at every site now. Just provide me sites where I can work on OOPS concept.


----------



## Desmond (Sep 21, 2015)

Deadman said:


> hey guys can you provide some source where i can improve my programming from basics upto advanced step by step. I have almost finished codingbat exercises with ease & now I am comfortable in loop logic. I have tried programmr but unfortunately this site is pain in a$$ to load and sometimes doesn't open at all.
> I have also tried hackerearth.com but I am not at able to understand the questions at all. I am tired of registering at every site now. Just provide me sites where I can work on OOPS concept.



If you are very new to programming, first learn Python from learnpython.org

Then first of all get familiar with the language and try to create programs on your own or solve simple problems using it. Once you are confident that you can handle simple problems, then move on to advanced concepts such as OOP using Python.

You cannot learn programming overnight. You will have to invest many months to get decently proficient.


----------



## Deadman (Sep 21, 2015)

DeSmOnD dAvId said:


> If you are very new to programming, first learn Python from learnpython.org
> 
> Then first of all get familiar with the language and try to create programs on your own or solve simple problems using it. Once you are confident that you can handle simple problems, then move on to advanced concepts such as OOP using Python.
> 
> You cannot learn programming overnight. You will have to invest many months to get decently proficient.



As i said I have been practicing loops and reading about java for more than a month and I am familiar with OOPS concepts and all. I just need a source where I can implement it practically. And I also know python but lost a bit of touch after starting JAVA.


----------



## Desmond (Sep 21, 2015)

Then all you need to do is solve problems. Go to a site such as hackerrank.com and solve the programming problems over there using Java. This way you can refine your skills. If you get stuck, you can always ask for guidance here.

Install JDK and Eclipse and start coding.


----------



## Nerevarine (Sep 21, 2015)

DeSmOnD dAvId said:


> Then all you need to do is solve problems. Go to a site such as hackerrank.com and solve the programming problems over there using Java. This way you can refine your skills. If you get stuck, you can always ask for guidance here.
> 
> Install JDK and Eclipse and start coding.



+five thousand


----------



## gta5 (Sep 23, 2015)

How is the Freelance scene here in india ? 

is it possible for somebody to start learning programming from scratch and build up a freelance career without a degree ? say after 3 years of dedicated learning 

How hard it is to break into freelance in india with decent income ? considering it is over populated ? 

if somebody can shed some light on this it would be very helpful for everybody 

Thanks


----------



## Deleted member 118788 (Sep 24, 2015)

gta5 said:


> How is the Freelance scene here in india ?
> 
> is it possible for somebody to start learning programming from scratch and build up a freelance career without a degree ? say after 3 years of dedicated learning
> 
> ...



Well, I started as a Freelancer 2 Years Back and now I am running my own company but I targeted International Clients. You will have a very tough time getting Freelance Jobs in India.


----------



## Deadman (Sep 25, 2015)

Any other sites like hackerrank?? completed most of the exercises in java domain..Still any sites dedicated to OOP, Generics, threads..I want to prepare from job point of view.


----------



## Desmond (Sep 26, 2015)

Do the other problems in hackerrank using Java.

Start with Algorithms track.


----------



## Deadman (Oct 4, 2015)

Are core java concepts enough for interview or i have to dive into swing, servlet, etc.


----------



## Desmond (Oct 4, 2015)

You don't really have to do servlets unless the job requires an understanding of it. Much less Swing. 

But Core concepts are always asked. Therefore, brush up your collections, generics, threads, inheritance, polymorphism, JDBC, some design patterns, XML parsing, etc.


----------



## vickybat (Oct 4, 2015)

Deadman said:


> Are core java concepts enough for interview or i have to dive into swing, servlet, etc.



Swing not required but servlet is a must. These are fundamental pillars of J2EE. No matter what java web framework you touch, be it JSF, Spring MVC , struts 2 , apache ofbiz 
and so on, they are all built on top of the servlet api. Servlets are fundamentals and their understanding will make you clear on whatever framework you touch in future.

This is purely from a java web developer perspective. Core java fundamentals is a must though before moving further.


----------



## Deadman (Oct 22, 2015)

Can you provide source, book for learning servlets. Don't suggest java point.


----------



## Deadman (Nov 11, 2015)

DeSmOnD dAvId said:


> Do the other problems in hackerrank using Java.
> 
> Start with Algorithms track.



For few months all I am doing is solving those stupid strings, arrays problems like a nerd on every site a register. And hacckerrank problems are just frustrating. Its not that i am not able to solve it. But it seems I am done with loops and all. Any further step cause in real world I don't think I will be solving those factorials and strings. There is not a single site which has GUI practice problems.


----------



## Desmond (Nov 11, 2015)

GUI is subjective. You need to learn about UI and UX and then put that into practice. Also, Java GUI does not have a huge market, Java is mostly used for enterprise applications. Therefore, its better if you start learning J2EE instead.


----------



## BakBob (Nov 26, 2015)

Deadman said:


> For few months all I am doing is solving those stupid strings, arrays problems like a nerd on every site a register. And hacckerrank problems are just frustrating. Its not that i am not able to solve it. But it seems I am done with loops and all. Any further step cause in real world I don't think I will be solving those factorials and strings. There is not a single site which has GUI practice problems.



Because most GUIs are a joke. As long as your fundamentals are all right, you can easily slap some GUI on your app and call it day. Hell, GUI is so simple that you could choose to have anything from a simple JFrame to a simple HTML page as your GUI.


----------



## Desmond (Nov 26, 2015)

BakBob said:


> Because most GUIs are a joke. As long as your fundamentals are all right, you can easily slap some GUI on your app and call it day. Hell, GUI is so simple that you could choose to have anything from a simple JFrame to a simple HTML page as your GUI.



You'd be surprised how complex GUI development can be. The complexity progresses exponentially with the size and scope of your applications.


----------



## Deadman (Dec 9, 2015)

Is there any career benefit for ocp certification?


----------



## Desmond (Dec 10, 2015)

Deadman said:


> Is there any career benefit for ocp certification?



Any kind of certification will add weight to your resume. Well known certificates more so.

However, the OCP exam are not easy and requires a lot of study and practice.


----------



## Deadman (Dec 10, 2015)

and which exam should i opt for ocp 7 or 8?


----------



## Desmond (Dec 10, 2015)

Java 7 is still very prevalent. Plus many new features were introduced with it (Date API, NIO, etc.) which form the basis for Java 8.

Java 8 however has new features such as Functional Interfaces, Lambda expressions, etc. However Java 8 is still not as common in production environments. However it might gain traction in the future.

Therefore, if you are already employed or are going to be working soon, then its better to do Java 7 and later get a Java 8 upgrade (Those with Java 7 certification can attempt Java 8 exam with a discount AFAIK). If you are looking to work after about 1 year then Java 8 is better since Java 9 is round the corner.


----------



## ivcannula (Feb 27, 2016)

Career is awesome in Programming and Development. If you are fresher then I suggest you, have patience


----------



## Deadman (Mar 7, 2016)

Anyone here knows about angularjs. I have been put directly to work on it and i am having hard time learning it. Never thought front end would be hard.


----------



## shanmorkel1685 (Jun 6, 2016)

Hi, I learn coding 4 years back. After I am not related to any programming, Now I am interested to learn android, How can I start to go forward ?


----------



## Desmond (Jun 6, 2016)

shanmorkel1685 said:


> Hi, I learn coding 4 years back. After I am not related to any programming, Now I am interested to learn android, How can I start to go forward ?



How good is your Java?


----------



## shanmorkel1685 (Jun 13, 2016)

Almost like a fresher...


----------



## Matthew Arnold (Sep 29, 2016)

Hi Deadman! You have great thinking in start a career in programming.If you opt to pursue a career in computer programming as a freelance contractor, you needn’t lease office space or chain yourself to an etched-in-stone work schedule. More and more in the world is using software so your decision is right.


----------



## sampada (Oct 7, 2016)

The most essential thing that is the very establishment of writing computer programs is Boolean rationale. I'd propose you examine this in a nutshell (no compelling reason to go top to bottom) before you start to take in a programming dialect. Additionally, you ought to attempt to learn calculations and stream diagrams.


----------



## tekiagadi (Nov 18, 2016)

Yes, Carrer in Programming will be good.


----------



## argalon (Nov 18, 2016)

Deadman said:


> Being a mechanical engineer and ending up doing some crappy job which i absolutely hate i want to shift my path to programming.
> Coding is not a joke i know but will 1 year of hard work can get me a job. Atleast i will love what i am doing though i have never code before.



I think one year would be cool if you know somewhat programming and if you are a fast learner. Coding is a vast area to learn and explore. Thought process needs to be very active and strong!


----------



## Desmond (Nov 18, 2016)

argalon said:


> I think one year would be cool if you know somewhat programming and if you are a fast learner. Coding is a vast area to learn and explore. Thought process needs to be very active and strong!



Did you see the date of the post that you are replying to?


----------

