Thanks for sharing! It seems like a really positive scene to be a part of, I'm glad you've got so many people you can talk to about things you're interested in :)
- My normal day begins around 10.30 (but if I had a late night, I would probably get in at 11.30). On an average day at Hashnode, you can find us talking about a new feature or building a new feature or fixing bugs. I think my favourite part about working at Hashnode has to be how anyone in the team can bring about a change in the product or come up with a feature and have it shipped really fast. For instance, the hot discussion sidebar was made in less than a day. We also have a really less number of meetings compared to the other companies I've worked for and we almost operate on auto pilot. We all know what we're going to be working on the next day when we leave work. Another thing we actively do is to keep an eye on the all the questions, links and stories coming in and answer them, as and when we can and of course, moderate them as well. The day ideally ends around 6.30-7.00 in the evening, which is when we go home. Now, Hashnode has become a lot like Facebook for us, in fact we keep checking it every now and then even in the evenings and if we come up with something on the fly or see a bug, we tell each other about in on Slack and have a little discussion, there and then. Besides all the serious stuff, we do have a lot of banter going on throughout the day, our topics of discussion ranging from Donald Trump to House of Cards to Lord of the Rings.
- I went to a school called Manipal Institute of Technology and studied computer science there. As a part of my final semester, I had to do an internship and that's how I got introduced to the software industry. I interned at this company called Altair Engineeing as an backend engineer and joined them as a full time employee, after graduating college. An year later, I moved to this CI/CD start-up called Shippable, and I think I wanted to figure out how the start-up ecosystem worked at that point. Fast forward a year later, I heard about Hashnode and it was love at first sight and here I'm today.
- The tech scene is pretty active in Bangalore, you have tons of events (Meetups, Hackathons etc) about almost everything. Even outside of these events, most people I run into are engineers (in fact, both within my family and friends circle. Once, I wanted to get away from all the tech chaos and meet someone from outside the tech world and got on Tinder, but boom, I still met a backend engineer. The entire date was spent on a PHP VS NodeJS debate :D). So, the usual chatter is like "Hey, they raised X million dollars or hey, did you see that podcast". I sometimes do get annoyed of the fact that most people I run into are from the same industry as I'm, but, I think it's definitely nice to have so many smart people around.
- I wouldn't use the word advice, since I'm figuring things out myself (and I don't think that's ever going to stop, Haha), but I can definitely talk about what has worked for me and if it could help some college kid out there, I would be really really happy. I think it's very important that you have to become a developer by choice. It shouldn't be something that's forced on you (like how it's the case usually in India). Once that's sorted out, just pick a stack of your choice and build something simple. Then, try to get an internship at a place where you think you'll get to work with smart people who can point you in the right direction. Then, you just convert that internship into a full time opportunity. Most importantly, never stop learning. Try to learn something new every week.
Hi Tommy Hodgins Here are my comments..
- I am not doing a lot of programming these days. I mostly review PRs, comment on them and work with other team members to make code production ready. When I don't work late night, I come at around 10.30 am and leave at around 7/8 pm. But when I used to work for my previous company, I used to be at office at around 9 am and leave for home at around 6.30 pm. I think most software developers in India (who work for a company) follow this schedule. However, there are also startups who allow flexible timing i.e. you can come late (maybe 11/12) and leave office once you are done with your work.
- Frankly, the university curriculum didn't have anything substantial to offer. The courses like Java, C++, Algorithms, Web Technologies etc were fun, but didn't teach anything practical. I read and built things on my own and taught myself technologies that I use today. I am both trained and self-taught programmer.
- I live in Bangalore (aka Silicon Valley of India). The tech scene is pretty good here. There are a lot of conferences, tech events happening here all the time. Startups like us to big companies like Google, Amazon etc.. have set up their offices here. So, if you are a programmer or startupper - Bangalore is the place you should visit. Other Indian cities like Mumbai, Hyderabad, Chennai, Pune, NCR etc have good tech scene as well.
- Advice - If you live in India, it may be good idea to get a degree. But always be learning and never be afraid to teach yourself stuff outside college curriculum.
I fully agree with what Andre Staltz says:
Also, check out this AMA. Lots of interesting opinions.
Until a few weeks ago, my workdays used to look exactly like the ones Sid has mentioned in his answer (as I used to work at Hashnode :). These days I head an engineering team modernising legacy e-Governance applications — so my current workdays align with the ones Ritwik mentions — get in at around 10:30-11:00 AM in the morning, and I try to wrap it up by 10:30 PM.
I have always been in love with computers. My dad enrolled me in a C++ course when I was in 7th grade; this was around 2002, if I recollect it right!
Fortunately, I've graduated from a college — probably the only college in India with no required attendance whatsoever — which put a high emphasis on student freedom, and their all round development.
This meant that the curriculum for the first two years was almost the same irrespective of your chosen major — Programming & Algorithm Design Fundamentals, Basic Electrical Engineering, Intros to the aspects in Civil Engineering, Mechanical Engineering; through various courses!
Also the fact that you were free to choose any elective (from any major) you want meant a lot of Computer Science, and some Math electives for me. My favourite electives to date — Graph Theory; Multimedia Computing; Internetworking Technologies.
Oh, and I graduated with a dual honours degree — Bachelors in Pharmacy; and a Master of Science in Biological Sciences! :)
Network Security Intern
I have always thought I would end up as a Computer Networks engineer! Even back in college I used to work with a professor setting up IPv6 (when it was all new) test-beds, and studying a whole bunch of protocol RFCs.
This landed me an internship as a Network Security Intern, where all we did was setup CISCO NAC servers. It was complex in the sense of figuring out and setting up the configuration; but it was not cognitively complex, and was not mentally stimulating, as such. But I thought it was cool, nevertheless!
Something rubbed me the wrong way, and I figured Computer Networks aren't probably for me, this is when I decided to get back to programming; albeit just as a hobby
Fast forward a few years with hobby programming, attending related events, and being a speaker in a couple of them; I ended up in a Computational Biology lab. Here my main job was to create software to ease the life of the fellow biologists in the lab.
But with due permission; I have also chosen to impart the PhD scholars (they are super smart, so it was a right choice) with what little I know about programming. This by far was the most interesting work experience I had.
Through a mutual acquaintance; I have come to know of a talented CTO (who is now a Masters student at MIT Media Lab), and a small Software firm that he used to head. I wanted to be his padowan, and he accepted my request! I give all the credit for my Frontend Engineering proficiency to this position!
But when I heard that Sanjay (the CTO chap) was leaving (for MIT), I knew I had to leave too!
Full Stack Engineer | Developer Evangelist
When I first visited hashnode.com I was blown away! It was a super well designed, awesome, welcoming community! I saw that it is incorporated in Delaware.
Only later did I come to know that the team is from Bangalore; and my gut feeling was that whoever is making this has got to be insanely smart (SPOILER: they are!); and I needed to take a shot at joining this team. I did, and I did! I have learnt a lot at Hashnode!
Huge props to Sandeep, and Somasundaram; they are excellent engineers! While I learnt a lot about Mongo, and Database design from Sandeep; I have learnt a lot of awesome tooling from Somu for increased developer productivity, and aids to write clean code! I've found that the rest of the team is super amazing in what they can do too!
I'm still a full stack engineer, but at a different company... the journey is still on!
Tech scene in Bangalore
As Sid has pointed out, the tech scene here is pretty rich with everything (meetups, hackathons, conferences) for everything (all languages, technologies, etc...)
I frequent the React Bangalore Meetup, and have given a couple of talks here!
What worked for me!
- Surround yourself with smart people — if I am what I am today, it is only because I was fortunate enough of the company I had. Make an effort to be around smart people on a daily basis (that is why I visit Hashnode everyday). There is a saying which I quite agree with
You're the average of the five people most close to you!
- Keep doing what you love, and people will come knock at your door!
This answer has received 1 appreciation.
I work at a small startup called venuemonk.com where I was solo coder (CTO) till a few months back. It was due to a variety of reasons that I ended up learning coding in node js and learned a plethora of coding concepts and techniques.
- I start my workday at around 10:00 AM and end it around 10:30 PM or so. I usually have a few periods of talk and lunch time with colleagues and thinking on product decisions with other founders.
- I used to code in college to solve math problems or code websites for fun and freelance. I learned a few things in and out for hacking and productivity like python scripts etc. I ended up learning in a more productive manner when I started up. I had a lot of help from friends in college to set me up with tools and guides to learn. Clear my doubts in the early stage, even now I catch up my doubts from day to day progress or bugs.
- I am a technical founder in the team and product guy. I end up being called for all startup tech-events or product launch events. It is fun to hangout at meetups and learn new things. I always try to know enough to know what is relevant for work and what is just fun to know. It is tempting to try new things out for work but it needs a more rigorous thinking to implement.
- Be fearless and focus on having a group of motivated people to cheer you on.
This answer has received 1 appreciation.
Great Question !
1.Well , I work for TCS and a normal days starts at around 10:00 AM, mostly with normal project related / non-project related discussions with the team until we join the Agile Stand-Up call (team is distributed across 4+ locations) So we have the call on either VoIP or Video conference sometimes. Where everyone gives status of their work (How much their user stories are completed, challenges they are facing , what they are going to be working on today etc .. normal 2-3 mins per person).
Rest of the day i either write code for the requirement, prepare UTS, checkmarxs, sonar cube issues, other documentation regarding the requirement. Sometimes, if their is some production issue we need to check that also. As the requirement is fixed and we have fixed number of user-stories to work on .. Enough time is left with us (1-2 Hrs). So, i either spend it on Medium or watching some conference videos on Safari / youtube / lynda .
2.From education perceptive , i have done B.Tech in CS as most of the engineers in India do :P . I have a lot of interest in programming so everything is self taught apart from the little networking , ds algo's i have learned in college.
Current Tech Stack : Java, Spring, Spring Data, Postgre, Angular JS.
I love to work on these (Part time) : React, Node, PHP, Angular, MongoDB
3.I currently live in a tier 3 city and their are little to no tech conferences. So, never got chances to attend them. However, i love conferences and watch them regularly (JsConf, hasGeek, FrontEndTrends , Google developers Conf, Oreilly conferences). I'm planning to move to Silicon valley of India :D.
4.My advice to people moving into tech. Learn as much as you can their is no end. Self learning is the best and don't rely on someone to teach you or force you to learn something new. Watch conferences they really helps to enlarge your perspective thinking and keep you on track with the changing technology world. Try to work on side projects (Personal / Freelance dosen't matter) they will help you to speedup development of your skills.