Women in Tech: From Java to Apex – A Straightforward Curve
Swathi Ramini came to the NYC Salesforce1 Tour last month armed with tough questions for the DevZone staff. She had just rolled out a custom mobile app for her team, and wanted to understand the nitty-gritty details about the Salesforce1 Mobile App. She got her answers, and I got her story.
Welcome to the third in a series of posts highlighting women developers. I’m trying to get a better understanding of the under-representation of women in STEM fields, so I’ve been reaching out to our community. What I’m finding is that women are out there, coding away, and I want to share their stories and advice.
Swathi Ramini (@sramini) came to the NYC Salesforce1 Tour last month armed with tough questions for the DevZone staff. She had just rolled out a custom mobile app for her team, and wanted to understand the nitty-gritty details about the Salesforce1 Mobile App. She got her answers, and I got her story.
When did you learn to code? What do you love about it?
I am from India. I got my BA in Computer Science, and I loved programming. In my 3rd & 4th years, I had the opportunity to work for a company as an intern. I learned most of my programming skills there. From there on, I just loved what I was doing, and so I kept doing programming.
I like programming because I always had a fantasy when I was a kid about how computers work. I first learned by building small shapes, and I was very interested in graphics. I love that every time you implement a feature, whether it is a web app or a stand-alone app, the way the computer takes that code and how it works – that completely fascinates me.
In the US, there is a focus right now on encouraging girls to explore STEM (Science, Technology, Engineering, and Math) fields. Were girls encouraged to study Computer Science in India when you were growing up?
Yes. I grew up in Hyderabad, which is in the Southern part of India. I attended a women’s college. 120 women started that Computer Science course. Many girls are interested in the technical courses in Hyderabad. I have cousins who were raised in the US, and they and their friends do not tend toward technology.
What is your advice to parents of young children who want to spark an interest in technology?
If a kid is not interested, then I don’t think we should force a kid into technology. We should give them opportunities to find out if they are really interested. Send them to a training class and see if they like it. My father was an engineer, and when he talked about technology, he would explain why things happen. That slowly made up my mind: if I learn technology, I will get to know this.
What is it like being a woman in this field?
It is challenging in the IT world where the competition is very high. Currently my team has more women developers than men, and I enjoy working with this team more, compared to being the only woman developer in my previous companies. In my experience, I learned that I needed to lean in and step up for myself to grow in my career.
How did you get started with Force.com?
I came to the US to do my Masters in Software Engineering in California (at San Jose State). After my Masters, I worked as a Java web developer. In one of my companies, they had a transition to salesforce.com. At that time, I took the 401 and 501 training. From then on, I switched my whole career to developing on Force.com. It’s been almost three years. So far, I really enjoy coding on the platform.
Would you recommend a Force.com career to other Java developers?
Yes. I see salesforce.com being implemented in a broad range of industries. Earlier it was just finance and healthcare, but now I see it everywhere. I think the opportunities are great in the market.
How was the learning curve from Java to Apex/Visualforce?
It was a straightforward curve. If a Java programmer looks at Apex Code, in a minute they can grasp what’s happening in the code. I did have a transition period for learning how the platform works, to understand the cloud-based aspects. It didn’t take much time to learn how to code, though: Apex is similar to Java and Visualforce is similar to JSP, and includes HTML and CSS.
What are the best resources for developers?
The Force.com blog and community are the best way for developers when they get stuck, or want to learn about new technologies. Whenever I have a challenge, I consult with the other developers in the community. I am thankful to them. I have never had to ask a question because they have all been asked and answered already, so I only use the boards by searching. I also highly the cookbooks with best practices and code samples.
Do you have any Salesforce certifications?
Yes, I have the 401 (Developer) certification, and I am planning to get the 501 (Advanced Developer) certification this year.
Did you attend Dreamforce ’13? If so, what was your favorite thing?
Yes. Everything was a favorite, because it was my first Dreamforce! I attended some of the Hands on Training Sessions which were really very very helpful. I liked learning about new technologies, too, and talking to developers about mobile. I also enjoyed doing some of the mini-hacks.
Tell me about your current Force.com role.
I am a Senior Salesforce Developer at Teach for America in New York City, maintaining all of the customizations and supporting all of the teams who use Salesforce, and supporting multiple integrations.
Teach for America recruits core members to train them, mentor them, and send them to remote areas to teach & help kids with academic work. Teach for America maintains a CRM application for case management, donations, recruitment, and alumni management. It is a two-year program. From the point that a student is interested in being a core member, the lifecycle is maintained in salesforce.com.
We have two Salesforce instances: one for core member tracking and one for the Job Science recruiting application (available on the AppExchange). We have the second instance because we have Person Accounts enabled in the CRM instance, and Job Science uses Account/Contacts, not Person Accounts.
You recently rolled out a custom mobile app. How did that project get started?
Our Recruiting team wanted it. They go to remote places, to college campuses and schools, to recruit students. They don’t carry their laptops on those visits. They used to talk to people and make handwritten notes, and then come back home and write their meeting notes into Salesforce. We focused on that one use case as a pilot. We developed a single-view page to capture data for five objects. It is a responsive HTML5 app, using Visualforce, bootstrap CSS, and JQuery, and working on a tablet or phone. It lets recruiters immediately enter information about the student’s education experience, interests, etc. We got a good response to that pilot, so now different teams want a mobile solution.
I know you were digging into the Salesforce1 Mobile App at the NYC Salesforce1 Tour. How does it compare to a custom mobile solution?
Salesforce1 is really good for people who use the salesforce app a lot, and need it when they are traveling. As a developer, though, I don’t see it reducing my work drastically. I still need to code for the complex use cases, like the Recruiting app example that needs to combine multiple objects on one page. But, that Recruiting page plugs in to the Salesforce1 app seamlessly, because it is a Visualforce page that was already responsive.
I’ve met many admins who are interested in learning to code. What is your advice to them?
It is definitely doable. In my previous company, I worked with a pure admin who learned Apex and Visualforce with no programming background, just having experience with macros in Excel. For people without a programming background who want to learn Apex, I recommend learning the basic object-oriented concepts first before dropping into the Salesforce world. Then, learn step-by-step: how to create the object structure, what are the variables etc., using the Apex Workbook.
My recommendations for learning object-oriented concepts:
p.s. New York City has some pretty awesome Force.com developers. Join them at their next meetup!