Howdy dev.to peeps!
I'm curious what your stories are - how did you start, where are you now and what did it take to get from point A to point B? Extra points for gory details about the journey
I'd love to hear from people at all points in the path, from folks just starting out to people who've been on it longer than I've been alive.
Top comments (17)
I guess since I'm asking the question, I'd better tell my own story...
I started coding sometime in either the late 90's or early 2000's. My first coding was really simple websites and javascript. Later, in college, I coded a fair amount in Python for physics simulations. I also coded in Java for intro programming classes.
After graduating, I worked at the US Patent Office for a couple years and didn't really do any professional coding. I did keep tinkering with some of my physics simulations - mostly fine tuning a solar system gravity and relativity model.
In 2009, I was hired at NOAA as an applications developer. I started with junior developer tasks - bug fixes and implementing simple new features, mostly for our email handling daemon. I graduated to implementing new systems from scratch.
The first new system that I designed was an electronic logbook for fishers in the Bering Sea. It is still running and helps them report how much fish they caught, and where, as well as other activities they did during the day.
As I gained skill, I accumulated responsibilities. I became the lead developer for our internal permit issuing application. I created a continuous integration environment and pushed the region to use Maven for Java projects and node+npm for front end projects.
After running the internal permitting system for a while, some shortcomings became apparent. The system was composed of multiple independent domains, each with their own stakeholders and release cycle, but everything was tightly coupled together. At first I patched things together with increased testing and automation, and human-process spackle.
After a certain point, I decided a significant refactor was required, and gained management and stakeholder support for the refactor effort. I developed an architecture to facilitate splitting the system into its child domains, so a problem in domain A is not a problem for domain B. I settled on a message bus based architecture with small domain-specific services talking to each other over a queue.
Meanwhile, on the front end, our Adobe Flex based system clearly needed replaced with JavaScript before the sun set on Flash in the browser. I have been working with a small team to develop a RESTful gateway for the message bus and a collection of React-based JavaScript apps to replace the Flex monolith. We are also taking the opportunity to implement a workflow based system that guides users through the steps they need to take in the order they need to take them.
Now my days look like some front end coding here, some backend coding there, some mentoring here, some planning there, and lots of creating automation.
I started dabbling in Frontpage as a pre-teen. Soon I got tired of the limitations and learned HTML and CSS from a free online course. A few years later I met a guy in an online game who could code PHP and he agreed to teach me. I kept with PHP for a few years.
I did a forum-style role playing game website with together with my then boyfriend. After a while I felt I had learned enough that everything needed a rewrite from scratch. My life got busier and by the time I was somewhere near finished I had mostly stopped role-playing online. So it ended up never actually being used. It was a good learning experience though.
Fast forward to high school where I had my first real programming class. The language was Java and back then IRC was the thing so my final project in class was an IRC client.
This was my first experience with reading standard specifications.
I also got my first online based job at this point. I did image conversions and some other graphics work for a webshop.
At this point I already knew I wanted to do a CS degree. And so I did.
At the first Friday bar at University I was approached by some guys who wanted to start their own company. They wanted a few coders to take care of the technical aspect and so I signed up. At first the idea was pretty wide. We wanted to help startups with accounting, marketing and their online presence. However a few guys dropped out some months in and we realised we couldn't do everything.
So we decided on websites to be our thing. I kept working with PHP, starting to learn frameworks and CMS like WordPress, Joomla and Magento.
I learned A LOT from this experience. Both professionally and personally. I learned that running my own company wasn't my thing.
Coming the end of my bachelor's degree I sold my share and decided to focus on my studies instead. The selling price was a fairly large amount for a student, but very little compared to the hours I had put in. The experience was worth it all though.
I quickly missed the little extra money working had provided me. And so at the start of my master's degree I found a job at the University IT department. I put PHP away and started learning .NET and learned about test automation with Selenium.
To neatly tie everything together my Master's thesis was on static analysis of PHP. Getting back to where it all started.
While finishing up my Master's thesis I got approached on LinkedIn by a major IT company. They wanted me to apply for their graduate program. I didn't get past the second round of interviews for that. But it got me thinking. There must be other graduate programs like that.
Fast forward a month and I came across an ad just barely before the application deadline for another graduate program with a major IT company. I applied and this time I got through all the tests and interviews. A month before my my Master's thesis defence I had a job waiting for me to start a few months later. Perfect timing.
And this is kind of where my story ends. Or begins. I have been working as a consultant for almost 3 years now, but this is just the beginning of my professional career.
In the past 3 years I have learned that experience is really key. Keep coding, be it part time jobs or open source projects or hobby projects. Getting experience is what moves you forward.
I also learned that working on a large project with a huge legacy code base means you spend a great amount of time reading and understanding code. Even just to change a tiny bit.
I learned that I love automation and that I sometimes need to remember the xkcd table detailing when automation is actually feasible.
So yeah.. If you got this far, thanks for reading my story. It ended up with a lot of details.
I really enjoyed your story. Sounds like you've done some pretty cool things. How did you tackle static analysis of a language like PHP?
I'm happy to hear you enjoyed my story.
We did some simple static analysis of simple types (boolean, integer, string) keeping track of what type was assigned to each variable during the code flow.
Our main focus was on arrays. Since in PHP arrays actually cover both traditional lists as well as maps. So based on the assigned keys and values in arrays we classified them as either of those subtypes.
Furthermore we created a plugin for IntelliJ which used our analysis to provide helpful tips for the user.
I originally went to school to become a nurse. After a semester of pre-nursing school I decided it wasn't for me. I switched my major to Software Engineering. I graduated and started my career as an innovation developer for Colorado's largest Health Information Exchange. That was almost two years ago. I have accepted a new role at a different company. I will not be working in healthcare anymore. I think it will be really interesting to see what else is out there. I do side projects on the side because my full time job is mainly in .NET. I have a huge passion for mobile development and want to pursue my skills in that direction. That is my story so far. It is still being written :)
It sounds like you're not completely wild about .NET - what are your side projects? Do they help keep you going, or are they professional growth, or nascent businesses, or ?
Actually, I really enjoy .NET! My side projects are a couple mobile apps and a website for a friend's business. These projects do help me keep going. Currently, I am working two jobs and and starting a business on the side. It is hard to keep up sometimes but it gets me up in the mornings. I would also say the side projects are professional growth. I am early in my career so I take every opportunity to learn.
Started coding on Neopets.
Went into college as an Econ major. Bombed all my econ classes because I hated it.
Switched over to CS since I fell in love with coding after intro to cs and here I am! I've been coding for about 4 years now.
Neopets! Awesome!
What do you feel like the transition from a CS degree to working professionally was like? How do you think you've changed from new grad to seasoned pro?
It was pretty smooth since I did a lot of research and had a lot of support from the cs community at my university! I just wish I considered CS before Econ but I didn't even know Neopets was "coding", I just wanted pretty layouts for my pet haha.
I feel like I am still a new grad in that I'm learning stuff every day :) So I wouldn't say I'm a pro yet... maybe in a few years!
I get into a computer engineering school 7 years ago and that's when I started coding. In my fourth year I discovered web development in depth and I loved it. I graduated 2 years ago and started working on a public company as a developer, I used JavaEE and PHP to create some web applications, the most important one is a e-payment website using JSF and SQL Server database and Integration Services. I moved into a startup 3 months ago where I'm do backend dev using Phalcon PHP and also some frontend work. I wrote my first (and only) article here about my struggle to find the dream job in these first years of my career
Career first experience and struggle as a software engineer
imad
I used to work e-commerce and was a project manager/operations guy at my previous employer, they went bankrupt and in a weird shift of fate I was held on to help finish the transition. There were two companies smashed together and they needed my help breaking them apart. Spent a lot of time waiting on projects and assignments. (hard to take initiative on a company that doesn't exist anymore)
In my downtime I spent a bunch of time with one of the dev's who was doing the actual split from the code side. She sorta angry mentored me into getting the programming itch and helped me get rid of my rose colored glasses quickly but still see the fun and challenge in coding. As a result I spent the rest of my time there teaching myself to program.
During the slow time I started an Ecommerce/SEO consulting business with an ex manager and somehow it went from ecomm consulting into "I need my website redone" this happened a few times and a year + later I'm still unemployed officially but on the side I do a little consulting and website work. I still feel like I have both my feet on either side of the fence, half of my work is pure operations and management and the other is web dev and such. Looking forward to the day where I can be 100% on the software side!!!
I love how you fell into coding, that's pretty cool!
Good luck on getting into a less ops-focused role, but I've got to say, people who can do both are pretty valuable in my book
Here is my story.
Part 1
Part 2
Great discussion! Definitely want to come back and tell my story when I have a second.
Was it the sweet unix setup, or was it Samuel L. Jackson that put you over the top?
I've thought that the 'spare no expenses' crappy theme park management probably has a great board or video game in it somewhere